Talaan ng mga Nilalaman:

Pagkontrol sa RC servos Wirelessly Over UDP: 3 Hakbang
Pagkontrol sa RC servos Wirelessly Over UDP: 3 Hakbang

Video: Pagkontrol sa RC servos Wirelessly Over UDP: 3 Hakbang

Video: Pagkontrol sa RC servos Wirelessly Over UDP: 3 Hakbang
Video: Flipper Zero Alternative? - m5stickC plus 🤯 #shorts 2024, Nobyembre
Anonim
Image
Image
Hardware
Hardware

Sa proyektong ito nais kong gamitin ang aking iPhone upang makontrol ang mga RC servos. Gagamitin ko ang accelerometer upang makontrol ang dalawang servos sa koneksyon sa UDP. Ito ay isang proyekto ng Proof Of Concept upang mapatunayan na ang isang koneksyon sa pagitan ng isang iPhone at isang paligid ay maaaring makamit ang mataas na mga rate ng pag-update (mas mataas pagkatapos ng BLE) gamit ang UDP.

Hakbang 1: Listahan ng Mga Bahagi

Hardware

  • Board ng ESP8266 (Wemos D1 mini pro)
  • Dalawang RC servo
  • Isang USB power bank bilang power supply
  • Ang ilang mga jumper wires
  • Isang iPhone o iPad na gumagamit ng iOS12
  • Isang mac upang maitayo ang proyekto

Software

  • Arduino IDE na may ESP8266 Arduino core na naka-install: Manu-manong pag-install
  • Xcode 10:
  • Ang arduino sketch ay matatagpuan dito
  • Ang mabilis na mapagkukunan ng iPhone app ay narito

Hakbang 2: Hardware

Hardware
Hardware

Napakadali ng pag-setup ng hardware. Ginagamit ko ang D1 (pitch) at D2 (roll) output sa ESP8266 upang makontrol ang mga RC servos ayon sa pagkakabanggit. Ang board ay pinalakas mula sa isang USB power bank. Ang RC servos ay pinalakas mula sa 5v at GND pin ng board.

Hakbang 3: Software

Ang control app para sa iPhone ay nakasulat sa Swift na kumokonekta sa board ng controller ng ESP8266 nang wireless at kinokontrol ang mga pitch at roll servos batay sa data ng paggalaw ng iPhone. Lumilikha ang control board ng isang Wifi Access Point at nakikinig para sa upcomming UDP packet na naglalaman ng impormasyon ng posisyon ng servo bilang isang stream ng bytes na may sumusunod na pangkalahatang format:

Servo index | Posisyon MSB | Posisyon LSB

Ang index ng servo ay alinman sa 1 para sa pitch o 2 para sa roll. Ang posisyon ng servo ay kinakalkula mula sa telepono x, y ikiling degree at na-convert sa microseconds sa pagitan ng 1000 at 2000. Ang rate ng pag-refresh ay 20 milliseconds.

Gumagamit ang app ng bagong Network.framework upang maitaguyod ang koneksyon sa UDP, kaya't tumatakbo lamang ito sa iOS 12 at mas mataas.

Ito ay isang POC app upang i-demostrate kung gaano kadaling gamitin ang koneksyon ng UDP sa iOS 12. Upang gawing simple ang mga packet ng UDP ay ipinapadala nang magkahiwalay para sa pitch at roll.

Inirerekumendang: