Inhoudsopgave:

RC-servo's draadloos bedienen via UDP - Ajarnpa
RC-servo's draadloos bedienen via UDP - Ajarnpa

Video: RC-servo's draadloos bedienen via UDP - Ajarnpa

Video: RC-servo's draadloos bedienen via UDP - Ajarnpa
Video: Управление серводвигателем с помощью кнопки: перемещение сервопривода и возврат SPB-1 2024, November
Anonim
Image
Image
Hardware
Hardware

In dit project wil ik mijn iPhone gebruiken om RC-servo's te besturen. Ik gebruik de versnellingsmeter om twee servo's via een UDP-verbinding te besturen. Dit is een Proof Of Concept-project om te verifiëren dat een verbinding tussen een iPhone en een randapparaat hoge updatesnelheden (hoger dan BLE) kan bereiken met behulp van UDP.

Stap 1: Onderdelenlijst

Hardware

  • ESP8266 (Wemos D1 mini pro) bord
  • Twee RC-servo's
  • Een USB powerbank als voeding
  • Sommige jumperdraden
  • Een iPhone of iPad met iOS12
  • Een mac om het project te bouwen

Software

  • Arduino IDE met ESP8266 Arduino-kern geïnstalleerd: Installatiehandleiding
  • Xcode 10:
  • De arduino-schets is hier te vinden
  • De Swift-bron van de iPhone-app is hier

Stap 2: Hardware

Hardware
Hardware

De hardwareconfiguratie is heel eenvoudig. Ik gebruik de D1 (pitch) en D2 (roll) output op de ESP8266 om respectievelijk de RC-servo's te bedienen. Het bord wordt gevoed via een USB-powerbank. De RC-servo's worden gevoed via de 5v- en GND-pin van het bord.

Stap 3: Software

De controle-app voor de iPhone is geschreven in Swift die draadloos verbinding maakt met het ESP8266-controllerbord en de pitch- en roll-servo's bestuurt op basis van de bewegingsgegevens van de iPhone. De controllerkaart creëert een Wifi-toegangspunt en luistert naar aankomende UDP-pakketten die de servopositie-informatie bevatten als een stroom van bytes met het volgende algemene formaat:

Servo-index | Positie MSB | Positie LSB

De servo-index is ofwel 1 voor pitch of 2 voor roll. De servopositie wordt berekend op basis van x, y kantelgraden van de telefoon en omgezet in microseconden tussen 1000 en 2000. De verversingssnelheid is 20 milliseconden.

De app gebruikt het nieuwe Network.framework om de UDP-verbinding tot stand te brengen, dus het werkt alleen op iOS 12 en hoger.

Dit is een POC-app om te demonstreren hoe gemakkelijk de UDP-verbinding in iOS 12 te gebruiken is. Om het simpel te houden, worden de UDP-pakketten afzonderlijk verzonden voor pitch en roll.

Aanbevolen: