Spisu treści:

Bezprzewodowe sterowanie serwomechanizmami RC przez UDP: 3 kroki
Bezprzewodowe sterowanie serwomechanizmami RC przez UDP: 3 kroki

Wideo: Bezprzewodowe sterowanie serwomechanizmami RC przez UDP: 3 kroki

Wideo: Bezprzewodowe sterowanie serwomechanizmami RC przez UDP: 3 kroki
Wideo: bezprzewodowe sterowanie serwomechanizmem bez arduino 2024, Listopad
Anonim
Image
Image
Sprzęt komputerowy
Sprzęt komputerowy

W tym projekcie chcę użyć mojego iPhone'a do sterowania serwomechanizmami RC. Użyję akcelerometru do sterowania dwoma serwomechanizmami przez połączenie UDP. Jest to projekt Proof Of Concept mający na celu sprawdzenie, czy połączenie między iPhonem a urządzeniem peryferyjnym może osiągnąć wysokie szybkości aktualizacji (większe niż BLE) przy użyciu UDP.

Krok 1: Lista części

Sprzęt komputerowy

  • Płyta ESP8266 (Wemos D1 mini pro)
  • Dwa serwa RC
  • Power bank USB jako zasilacz
  • Niektóre przewody połączeniowe
  • iPhone lub iPad z systemem iOS12
  • Mac do zbudowania projektu

Oprogramowanie

  • Arduino IDE z zainstalowanym rdzeniem Arduino ESP8266: Instrukcja instalacji
  • Xcode 10:
  • Szkic arduino można znaleźć tutaj
  • Źródło Swift aplikacji na iPhone'a jest tutaj

Krok 2: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy

Konfiguracja sprzętu jest bardzo prosta. Używam wyjścia D1 (wysokość) i D2 (roll) w ESP8266 do sterowania serwomechanizmami RC. Płytka zasilana jest z powerbanku USB. Serwa RC są zasilane z pinu 5V i GND płytki.

Krok 3: Oprogramowanie

Aplikacja sterująca dla iPhone'a jest napisana w języku Swift, która łączy się bezprzewodowo z płytą kontrolera ESP8266 i steruje serwomechanizmami pochylenia i obrotu w oparciu o dane ruchu iPhone'a. Płyta kontrolera tworzy punkt dostępu Wi-Fi i nasłuchuje nadchodzących pakietów UDP, które zawierają informacje o pozycji serwa w postaci strumienia bajtów o następującym ogólnym formacie:

Indeks serwo | Pozycja MSB | Pozycja LSB

Indeks serwa wynosi 1 dla skoku lub 2 dla rolki. Pozycja serwa jest obliczana na podstawie stopni nachylenia telefonu x, y i konwertowana na mikrosekundy między 1000 a 2000. Częstotliwość odświeżania wynosi 20 milisekund.

Aplikacja korzysta z nowego Network.framework do nawiązania połączenia UDP, więc działa tylko na iOS 12 i nowszych.

Jest to aplikacja POC, która zademonstruje, jak łatwe w użyciu połączenie UDP w iOS 12. Aby uprościć, pakiety UDP są wysyłane osobno dla pitch and roll.

Zalecana: