Robot ze smartfonem

Konstrukcja robota współdziałającego ze smartfonem.

Do czego wystarczy mikrokontroler a kiedy potrzebujemy komputera?

Mózg naszego robota stanowi popularny mikrokontroler Arduino. Procesor, który nim steruje świetnie radzi sobie z prostymi elektronicznymi operacjami, takimi jak odbieranie danych z czujników, sterowanie silnikami, czy prosta komunikacja z innymi urządzeniami, ale brak mu mocy obliczeniowej do wykonywania bardziej zaawansowanych zadań, takich jak np. analiza obrazu video w celu wykrywania twarzy, albo rozpoznawanie mowy. Aby wzbogacić naszego robota o bardziej zaawansowane funkcje musimy go połączyć z jakimś mocnym komputerem, który będzie w stanie wziąć na siebie operacje wymagające zaawansowanych obliczeń. Dobrą wiadomością jest fakt, że najprawdopodobniej już masz tego typu komputer – jest nim Twój telefon (lub tablet).

Smartfon idealnie nadają się jako uzupełnienie naszego robota z kilku względów:

  • posiadaj zaawansowany procesor i system operacyjny zdolny do wykonywania skomplikowanych zadań
  • jest mały i zasilany na baterie – z łatwością możemy zamontować go na naszym robocie
  • prawie każdy, nawet kilkuletni smartfon jest wprost naszpikowany akcesoriami, których samodzielne dokupienie do robota kosztowało by małą fortunę, w przeciętnym telefonie mamy do dyspozycji: kamerę video, łączność Bluetooth, Wi-Fi, GSM, kompas i akcelerometr wykrywający położenie telefonu w przestrzeni, duży kolorowy wyświetlacz i głośniki, conajmniej kilka gigabajtów dostępnej pamięci, rozpoznawanie mowy….. itd. itp.
  • dzięki takim narzędziom jak App inventor możemy samodzielnie tworzyć aplikacje na nasz smartfon i swobodnie korzystać z jego funkcji

LOFI Brain + Android

Najprostszym sposobem na połączenie LOFI Robota i smartfonu (lub tabletu)jest komunikacja przez bluetooth. W zestawie EDUBOX znajduje się moduł bluetooth HC-06, działający w standardzie tzw. Bluetooth 2.0, pozwala on na bezprzewodowe połączenie z większością komputerów stacjonarnych i laptopów, oraz urządzeniami mobilnymi z systemem Android (od 2.3 wzwyż). Urządzenia z systemem iOS, czyli iPhone i iPad niestety mają zablokowaną komunikację z nieautoryzowanymi urządzeniami bluetooth 2.0 oraz samodzielne tworzenie aplikacji.

Istnieje możliwość połączenia sterownika LOFI Brain z urządzeniami iOS przy pomocy modułu bluetooth HM-10. Na chwilę obecną w App Store nie ma jednak aplikacji wykorzystującej tę możliwość w robotyce.

W tym artykule będziemy stopniowo pokazywać w jaki sposób wykorzystywać multimedialne funkcje urządzeń mobilnych zarówno dzięki wykorzystaniu istniejących już aplikacji jaki i tworzeniu własnych przy pomocy App Inventora.

Istniejące aplikacje

Ze względu na kompatybilność z Arduino mamy dostęp do wielu istniejących już aplikacji na Androida.

PopPet

Do sterowania naszym robotem przy pomocy androida możemy wykorzystać apikację przeznaczoną do kontrolowania robota PopPet

Aplikacja PopPet posiada następujące funkcje:

  • sterowanie robotem przy pomocy pada
  • płynne sterowanie robotem przy pomocy analogowego joysticka
  • sterowanie głosowe
  • odczytywanie odległości mierzonej przez czujnik HC-SR04
  • tryb autonomiczny – robot porusza się samodzielnie kierując pomiarami odległości z czujnika

Aby połączyć LOFI Robota z aplikacją PoPet należy:

  • zainstalować na urządzeniu z Androidem (wersja 4.0 wzwyż) aplikację PopPet The Robot
  • na sterownik LOFI Brain wgrać skrypt znajdujący się poniżej
  • do sterownika podłączyć silniki DC, moduł bluetooth i czujnik odległości
  • po uruchomieniu aplikacji klikamy przycisk SELECT DEVICE i wybieramy urządzenie LOFI_Robot (jeśłi korzystamy z modemu bluetooth z zestawu EDUBOX), a następnie CONNECT

Modyfikacje wprowadzone do oryginalnego skryptu dla aplikacji PopPet:

  • zmiana portu serial na SERIAL1
  • zmiana pinów komunikujących się czujnikiem HC-SR04 na D14 i D15
  • dostosowanie sterowania silnikami do sterownika L293D (wbudowanego w LOFI Brain)

MobBob

Starszym bratem PopPeta jest MobBob, który jednocześnie jest jednym z najciekawszych, prostych i uroczych jednocześnie robotów opartych o Arduino i androida.

MobBob to projekt gotowego robota, którego konstrukcja składa się z elementów wydrukowanych na drukarce 3D i silników micro servo, a za sterowanie robotem odpowiada aplikacja zamieniająca telefon w głowę robota.

Mobbob posiada takie funkcje jak:

  • sterowanie przy pomocy pada ze strzałkami
  • rozpoznawanie mowy
  • wykrywanie twarzy
  • śledzenie konkretnego koloru – dzięki czemu może podążać za jakimś obiektem np. czerwoną piłką

Skrypt do zaprogramowania LOFI Brain – WKRÓTCE!