INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In hierdie projek wil ek my iPhone gebruik om RC -servo's te beheer. Ek sal die versnellingsmeter gebruik om twee servo's oor UDP -verbinding te beheer. Dit is 'n Proof Of Concept -projek om te verifieer dat 'n verbinding tussen 'n iPhone en 'n randapparaat hoë opdateringsyfers (hoër as BLE) kan bereik met behulp van UDP.
Stap 1: Onderdele lys
Hardeware
- ESP8266 (Wemos D1 mini pro) bord
- Twee RC servo's
- 'N USB -kragbank as kragbron
- 'N Paar springdrade
- 'N iPhone of iPad met iOS 12
- 'N Mac om die projek te bou
Sagteware
- Arduino IDE met ESP8266 Arduino -kern geïnstalleer: installasiehandleiding
- Xcode 10:
- Die arduino -skets kan hier gevind word
- Die Swift -bron van die iPhone -app is hier
Stap 2: Hardeware
Die hardeware -opstelling is baie eenvoudig. Ek gebruik die D1 (toonhoogte) en D2 (rol) uitset op die ESP8266 om die RC servo's onderskeidelik te beheer. Die kaart word gevoed deur 'n USB -kragbank. Die RC -servo's word aangedryf deur die 5v- en GND -pen van die bord.
Stap 3: sagteware
Die beheer -app vir die iPhone is in Swift geskryf, wat draadloos met die ESP8266 -beheerbord verbind kan word en bedien- en rol -servo's beheer op grond van die bewegingsdata van die iPhone. Die beheerbord skep 'n Wifi -toegangspunt en luister na UDP -pakkies wat die servoposisie -inligting bevat as 'n stroom grepe met die volgende algemene formaat:
Servo -indeks | Posisie MSB | Posisie LSB
Die servo -indeks is óf 1 vir toonhoogte óf 2 vir rol. Die servoposisie word bereken vanaf die telefoon x, y kantel grade en omgeskakel na mikrosekondes tussen 1000 en 2000. Die verversingsnelheid is 20 millisekondes.
Die app gebruik die nuwe Network.framework om die UDP -verbinding tot stand te bring, dus werk dit slegs op iOS 12 en hoër.
Dit is 'n POC -app om die maklik om te gebruik UDP -verbinding in iOS 12 te demostreer. Om dit eenvoudig te hou, word die UDP -pakkies afsonderlik gestuur vir pitch and roll.