Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä projektissa haluan käyttää iPhoneani ohjaamaan RC -servoja. Käytän kiihtyvyysmittaria kahden servon ohjaamiseen UDP -yhteyden kautta. Tämä on Proof Of Concept -projekti, jolla varmistetaan, että iPhonen ja oheislaitteen välinen yhteys voi saavuttaa korkeat päivitysnopeudet (korkeampi kuin BLE) UDP: tä käyttämällä.
Vaihe 1: Osaluettelo
Laitteisto
- ESP8266 (Wemos D1 mini pro) -kortti
- Kaksi RC -servoa
- USB -virtapankki virtalähteenä
- Jotkut hyppyjohdot
- IPhone tai iPad, jossa on iOS12
- Mac projektin rakentamiseen
Ohjelmisto
- Arduino IDE ja ESP8266 Arduino -ydin asennettu: Asennusopas
- Xcode 10:
- Arduino -luonnos löytyy täältä
- IPhonen sovelluksen Swift -lähde on täällä
Vaihe 2: Laitteisto
Laitteiston asennus on hyvin yksinkertaista. Käytän ESP8266: n D1 (pitch) ja D2 (roll) lähtöä RC -servojen ohjaamiseen. Kortti saa virtansa USB -virtapankista. RC -servot saavat virtansa levyn 5v- ja GND -nastasta.
Vaihe 3: Ohjelmisto
IPhonen ohjaussovellus on kirjoitettu Swift -kielellä, joka muodostaa yhteyden ESP8266 -ohjainkorttiin langattomasti ja ohjaa piki- ja rulla servoja iPhonen liiketietojen perusteella. Ohjainkortti luo Wifi -tukiaseman ja kuuntelee tulevia UDP -paketteja, jotka sisältävät servoaseman tiedot tavuvirrana seuraavassa yleisessä muodossa:
Servo -indeksi | Sijoitus MSB | Asento LSB
Servo -indeksi on joko 1 jako 2 tai rulla. Servoasento lasketaan puhelimen x, y kallistusasteista ja muunnetaan mikrosekunneiksi välillä 1000 - 2000. Virkistystaajuus on 20 millisekuntia.
Sovellus käyttää uutta Network.frameworkia UDP -yhteyden muodostamiseen, joten se toimii vain iOS 12: ssa ja uudemmissa.
Tämä on POC -sovellus, joka osoittaa UDP -yhteyden helppokäyttöisyyden iOS 12: ssa.