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

Emulacja Raspberry Pi

Numer: Wrzesień/2016

...

Podwieszany ploter z Raspberry PI

Numer: Lipiec/2016

Wydruk dużych schematów i grafik wektorowych nierzadko stanowi problem. Zazwyczaj stosuje się w tym celu plotery, których koszt zakupu wcale nie jest mały. Ploter można też zbudować samodzielnie, względnie niedużym kosztem, np. w oparciu o Raspberry PI. Co prawda nie będzie on miał precyzji urządzeń profesjonalnych, a tempo pracy będzie raczej powolne, ale po udoskonaleniu może okazać się przydatnym narzędziem. W artykule prezentujemy ...

Restarter do routera sterowany za pomocą SMS

Numer: Czerwiec/2016

Nikogo nie trzeba przekonywać o tym, jak bardzo jesteśmy uzależnieni od Internetu. Nie trzeba też przekonywać, jak irytujące mogą być niespodziewane przerwy w dostępie. Wiele z takich awarii można łatwo usunąć poprzez zrestartowanie routera lub modemu. Oczywiście, o ile mamy do niego łatwy dostęp. Jeśli nie, to idealnym rozwiązaniem będzie prezentowane urządzenie. Może służyć do zdalnego włączania, wyłączania lub restartowania ...

Automat do gier z Raspberry Pi

Numer: Czerwiec/2016

Miniaturowe komputery mają obecnie moce obliczeniowe znacznie przewyższające możliwości pełnowymiarowych komputerów z przed kilku-kilkunastu lat. Dotyczy to także specjalizowanych komputerów do gier wideo. Z całą pewnością wielu starszych czytelników EP miło wspomina czas spędzony w salonach gier, gdy królowały Pacman i Galaxians. Takie zamiłowanie do starych gier sprawiło, że na świecie opracowano bardzo wiele projektów, ...

Raspberry TOR Router

Numer: Czerwiec/2017

Korzystanie z sieci TOR nie jest specjalnie trudne, ale wymaga nieco zachodu. W praktyce każde urządzenie, na którym chcemy puścić ruch sieciowy poprzez szereg anonimowych routerów musi mieć zainstalowane odpowiednie oprogramowanie. Da się to jednak obejść w całkiem łatwy sposób - wystarczy tylko posiadać taki komputerek, jak Raspberry Pi.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Październik 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym