Sommario:

Controllo dei servi RC in modalità wireless tramite UDP: 3 passaggi
Controllo dei servi RC in modalità wireless tramite UDP: 3 passaggi

Video: Controllo dei servi RC in modalità wireless tramite UDP: 3 passaggi

Video: Controllo dei servi RC in modalità wireless tramite UDP: 3 passaggi
Video: HO RISOLTO tutti i PROBLEMI di SEGNALE del DJI RC sbloccando la MODALITA' FCC con questa MOD! 2024, Luglio
Anonim
Image
Image
Hardware
Hardware

In questo progetto voglio usare il mio iPhone per controllare i servocomandi RC. Userò l'accelerometro per controllare due servi tramite connessione UDP. Questo è un progetto Proof Of Concept per verificare che una connessione tra un iPhone e una periferica possa raggiungere velocità di aggiornamento elevate (superiori a BLE) utilizzando UDP.

Passaggio 1: elenco delle parti

Hardware

  • Scheda ESP8266 (Wemos D1 mini pro)
  • Due servocomandi RC
  • Un power bank USB come alimentatore
  • Alcuni ponticelli
  • Un iPhone o iPad con iOS12
  • Un mac per costruire il progetto

Software

  • Arduino IDE con core Arduino ESP8266 installato: manuale di installazione
  • Xcode 10:
  • Lo sketch di arduino lo trovate qui
  • La fonte Swift dell'app per iPhone è qui

Passaggio 2: hardware

Hardware
Hardware

La configurazione hardware è molto semplice. Uso l'uscita D1 (pitch) e D2 (roll) sull'ESP8266 per controllare rispettivamente i servi RC. La scheda è alimentata da un power bank USB. I servo RC sono alimentati dal pin 5v e GND della scheda.

Passaggio 3: software

L'app di controllo per iPhone è scritta in Swift che si collega alla scheda controller ESP8266 in modalità wireless e controlla i servi di beccheggio e rollio in base ai dati di movimento dell'iPhone. La scheda controller crea un punto di accesso Wi-Fi e ascolta i pacchetti UDP in arrivo che contengono le informazioni sulla posizione del servo come flusso di byte con il seguente formato generale:

Indice servo | Posizione MSB | Posizione LSB

L'indice del servo è 1 per il passo o 2 per il rollio. La posizione del servo viene calcolata dai gradi di inclinazione x, y del telefono e convertita in microsecondi tra 1000 e 2000. La frequenza di aggiornamento è di 20 millisecondi.

L'app utilizza il nuovo Network.framework per stabilire la connessione UDP, quindi è in esecuzione solo su iOS 12 e versioni successive.

Questa è un'app POC per dimostrare quanto sia facile usare la connessione UDP in iOS 12. Per semplificare, i pacchetti UDP vengono inviati separatamente per pitch and roll.

Consigliato: