Sommario:

Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth: 7 passaggi (con immagini)
Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth: 7 passaggi (con immagini)

Video: Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth: 7 passaggi (con immagini)

Video: Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth: 7 passaggi (con immagini)
Video: Weather Station Simulation Tutorial || Wokwi Simulation Tutorial || Weather Station using Arduino 2024, Dicembre
Anonim
Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth
Interfaccia utente Android (remotexy) per controllare il servomotore utilizzando Arduino e Bluetooth

In questo Instructable ti fornirò un rapido passaggio per creare un'interfaccia utente Android utilizzando Remotexy Interface Maker per controllare il servomotore collegato ad Arduino Mega tramite Bluetooth.

Questo video mostra come l'interfaccia utente controllerà la velocità e la posizione del servomotore.

Passaggio 1: come funziona questo sistema?

Come funziona questo sistema?
Come funziona questo sistema?

Ecco come funziona:

Quando tocchiamo / utilizziamo l'interfaccia utente su Android, l'app Android invierà il segnale ad arduino tramite connessione bluetooth, quindi il segnale elaborato verrà inviato al servo (driver). Il sensore dell'encoder invierà quindi un segnale di feedback ad arduino e il segnale (posizione) verrà inviato tramite bluetooth per essere visualizzato sull'interfaccia utente di Android.

Passaggio 2: prepara il servomotore e l'Arduino

Prepara il servomotore e l'Arduino
Prepara il servomotore e l'Arduino
Prepara il servomotore e l'Arduino
Prepara il servomotore e l'Arduino

Supponendo che tu abbia già un servomotore funzionante collegato ad Arduino, salterò questa parte perché il nostro obiettivo è creare un'interfaccia utente per controllare il servo da Android.

In questo progetto sto usando il motore DC brushless Vexta collegato a un ingranaggio per muovere un meccanismo del braccio.

Per Arduino sto usando Arduino Mega.

Passaggio 3: assicurarsi che il sensore dell'encoder sia installato correttamente

Assicurati che il sensore dell'encoder sia installato correttamente
Assicurati che il sensore dell'encoder sia installato correttamente

Questo è un passaggio molto importante, assicurati che il sensore dell'encoder sia installato e possa leggere correttamente il valore.

Provalo prima di continuare con il passaggio successivo. Questo valore di lettura verrà visualizzato sull'interfaccia utente e diventerà il nostro riferimento per la posizione del servo.

Il valore sarà compreso tra 0-1024 (analogico) e poiché 1 rotazione completa è di 360 gradi, è necessario eseguire alcuni calcoli e la sua differenza dipende dal sensore dell'encoder e dal servomotore stesso.

Nel mio progetto, il valore analogico da 100 a 900 rappresenta una rotazione di 0-360 gradi.

Passaggio 4: installare il modulo Bluetooth HC-05

Installa il modulo Bluetooth HC-05
Installa il modulo Bluetooth HC-05
Installa il modulo Bluetooth HC-05
Installa il modulo Bluetooth HC-05

Il prossimo è installare il modulo Bluetooth su Arduino Mega.

Usa il diagramma sopra solo come riferimento, poiché forse il tuo Arduino avrà layout e pin diversi.

Passaggio 5: crea l'interfaccia utente con Remotexy

Crea interfaccia utente con Remotexy
Crea interfaccia utente con Remotexy

Apri remotexy.com, crea un account e avvia un nuovo progetto.

Seleziona bluetooth come tipo di connessione e inizia a codificare utilizzando esempi dalle pagine di esempio.

Puoi iniziare a trascinare e rilasciare elementi dal menu laterale di Elements, come slider, pannello, pulsante, ecc.

Nel mio progetto sono diviso l'interfaccia utente nell'area sinistra e destra. L'area sinistra controllerà, diciamo, servo1, e l'area destra controllerà servo2. Quindi in ogni area, sto usando questi elementi:

  • STRINGA DI TESTO per la visualizzazione del valore del sensore dell'encoder (analogico) nel range da 100 a 900.
  • SLIDER (per la velocità) con TEXT STRING sopra. Ho modificato la stringa di testo in modo che visualizzi il valore del dispositivo di scorrimento SPEED nell'intervallo da 0 a 100%.
  • SLIDER (per posizione) con TEXT STRING sopra. Ho anche modificato questa stringa di testo in modo che visualizzi il valore del cursore POSITION da 0 a 100%. E aggiungo anche un "LIVELLO DI DIVISIONE LINEARE" come indicatore e l'ho modificato in modo che rappresenti il valore del sensore dell'encoder nell'intervallo da 0 a 100%.
  • Qualche ETICHETTA per l'etichettatura del testo (ovviamente…)

*questo passaggio verrà aggiornato la prossima volta con il mio codice sorgente, scusami per questo.

AGGIORNAMENTO: mi dispiace non poter condividere il mio codice sorgente per l'interfaccia utente poiché è correlato alla National Research Company dove ho realizzato il progetto. Ma aggiorno l'immagine in modo che tu possa vedere la mia interfaccia utente effettiva quando la progetto sull'editor remotexy.

Passaggio 6: carica il codice su Arduino

Carica il codice su Arduino
Carica il codice su Arduino

Carica il codice finito, includi lib, su Arduino Mega tramite USB, utilizzando il software Arduino IDE.

Si noti che è necessario scollegare il cavo Bluetooth Tx e Rx per caricare il codice tramite USB.

Ci sono altri modi per farlo senza scollegare il cavo, ma questo metodo funziona per me.

Passaggio 7: installa Remotexy su Android e provalo

Image
Image
Installa Remotexy su Android e provalo
Installa Remotexy su Android e provalo

Il passaggio finale sarà l'installazione dell'app remotexy da Google Play. Puoi trovarlo cercando "remotexy" su Google Play.

Successivamente, apri l'app, cerca il tuo HC-05 Bluetooth, Associalo e verrà visualizzata l'interfaccia utente (che è stata caricata su Arduino).

Se tutto è impostato correttamente, puoi iniziare a controllare il servomotore da questa interfaccia utente.

Questo video mostra il test dell'interfaccia utente per il controllo della velocità e della posizione del servo.

Consigliato: