Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Selles projektis tahan kasutada oma iPhone'i RC servode juhtimiseks. Kasutan kiirendusmõõturit kahe servo juhtimiseks UDP -ühenduse kaudu. See on Proof Of Concept projekt, mille eesmärk on kontrollida, kas iPhone'i ja välisseadme vahelise ühenduse abil on UDP abil võimalik saavutada kõrge värskenduskiirus (kõrgem kui BLE).
Samm: osade loend
Riistvara
- ESP8266 (Wemos D1 mini pro) plaat
- Kaks RC servot
- Toiteallikana USB toitepank
- Mõned hüppajate juhtmed
- IPhone või iPad, mis kasutab iOS12
- Mac projekti ehitamiseks
Tarkvara
- Arduino IDE koos ESP8266 Arduino südamikuga: paigaldusjuhend
- Xcode 10:
- Arduino eskiisi leiate siit
- IPhone'i rakenduse Swifti allikas on siin
Samm: riistvara
Riistvara seadistamine on väga lihtne. Kasutan RC servode juhtimiseks vastavalt ESP8266 väljundit D1 (samm) ja D2 (rull). Plaat saab toite USB -toitepangast. RC servod saavad toite plaadi 5v ja GND tihvtidest.
Samm: tarkvara
IPhone'i juhtimisrakendus on kirjutatud Swifti keeles, mis ühendub juhtmevabalt ESP8266 kontrollerplaadiga ja juhib iPhone'i liikumisandmete põhjal kõrguse ja veeremise servosid. Kontrollerplaat loob Wifi pöörduspunkti ja kuulab saabuvaid UDP -pakette, mis sisaldavad servoasendi teavet baitide voona järgmise üldvorminguga:
Servoindeks | Positsioon MSB | Positsioon LSB
Servoindeks on kas 1 pigi või 2 rulli jaoks. Servoasend arvutatakse telefoni x, y kallutusastmete järgi ja teisendatakse mikrosekunditeks vahemikus 1000 kuni 2000. Värskendussagedus on 20 millisekundit.
Rakendus kasutab UDP -ühenduse loomiseks uut Network.framework -i, seega töötab see ainult iOS 12 -s ja uuemates versioonides.
See on POC -rakendus, mis näitab, kui lihtne on UDP -ühendust iOS 12 -s kasutada. Et see oleks lihtne, saadetakse UDP -paketid pigi ja rulli jaoks eraldi.