Szczegóły ebooka

Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone

Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone

Rick Waldron, Andrew Fisher, Lyza Danger Gardner

Ebook

Powszechnie JavaScript uważa się za doskonałe narzędzie do programowania aplikacji internetowych. To jednak nie wszystko: ten język świetnie nadaje się również do programowania robotów. Umożliwia zaprojektowanie zachowania robota, określenie, w jaki sposób będzie on zmierzał do celu, reagował na sygnały z otoczenia, oczekiwał na instrukcje czy omijał przeszkody. Bardzo wygodnym narzędziem do programowania robotów jest platforma Johnny-Five. Umożliwia ona programowanie robotów zbudowanych z płytek Arduino, Raspberry Pi i BeagleBone.

Dzięki tej książce można nauczyć się budowania i programowania robotów o najrozmaitszej funkcjonalności i wielu zastosowaniach. Do jej napisania Rick Waldron zaprosił czternastu mistrzów JS — inżynierów, nauczycieli, popularyzatorów i liderów. Dowiesz się od nich, w jaki sposób zbudować poszczególne elementy robota, jakie części zastosować i jak napisać potrzebny kod. Podpowiedzą Ci, jak przygotować sobie warsztat pracy oraz zdobyć potrzebne materiały. Znajdziesz tu mnóstwo wskazówek pomocnych przy planowaniu, budowie i testowaniu już istniejących projektów. Poszczególne zadania zostały tak dobrane, aby po ich wykonaniu można było zabrać się za trudniejsze projekty, o wyższym stopniu złożoności.

Zbuduj i zaprogramuj:

  • roboty kroczące, piszące, pływające, a nawet tańczące
  • domowy zegar słoneczny
  • robota sterowanego głosem
  • robota do sterowania oświetleniem
  • system monitoringu
  • robota ze sztuczną inteligencją
  • robota delta
  • interaktywne buty

Przedmowa (11)

1. Budowanie robotów ze zwykłych materiałów (15)

  • Budowa robota SimpleBot (16)
    • Wykaz materiałów (16)
    • Etapy budowy (17)
    • Instalacja pakietów Node.js (20)
    • Sprawdzenie urządzenia za pomocą podstawowego programu (20)
    • Diagnostyka problemów (21)
    • Prosty program sterujący (21)
    • Diagnostyka problemów (23)
  • Odcięcie przewodu (24)
    • Budowa bezprzewodowego robota SimpleBot (24)
    • Połączenia (24)
    • Sterowanie robotem SimpleBot (25)
    • Diagnostyka problemów (28)
  • Co dalej? (29)

2. Robot piszący TypeBot (31)

  • Wykaz materiałów (31)
    • Informacje o serwomotorach (32)
  • Anatomia ramienia robota (33)
    • Konstrukcja ramienia (33)
    • Warunki związane z ruchem ramienia (34)
  • Budowa części mechanicznej (34)
    • Podstawa i ramię (34)
    • Łokieć (35)
    • Nadgarstek (36)
    • Palec (37)
    • Mózg (37)
  • Utworzenie programu (38)
    • Utworzenie plików projektu (38)
    • Sterowanie serwomotorami (38)
    • Inicjalizacja (41)
    • Określenie sekwencji naciśnięć klawiszy (43)
    • Pierwsze uruchomienie (46)
    • Dokładna regulacja ramienia (46)
  • Co dalej? (47)

3. Pierwsze kroki z robotami NodeBoat (49)

  • Wykaz materiałów (50)
    • Narzędzia (50)
  • Zasobnik z silnikiem (51)
    • Po co stosować sterownik silnika? (51)
    • Komponenty zasobnika silnika (51)
    • Modyfikacja silnika (52)
    • Montaż silnika (53)
    • Sprawdzenie silnika (53)
    • Przygotowanie silnika (53)
    • Otwór w zasobniku na silnik (54)
    • Zamknięcie zasobnika na silnik (55)
    • Uszczelnienie przewodów (55)
  • Konfiguracja modułu Spark (56)
    • Test modułu Spark (56)
  • Twój pierwszy program Spark (57)
  • Przylutowanie sterownika silnika (58)
  • Połączenie komponentów łodzi (58)
    • Zasilanie sterownika silnika (59)
    • Połączenie modułu Spark i sterownika silnika (60)
    • Podłączenie silnika (61)
  • Sterowanie silnikiem: kod (62)
    • Obsługa zdarzenia naciśnięcia klawisza (62)
    • Zapisywanie stanu klawiszy (63)
  • Wodowanie łodzi (64)
  • Sterowanie łodzią za pomocą serwomotoru (66)
    • Programowanie serwomotoru (66)
    • Montaż steru (68)
  • Pierwszy rejs (69)
  • Co dalej? (69)

4. Mobilna platforma piDuino5 (71)

  • Wykaz materiałów (72)
    • Instalacja platformy Node.js na płytce Raspberry Pi (73)
    • Pobranie kodu piDuino5 i zależności (73)
    • Narzędzia (73)
  • Konfiguracja płytek i instalacja oprogramowania (73)
    • Podłączenie Arduino (74)
    • Przegląd kodu app.js (74)
    • Sprawdzenie platformy Johnny-Five za pomocą protokołu WebSocket (74)
    • Inicjalizacja platformy Johnny-Five (75)
    • Sterowanie urządzeniami (75)
    • Sterowanie z małymi opóźnieniami za pomocą protokołu WebSocket (75)
    • Połączenie z każdego miejsca (76)
  • Montaż komponentów (76)
    • Wysłanie adresu do aplikacji WWW (78)
  • Sterowanie za pomocą smartfona (78)
    • Pobranie aplikacji WWW do sterowania robotem piDuino5 (78)
    • Sprawdź aplikację WWW na telefonie (79)
  • Przegląd plików app.js i index.html (79)
    • Zapisanie lokalnego adresu IP (79)
    • Udostępnienie interfejsu użytkownika (79)
    • Dotykowy joystick (80)
    • Nawiązanie połączenia (80)
    • Wysyłanie poleceń (80)
  • Co dalej? (81)

5. Sterowanie heksapodem za pomocą platformy Johnny-Five (83)

  • Wykaz materiałów (83)
  • Sterowanie robotem za pomocą wiersza poleceń (84)
  • Wprowadzenie do programu phoenix.js (85)
  • Montaż robota (86)
    • Przygotowanie szkieletu (87)
    • Montaż komponentów elektronicznych (87)
    • Przygotowanie serwomotorów (87)
    • Montaż stawów biodrowych (88)
    • Montaż segmentów udowych (89)
    • Montaż segmentów piszczelowych (89)
  • Układ współrzędnych (90)
  • Regulacja serwomotorów (91)
    • Regulacja stawów biodrowych (91)
    • Regulacja segmentów udowych (92)
    • Regulacja segmentów piszczelowych (92)
  • Określenie zakresów ruchu serwomotorów (92)
  • Chodzenie jest trudne! (93)
  • Poznaj klasę Animation (94)
    • Tabela serwomotorów jako grupa docelowa (94)
    • Obiekt Servo.Array jako grupa docelowa (94)
    • Tabela obiektów Servo.Array jako grupa docelowa (94)
  • Pierwszy segment animacyjny (95)
  • Chodzenie (98)
    • Wiosłowanie (row) (98)
    • Marsz (walk) (99)
    • Bieg (run) (100)
  • Lista poleceń (100)
  • Obracanie robota (100)
  • Co dalej? (101)

6. Budowanie robota NodeBot sterowanego głosem (103)

  • Wykaz materiałów (103)
    • Płytka BeagleBone Black (105)
  • Tworzenie projektu (106)
  • Budowa obwodu przekaźnika (106)
    • Sterowanie obwodem za pomocą platformy Johnny-Five (107)
  • Budowa obwodu mikrofonu (108)
    • Obsługa mikrofonu i przekaźnika za pomocą kodu Johnny-Five (108)
  • Tworzenie serwera poleceń (110)
  • Prosty kontroler głosowy wykorzystujący interfejs Web Speech API (112)
  • Integracja serwera poleceń z obwodem przekaźnika (112)
  • Zaawansowany kontroler głosowy wykorzystujący gadżet z Androidem (115)
    • Aplikacja przenośna dla systemu Android (115)
    • Aplikacja dla gadżetu z Androidem (120)
  • Co dalej? (123)

7. Pokojowy zegar słoneczny (125)

  • Wykaz materiałów (126)
    • Elementy z pianki PCV (126)
  • Budowanie zegara słonecznego (128)
  • Wycinanie elementów i przygotowanie głównej konstrukcji (129)
    • Przygotowanie płyty montażowej (129)
  • Podłączenie i konfiguracja serwomotorów (130)
    • Podłączenie serwomotorów (130)
    • Konfiguracja serwomotorów (131)
  • Przygotowanie tarcz (132)
  • Przygotowanie ścianek i podparcia tarczy podstawowej (133)
    • Przygotowanie ścianek (133)
    • Umieszczenie tarcz (134)
    • Przygotowanie podparcia tarczy (134)
  • Wykonanie ostatnich elementów i montaż zegara (136)
    • Przygotowanie ramienia azymutu (136)
    • Przygotowanie łuku wysokości (137)
    • Wycięcie gnomonu (138)
    • Podłączenie "słońca" (138)
  • Kod, który wszystkim steruje (139)
    • Program sundial.js (140)
    • Dane konfiguracyjne w programie sundial.js (140)
    • Szczegóły programu sundial.js (141)
  • Złóż wszystko razem! (143)
  • Włącz zegar! (144)
  • Co dalej? (144)

8. Światełka-straszydełka (145)

  • Wykaz materiałów (145)
    • Dobór kontrolera matrycy (146)
  • Teoria (146)
    • Co to jest matryca LED? (147)
  • Budowa łańcucha światełek (147)
    • Potrzebne narzędzia (148)
    • Przygotowanie matryc (149)
    • Przygotowanie kabla (150)
    • Diagnostyka (153)
  • Sterowanie matrycą LED (153)
    • Przygotowanie płytki Arduino (153)
    • Dekorowanie łańcucha światełek (153)
    • Opcje konstruktora klasy Matrix (154)
    • Rysowanie wzorów na matrycy (154)
    • Uruchomienie programu testującego (154)
  • Utworzenie aplikacji WWW (155)
    • Narzędzia programistyczne (155)
    • Korzystanie z generatora express (155)
    • Utworzenie interfejsu API (156)
    • Utworzenie interfejsu użytkownika (157)
    • Rozbudowa aplikacji (158)
  • Co dalej? (158)

9. Lampa CheerfulJ5 (159)

  • Wykaz materiałów (159)
  • Zbudowanie obwodu (160)
  • Kod do lampy CheerfulJ5 (161)
    • Połączenie z płytką Arduino (161)
    • Sterowanie diodą RGB (162)
    • Użycie platformy Node.js i pętli REPL (163)
    • Zdefiniowanie mapy kolorów usługi CheerLights (163)
    • Dostęp do usługi CheerLights za pomocą interfejsu ThingSpeak API (164)
    • Korzystanie z interfejsu Twitter Streaming API (165)
  • Łączność bezprzewodowa dzięki zestawowi Spark WiFi Development Kit (169)
    • Umieszczenie modułu Spark w obwodzie (169)
    • Zastosowanie wtyczki Spark-io (170)
    • Przełączenie na zasilanie z akumulatora (170)
  • Umieszczenie obwodu w obudowie (171)
  • Co dalej? (172)

10. Interaktywny panel LED RGB z płytką BeagleBone Black (173)

  • Wykaz materiałów (174)
    • Płytka BeagleBone Black (174)
    • Adapter WiFi (opcjonalny) (174)
    • Zewnętrzny zasilacz 5 V (opcjonalny) (174)
    • Panel LED RGB (175)
    • Czujniki (175)
    • Inne komponenty (175)
  • Pierwsze kroki: oprogramowanie (175)
    • Oprogramowanie LEDScape (175)
    • Podłączenie panelu RGB LED (176)
  • Podłączenie panelu RGB LED (176)
  • Czas na kod! Użyj języka JavaScript (178)
    • Uruchomienie skryptu testowego (179)
    • Zastosowanie platformy Johnny-Five i obudowy beaglebone-io (181)
    • Podłączenie fotorezystora (183)
    • Zmienianie kolorów za pomocą przyspieszeniomierza (185)
  • Co dalej? (187)

11. Osobiste bezpieczeństwo, JavaScript i Ty (189)

  • Prosty czujnik ultradźwiękowy (190)
    • Implementacja (190)
  • Urządzenie ultradźwiękowe wysyłające SMS-y (193)
    • Implementacja (193)
  • System monitoringu (194)
    • Implementacja (194)
  • Laser robi wrażenie na wrogach i przyjaciołach (195)
    • Implementacja (195)
  • Wskaźnik stanu, przyciski i diody LED (196)
    • Implementacja (198)
  • Co dalej? (201)

12. Sztuczna inteligencja: robot BatBot (203)

  • Sztuczna inteligencja - podstawy (203)
    • Roboty semiautonomiczne (204)
    • Roboty autonomiczne (204)
    • Robot BatBot (204)
    • Roboty zdalnie sterowane (204)
  • Wykaz materiałów (205)
    • Uwagi dotyczące materiałów (206)
  • Montaż (206)
  • Krok 1. Zdalne sterowanie (207)
    • Poruszanie robotem (208)
    • Sterowanie robotem (210)
    • Ustawianie czujnika ultradźwiękowego i odczyt sygnału (210)
  • Krok 2. Autonomia (211)
    • Implementacja algorytmu (213)
  • Diagnostyka (215)
  • Co dalej? (216)

13. Roboty delta i kinematyka (217)

  • Wykaz materiałów (218)
  • Anatomia robota delta (219)
  • Budowa robota Junky Delta (220)
    • Wprawienie robota w ruch (223)
    • Określanie położenia w kinematyce (225)
  • Bardziej zaawansowane roboty delta (229)
    • Robot TapsterBot (229)
    • Robot Army (229)
  • Co dalej? (230)

14. Interaktywne buty (231)

  • Wykaz materiałów (231)
  • Opis elementów (231)
  • Przygotowanie czujników (234)
    • Przylutowanie przewodów do czujników (234)
    • Umieszczenie czujników w butach (235)
    • Wyprowadzenie przewodów na zewnątrz buta (235)
  • Połączenie butów (235)
    • Przygotowanie przewodu spiralnego (235)
  • Podłączenie butów do płytki Arduino (237)
    • Przygotowanie przewodów (237)
    • Przylutowanie płytki Arduino (238)
    • Przymocowanie płytki Arduino do prawego buta (238)
  • Tworzenie kodu opartego na platformie Johnny-Five (238)
    • Podłączenie do platformy Johnny-Five (238)
    • Konfiguracja czujników (239)
    • Wyświetlanie danych z czujników (239)
    • Przykładowe zachowania (240)
  • Co dalej? (241)

A. Dodatek (243)

  • Instalacja biblioteki Node.js (243)
  • Instalacja platformy Johnny-Five (243)
    • Diagnostyka (244)
    • Dodatkowe informacje (244)
  • Konfigurowanie sprzętu (244)
    • Arduino (244)
    • BeagleBone Black (244)
    • Raspberry Pi (244)
    • Zestaw Particle WiFi Development Kit (245)
  • Programowanie w systemie Android (247)
    • Instalacja oprogramowania Android Studio (247)
    • Tworzenie projektu Android (247)
    • Instalacja biblioteki Volley (248)

Skorowidz (249)

  • Tytuł: Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone
  • Autor: Rick Waldron, Backstop Media (lista współautorów w uwagach dodatkowych)
  • Tytuł oryginału: Make: JavaScript Robotics: Building NodeBots with Johnny-Five, Raspberry Pi, Arduino, and BeagleBone
  • Tłumaczenie: Andrzej Watrak
  • ISBN: 978-83-283-2058-1, 9788328320581
  • Data wydania: 2016-04-10
  • Format: Ebook
  • Identyfikator pozycji: roboty
  • Wydawca: Helion