ROLO to jeżdżący, zdalnie sterowany robot domowej konstrukcji. Zaprojektowany i wykonany w czasie kilku długich jesienno-zimowych wieczorów z myślą o moich dzieciach, a czasami z ich osobistym udziałem skupionym zazwyczaj wokół przeróżnych (niekiedy trudnych i mądrych) pytań.
Moją główną motywacją było stworzenie robota, którego funkcjonowanie w całości będzie można zaprogramować. W sklepach wiele jest zdalnie sterowanych zabawek. Co najmniej 2 takie mamy w domu. Ich prędkość zazwyczaj nie pozwala na zabawę w domu bo są za szybkie, a funkcje pilota nieintuicyjne. Poza tym w dobie powszechnych mobilnych urządzeń chciałem stworzyć coś na kształt gry, w której steruje się nie wirtualnym, ale prawdziwym pojazdem. Problemy techniczne z jakimi musiałem się nieraz zmierzyć nauczyły mnie też czegoś nowego, a praca jaką włożyłem sprawiła mi mnóstwo frajdy.
- komunikację ze światem poprzez sieć wifi,
- orientację w przestrzeni i omijanie przeszkód za pomocą ultradźwiękowego czujnika odległości,
- sygnalizowanie swojej obecności poprzez przednie i tylne światła LED, oraz sygnały dźwiękowe
Nasze dzieci miały, bądź mają logopedyczny problem z wymawianiem litery „R” stąd do samego zapoznania się z naszym nowym mieszkańcem potrzeba trochę gimnastyki słownej. Inna teoria mówi, że nazwa pochodzi od słowa robot, kojarzy się z rolowaniem, jeżdżeniem i jest uzupełniona o moje inicjały – każda opcja jest prawidłowa :)
Dane techniczne.
Komponenty elektroniczne:
- Moduł ESP8266
- Arduino Pro Mini 3.3V
- Ultradźwiękowy czujnik odległości HC-SR04
- Dwukanałowy sterownik silników DRV8833
- 2 silniczki DC 3-6V
- 2 diody LED czerwone z rezystorami 1kΩ
- 2 diody LED żółte z rezystorami 1kΩ
- Buzzer 3.3V
- Przetwornica napięcia step-up 5V do zasilania czujnika pomiaru odległości
- Przetwornica napięcia step-up 3.3V do zasilania pozostałych komponentów
Funkcję komunikacyjne zapewnia moduł ESP8266 działający w paśmie 2.4GHz w trybie AP+STA. Taka konfiguracja umożliwia korzystanie z ROLO nawet w miejscach, gdzie nie ma zasięgu sieci domowej. W takich przypadkach należy połączyć się z ROLO (nazwa sieci SSID: rolo), który pełni funkcję Access Pointa.
Możliwe jest sterowanie ROLO za pomocą dowolnego urządzenia (telefon, tablet, laptop) z modemem wifi i z zainstalowaną przeglądarką www. Po połączeniu z ROLO i wpisaniu w przeglądarce internetowej adresu IP ROLO zostaje uruchomiony graficzny interfejs pozwalający na niezależne sterowanie dwoma silnikami (przód/tył), światłami (żółte z przodu, czerwone z tyłu) oraz buzzerem wydającym dźwięki. Graficzna strona www z kontrolkami umożliwiającymi nawigację jest zapisana w pamięci flash układu ESP i pobierana na urządzenie sterujące raz – po wpisaniu adresu IP ROLO w przeglądarce – takie rozwiązanie rozwiązało problem małej ilości pamięci RAM.
Układ został zaprogramowany do współpracy z Arduino Pro Mini. Moduły te komunikują się ze sobą za pomocą magistrali I2C. Zaimplementowany protokół pozwala na przesyłanie komunikatów z modułu ESP do serca ROLO (jedno zdarzenie w przeglądarce - jeden komunikat z ESP do Arduino – jedna akcja do wykonania). Wszystkie moduły wykonawcze zostały podłączone do cyfrowych portów Arduino.
Układ czujnika odległości jest autonomiczny i nie wymaga oddzielnego sterowania. Kiedy pomiar odległości wskazuje na dystans mniejszy niż 30cm ROLO zatrzymuje się, wydaje charakterystyczny odgłos i robi zwrot o 180˚ uniemożliwiając wjechanie w przeszkodę (choć już wiadomo, że „oczy” przydałyby się także z tyłu ;)). Możliwe jest także uruchomienie trybu AUTO, w którym ROLO jeździ sam i bez potrzeby sterowania omija napotkane przed sobą osoby i przedmioty – tutaj też jest sporo uciechy!
ROLO będzie miał rodzeństwo. W moich planach, a w zasadzie w przygotowaniu jest robot, który poleci w kosmos! Serio :D

Brak komentarzy:
Prześlij komentarz