Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone - ebook
Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone - 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
Spis treści
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)
Kategoria: | Hardware |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-2058-1 |
Rozmiar pliku: | 24 MB |