Pojazd dwukołowy LEGO sterowany ze smartfona przez WiFi (WeMos)

Pojazd dwukołowy LEGO sterowany ze smartfona przez WiFi (WeMos)

INFORMACJA: Poniższy post znajduje się w Poczekalni.

W moim poprzednim wpisie opisałem budowę prostego i taniego dwukołowca, którego można sterować smartfonem przez WiFi (ESP8266) wykorzystując aplikację Blynk. Wadą tego rozwiązania była konieczność wykorzystania sieci domowej (dostępu do internetu) oraz serwera Blynk w celu kontroli pojazdu, co uniemożliwiało wyjście z pojazdem w teren.
W tym wpisie pokażę jak wykorzystać tryb Access Point w ESP8266 aby uniezależnić się od dostępu do internetu i sieci domowej. W celu wyeliminowania części kabli jaka była potrzebna do podłączenia ESP-12e ze sterownikiem silników i zasileniem, użyję taniego modułu WeMos D1 mini wraz z DC Power Shield, który nie będzie wymagał użycia dodatkowego konwertera USB-UART do zaprogramowania ESP. Całość zabuduję klockami LEGO Duplo w celu zakrycia elektroniki i zasilania. Do kontroli pojazdu użyję aplikacji RoboRemoFree.

Spis części

Do zbudowania prostego pojazdu potrzeba:

Nie licząc baterii lub akumulatorków (które miałem w szufladzie), klocków LEGO (które zabrałem synowi), kleju, listwy goldpin oraz przewodów, całość powinna wynieść ok. 90 zł.
Moduły WeMos kupiłem ze sklepu firmowego (www.wemos.cc) na AliExpresie. Czekałem na nie tylko 23 dni, co jest wynikiem bardzo dobrym jak na zakupy u naszych chińskich przyjaciół.

Mimo, że silniki zasilane są napięciem maks. 6V, to użyta ilość baterii (6 sztuk – 9V) wynika z tego że, DC Power Shield potrzebuje zasilania min. 7V. Będzie to wymagało programowego ograniczenia mocy silników, o czym w dalszej części.

Przygotowanie

WeMosa programować będziemy w środowisku Arduino IDE. Instalację i konfigurację tego środowiska opisałem w poprzednim wpisie, w podrozdziale ‘Przygotowanie’, zatem tu je pominę. Aby wgrać program na WeMosa należy podłączyć go poprzez kabel USB do komputera i w programie Arduino IDE wybrać w menu Tools–>Board–>WeMos D1 R2 & mini, oraz w menu Tools–>Port wybrać odpowiedni port (COM’XX’). Dodatkowo w menu Tools ustawiamy Flash size: „4M (1M SPIFFS)” lub Flash size: „4M (3M SPIFFS)”. Resztę ustawień możemy pozostawić bez zmian.

Podłączenie WeMosa do mostka H

Po wgraniu programu (o którym w dalszej części opisu) do WeMosa należy połączyć go ze sterownikiem silników według schematu przedstawionego na rys. 1.

Rys. 1  Schemat podłączenia WeMos do sterownika silników

Czyli D4 i D3 będą sterować kanałem B, natomiast D2 i D1 będą sterować kanałem A. Podanie stanu wysokiego na wejście MODE sterownika powoduje że będzie on działał w trybie PHASE/ENABLE.

Aby pozbyć się większości kabli moduł WeMoss oraz sterownik umieściłem na płytce uniwersalnej z dolutowanymi listwami goldpin i połączeniami wykonanymi z nóżek po rezystorach (patrz rys. 2). 

Rys. 2  Płytka uniwersalna z dolutowanymi listwami goldpin i zworkami

Aplikacja RoboRemoFree – ustawienia

Po zainstalowaniu aplikacji RoboRemoFree należy stworzyć projekt zawierający jeden przycisk, jedną diodę, jeden suwak pionowy i jeden suwak poziomy jak pokazano na rys. 3.


Rys. 3 Ustawienia aplikacji RoboRemoFree

W celu edycji projektu i wstawienia elementów należy, kliknąć ‘Menu–>edit ui’ następnie kliknąć na puste miejsce na ekranie i wybrać odpowiedni element.
    Ustawienia elementów:

  • button:
    • set text: włącznik;
    • set press action: s
  • led:
    • set id: led
  • slider (pionowy):
    • set id: x
    • set min, max: min -100, max 100
  • slider (poziomy):
    • set id: y
    • set min, max: min -40, max 40

Po wprowadzeniu powyższych ustawień wciskamy przycisk Menu i wybieramy ‚don’t edit ui’. Uruchomienie i sposób połączenia się z pojazdem opiszę w dalszej części.

Program

Kod programu z komentarzami znajduje się poniżej. W programie założono że sterowanie odbywać się będzie z aplikacji RoboRemoFree.
Poniższy kod jest zmodyfikowaną wersją programu zaproponowaną przez ElektroPrzewodnika, Kurs Budowy Robotów FORBOT oraz stronę http://www.makerworkshop.com.au/emitcollect/electronics/esp8266-as-access-point-and-station-with-udp-comms/.
Chciałbym w tym miejscu nadmienić, że zarówno Tomasz Grabowski (a.k.a. ElektroPrzewodnik) jak i twórcy portalu FORBOT (w szczególności Damian Szymański a.k.a Treker) robią kawał dobrej roboty w propagowaniu elektroniki i robotyki. Jeżeli ktoś jeszcze ich nie zna to bardzo polecam kanał ElektroPrzewodnik i portal FORBOT.

W programie ustawiono maksymalną wartość PWM dla silników równą 170, co ogranicza programowo ich moc. Przy takiej wartości PWM maksymalne napięcie zasilania nie powinno przekroczyć 6 V. Przy użyciu innego zasilania, przed podłączeniem silników, warto zmierzyć jaka jest maksymalna wartość napięcia wychodząca z mostka H i dostosować ją do używanych silników dobierając odpowiednio maksymalną wartość PWM.

Składanie pojazdu

Do złożenia pojazdu potrzeba niestety użyć trochę kleju na gorąco, aby przymocować silniki i koło obrotowe (patrz rys. 4), oraz płytkę z elektroniką aby nie latała.


 

Rys. 4 Mocowanie silników i kół

Zasilanie i elektronikę można zabudować używając dostępnych klocków. W moim przypadku wygląda to tak jak na poniższych rysunkach.

Rys. 5 Składanie pojazdu

Oczywiście, niepodlegającym dyskusji jest fakt, że pojazd ten żadnych konkursów piękności nie wygra. Lecz nie o to chodziło. Pewnie używając mniejszych klocków (a nie Duplo) udałoby się zbudować coś bardziej przypominającego samochód. Ale to może za kilka lat jak syn wyrośnie z klocków Duplo :-) 

Uruchomienie pojazdu

Po wgraniu programu do WeMosa, powinien on przejść w tryb AP (niebieska dioda w module powinna się świecić) i tym samym pojazd jest gotowy do akcji.
W telefonie należy połączyć się z siecią ‘Samochod_Lego’ i w aplikacji RoboRemoFree w Menu wybrać opcję connect–>Internet (Udp) a następnie wpisać adres 192.168.4.1:4210 i kliknąć w niego w celu połączenia.
Następnie, włączenie pojazdu nastąpi po kliknięciu przycisku ‘włącznik’, co zasygnalizowane będzie przez zaświecenie wirtualnej diody w aplikacji.

Złożony i zaprogramowany pojazd w akcji można zobaczyć na filmie:

 

INFORMACJA: Oceń artykuł aby pomóc mu trafić na stronę główną Majsterkowa.

UWAGA: Zaloguj się, aby móc zagłosować na ten projekt.

Ocena: 4.33/5 (głosów: 9)
Nettigo - patron działu Elektronika

Podobne posty

5 komentarzy do “Pojazd dwukołowy LEGO sterowany ze smartfona przez WiFi (WeMos)

Odpowiedz

anuluj

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!