Pojazd zdalnie sterowany

Pojazd zdalnie sterowany
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.

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

Artykuł ukazał się w
Elektronika Praktyczna
kwiecień 2016
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik styczeń 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio styczeń 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje styczeń 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna styczeń 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich styczeń 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów