wersja mobilna | kontakt z nami

Pojazd zdalnie sterowany

Numer: Kwiecień/2016

Smartfon często bywa używany w roli platformy do gier. Sterowanie wirtualnym pojazdem (np. w grze) poprzez wychylanie i obracanie urządzeniem, jak kierownicą jest bardzo intuicyjne i stało się pewnym standardem. Jednak nieporównywalnie więcej zabawy przynosi sterowanie pojazdem w rzeczywistości. Ten łatwy w budowie pojazd pozwoli przekonać się o tym na własnej skórze.

Pobierz PDFMateriały dodatkowe

Do budowy pojazdu użyto gotową platformę jezdną, dzięki czemu część mechaniczna jest prosta w wykonaniu, nie będziemy tracili czasu na wykonywanie elementów pojazdu, a montaż sprowadza się do zamocowania za pomocą śrub gotowych elementów. Platformę przed i po zmontowaniu pokazano na fotografiach 1 i 2.

Fotografi a 1. Części składowe pojazdu - platformy

Fotografi a 2. Pojazd po zmontowaniu

Platforma ma wiele otworów montażowych, dzięki czemu można łatwo zamontować dodatkowy osprzęt używając śrub i gwintowane tulejki dystansujące. Na fotografiach 3...5 widoczne są szczegóły montażu i rozmieszczenie osprzętu. Wszystkie komponenty połączono zgodnie ze schematem montażowym zamieszczonym na rysunku 6.

Niezbędne komponenty:
  • Płytka Arduino Uno.
  • Moduł sterownika silników dla Arduino - płytka AVT1619.
  • Moduł Bluetooth AVT1635.
  • Koszyk na baterie 4×R6.
  • Dioda prostownicza np. 1N4007.
  • Kondensator 2200 µF/10 V.
  • Przewody połączeniowe.

Do sterowania pojazdem służy smartfon lub inne urządzenie z systemem Android i zainstalowaną aplikacją Vehicle_v1. Ekran aplikacji pokazano na rysunku 7. Na początek, na ekranie startowym należy wybrać urządzenie Bluetooth, z którym aplikacja ma się połączyć - chodzi o Serial Adapter, ponieważ tak jest rozpoznawany układ BTM222 zamontowany w module AVT1635.

Fotografia 3. Szczegóły montażu pojazdu – widok od góry

Fotografia 4. Szczegóły montażu pojazdu – widok zamontowanej płytki Arduino

Po nawiązaniu połączenia z pojazdem zostanie wyświetlone ekran, jak na rysunku 8, a na płytce Arduino powinna zaświecić się dioda LED informująca o poprawnym połączeniu. W górnej linii okna aplikacji jest wyświetlony status pojazdu: "Stop" oznacza pojazd zatrzymany, "GO!!!" to pojazd w ruchu.

Kolejne trzy linie "X=", "Y=" oraz "Z=" zawierają dane odczytane z akcelerometru. Ostatnia linia przedstawia treść komendy wysyłanej do pojazdu - ma ona postać "n x wartość Y, wartość Z n".

Fotografia 5. Szczegóły montażu pojazdu - widok napędu i sposobu montażu mechanicznego

Rysunek 6. Schemat montażowy zdalnie sterowanego pojazdu

Przycisk "Reset" służy do wyzerowania wartości współrzędnych x, y, z w położeniu neutralnym - zerowanie należy wykonać przed każdą jazdą. Dopóki przycisk "Go!" Jest zwolniony, do pojazdu dociera komenda "x0,0" (pojazd zatrzymany). Dopiero, gdy przycisk "Go!" jest wciśnięty i trzymany, parametry komendy przybierają wartości niezerowe, co pokazano na rysunku 9.

Program sterujący pojazdem napisano w środowisku Arduino. Program wykonuje dwa ważne zadania. Pierwsze, to odczytywanie danych z portu szeregowego UART, które są odbierane za pomocą modułu Bluetooth. Wśród nich wyszukiwane są ciągi w postaci "n x Y , Z n". Symbol "n" to znak nowej linii; "x" - umowny znacznik początku komendy; "Y", "Z" - odczytane i przetworzone dane z akcelerometru w zakresie -99...99 oraz przecinek oddzielający parametry.

Listing 1. Procedura parsująca komendy

Listing 2. Procedura powodująca automatyczne zatrzymanie pojazdu

Listing 3. Obliczanie wartości współczynnika PWM

Procedurę odpowiedzialną za wyszukiwanie komend zamieszczono na listingu 1. Ponadto, program sprawdza czas pomiędzy komendami. Jeśli przez długi czas nie zostanie odebrana prawidłowa komenda, to pojazd automatycznie zatrzyma się.

Odpowiada za to procedura z listingu 2. Kolejnym ważnym zadaniem programu jest obliczanie wartości współczynników PWM dla czterech kanałów na podstawie odebranych dwóch wartości vectX i vectY. Sposób wyznaczania współczynnika wypełnienia ilustruje listing 3.

Rysunek 7. Ekran aplikacji sterującej pojazdem - nawiązywanie połączenia

Rysunek 8. Ekran aplikacji sterującej pojazdem - tryb zdalnego sterowania

Rysunek 9. Ekran aplikacji sterującej pojazdem - pojazd w ruchu

Program aplikacji sterującej dla smartfona został napisany w środowisku Android Studio. Pełne źródła obu programów dostępne są w materiałach dodatkowych do projektu.

KS

Pozostałe artykuły

Klawiatura z Bluetooth. Realizacji interfejsu HID za pośrednictwem Raspberry PI

Numer: Kwiecień/2016

Bluetooth to powszechnie stosowany interfejs komunikacji bezprzewodowej na krótkie odległości. Niestety, jego praktyczna implementacja w projektach nastręcza bardzo wielu różnych problemów - czy to ze względu na konieczność przygotowywania odpowiednich profili BT, czy też z uwagi na ograniczoną dostępność dokumentacji i narzędzi. Zresztą korzystanie z komunikacji Bluetooth nie jest też takie łatwe, gdy ma się dostępne biblioteki ...

BeetBox - perkusja z Raspberry PI i buraków

Numer: Marzec/2016

Raspberry PI to niedrogi i nieduży komputer, za pomocą którego można zrealizować różne przydatne projekty. Dostępność platformy i rozgłos jej towarzyszący sprawiły, że zainteresowali się nią także artyści. Mały komputer pozwala w łatwy i niedrogi sposób tworzyć "dzieła" interaktywne i daje zupełnie nowe możliwości ich twórcom - a szczególnie tym, którzy projektują eksponaty luźno rozumianej sztuki nowoczesnej. Jedną ...

Lodówka na piwo z Raspberry PI

Numer: Luty/2016

Czy może być coś lepszego niż niewielka, specjalna, oddzielna lodówka na piwo? Takie pytanie mogłoby pewnie przejść przez myśl wielu inżynierom. My już znamy na nie odpowiedź: tak, jest to mała lodówka na piwo, wyposażona w komputer i podłączona do Internetu. Projekt takiego urządzenia, monitorowanego z użyciem Raspberry PI opracował Jamie Bailey z Nashville w USA. To dobry przykład użycia w komputera jednopłytkowego w AGD oraz ...

Domowa elektrownia fotowoltaiczna wspierana przez Raspberry PI

Numer: Luty/2016

Opublikowany przez nas projekt lodówki na piwo pokazuje, jak wykorzystać Raspberry PI do połączenia z serwisem internetowym, który ułatwia prezentowanie danych z urządzeń IoT użytkownikom. W tym projekcie pokazujemy, że można przyjąć zupełnie odwrotne podejście i użyć Raspberry PI do realizacji internetowego panelu użytkownika (HMI). W tej aplikacji służy on do sterowania domową elektrownią słoneczną, która sama w sobie stanowi ...

Sterownik do statywu 360°

Numer: Grudzień/2015

Urządzenie służy do sterowania statywem przytwierdzonym do silnika krokowego. Statyw będzie obracał się zawsze o stały kąt, który można ustawić. Po każdym częściowym obrocie sterownik zatrzymuje statyw i może wyzwolić spust aparatu fotograficznego. Taki proces będzie przebiegał automatycznie aż do pełnego obrotu - 360 stopni. Efektem będzie seria kilku - kilkudziesięciu fotografii prezentujących obiekt z perspektywy okręgu. ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Kwiecień 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym