- Componenti richiesti
- Schema elettrico
- Comunicazione Bluetooth tramite la finestra di comando MATLAB
- Comunicazione Bluetooth tramite MATLAB GUI
Il Bluetooth è il protocollo più semplice e popolare per la comunicazione wireless a corto raggio nei sistemi embedded. Il Bluetooth non viene utilizzato solo per trasferire i dati da un dispositivo a un altro, ma anche per controllare i dispositivi in modalità wireless. Quasi tutti i gadget elettronici hanno il supporto Bluetooth oggigiorno, quindi è una scelta saggia avere l'opzione di controllo Bluetooth nella tua applicazione incorporata.
In questo tutorial impareremo come utilizzare il Bluetooth in MATLAB per comunicare in modalità wireless. Useremo il Bluetooth integrato del computer con MATLAB su un lato e HC-05 con Arduino sull'altro lato. Esistono due modi per configurare la comunicazione tra MATLAB e Arduino tramite Bluetooth, uno utilizza la finestra di comando e l'altro utilizza la GUI di MATLAB. Il codice Arduino per entrambi i metodi rimarrà lo stesso. Se sei nuovo in MATLAB, ti consigliamo di iniziare con un semplice programma di lampeggiamento LED con MATLAB e imparare la terminologia di base utilizzata in MATLAB. Puoi esplorare ulteriormente altri progetti MATLAB:
- Comunicazione seriale tra MATLAB e Arduino
- Controllo motore CC tramite MATLAB e Arduino
- Controllo del motore passo-passo utilizzando MATLAB e Arduino
- Guida introduttiva all'elaborazione delle immagini utilizzando MATLAB
Componenti richiesti
- Laptop installato MATLAB (Preferenza: R2016a o versioni successive)
- Arduino UNO
- Modulo Bluetooth (HC-05)
- LED (qualsiasi colore)
- Resistenza (330 ohm)
- Cavi per ponticelli
Per saperne di più su HC-05 e il suo interfacciamento con Arduino, consulta i seguenti articoli.
- Servomotore controllato tramite Bluetooth utilizzando Arduino
- LED a controllo vocale utilizzando Arduino e Bluetooth
- AC controllato da telefono cellulare tramite Arduino e Bluetooth
Schema elettrico
Di seguito sono riportati gli schemi per la comunicazione Bluetooth tra MATLAB e Arduino :
Comunicazione Bluetooth tramite la finestra di comando MATLAB
Questo è il metodo semplice per configurare la comunicazione Bluetooth tra Arduino e MATLAB. Qui, il MATLAB utilizza il bluetooth del laptop per collegare l'HC-05 connesso ad Arduino. Per prima cosa dobbiamo codificare l'Arduino per leggere i dati seriali in arrivo provenienti da MATLAB (utilizzando il Bluetooth del laptop).
Quindi questi dati trasmessi tramite Bluetooth da MATLAB possono essere utilizzati per controllare qualsiasi cosa sia collegata ad Arduino. Qui abbiamo collegato un LED ad Arduino che può essere controllato dal LAPTOP utilizzando MATLAB.
Innanzitutto, carica il codice Arduino fornito in Arduino UNO e quindi inizia a codificare nella finestra di comando MATLAB.
#includere
Quindi, copia e incolla il codice MATLAB sottostante nella finestra di comando per la comunicazione Bluetooth tra MATLAB e Arduino.
instrhwinfo ("Bluetooth", "HC-05"); bt = Bluetooth ("HC-05", 1); fopen (bt);
Nel codice seguente, il comando fprintf (bt, '0') viene utilizzato per spegnere il LED inviando '0' ad Arduino. Ora, se vuoi accendere il LED, invia "1" invece di "0" usando il comando seguente.
fprintf (bt, '1');
Per controllare le informazioni sull'hardware disponibile, utilizzare il comando seguente
instrhwinfo ('tipo', 'Nome del dispositivo');
Per aprire la porta bluetooth, sotto il comando in usato
fopen (bt);
Guarda il video qui sotto per comprendere il processo completo di invio di dati da MATLAB ad Arduino tramite Bluetooth.
Comunicazione Bluetooth tramite MATLAB GUI
Per dimostrare la comunicazione Bluetooth utilizzando la GUI MATLAB, creeremo tre pulsanti grafici in MATLAB per accendere, spegnere e lampeggiare il LED collegato ad Arduino. I dati verranno inviati tramite bluetooth da MATLAB a HC-05 facendo clic su quei pulsanti grafici. Arduino contiene il codice per ricevere i dati trasmessi via Bluetooth da MATLAB a HC-05 e controllare il LED in base ai dati ricevuti. Il codice Arduino rimarrà lo stesso del precedente, l'unica differenza è che, in precedenza stavamo inviando i dati '1' e '0' tramite la finestra di comando di MATLAB, e ora gli stessi dati verranno inviati facendo clic su tre pulsanti grafici.
Per avviare la GUI, digita il comando seguente nella finestra di comando
guida
Si aprirà una finestra popup, quindi selezionare una nuova GUI vuota come mostrato nell'immagine sottostante,
Ora scegli tre pulsanti per accendere, spegnere e lampeggiare il LED, come mostrato di seguito,
Per ridimensionare o modificare la forma dei pulsanti, è sufficiente fare clic su di essi e sarà possibile trascinare gli angoli del pulsante. Facendo doppio clic sul pulsante è possibile modificare il colore, la stringa e il tag di quel particolare pulsante. Abbiamo personalizzato tre pulsanti come mostrato nell'immagine sottostante.
Puoi personalizzare i pulsanti secondo la tua scelta. Ora, quando lo salvi, verrà generato un codice nella finestra Editor di MATLAB. Modifica questo codice in base all'attività che desideri eseguire dal tuo Arduino alla ricezione dei dati Bluetooth utilizzando la GUI MATLAB. Quindi di seguito abbiamo modificato il codice MATLAB. Puoi saperne di più sulla finestra dei comandi, sulla finestra dell'editor ecc. Nel tutorial Introduzione a MATLAB.
Alla fine di questo progetto viene fornito il codice MATLAB completo per il controllo dei LED da MATLAB tramite Bluetooth. Inoltre includiamo il file della GUI (.fig) e il file di codice (.m) qui per il download, utilizzando il quale è possibile personalizzare i pulsanti secondo le proprie esigenze. Di seguito sono riportate alcune modifiche che abbiamo fatto per controllare il LED collegato ad Arduino.
Copia e incolla il codice sottostante sulla riga n. 74 per configurare o connettere il MATLAB al Bluetooth del laptop.
cancella tutto; bt globale; instrhwinfo ("Bluetooth", "HC-05"); bt = Bluetooth ("HC-05", 1); fopen (bt);
dove, fopen (bt) viene utilizzato per aprire la porta Bluetooth per la trasmissione dei dati.
Ora, quando scorri verso il basso, vedrai che ci sono tre funzioni create per tre pulsanti nella GUI. Ora scrivi il codice nelle funzioni in base all'attività che desideri eseguire al clic.
Nella funzione del pulsante LED ON , copia e incolla il codice sottostante appena prima della fine della funzione per accendere il LED. Nel codice sottostante, fprintf (bt, '1') viene utilizzato per inviare '1' da MATLAB a HC-05 utilizzando il Bluetooth del laptop. Arduino riceverà questi dati '1' tramite HC-05 e accenderà il LED rendendo il suo 11 ° pin ALTO.
bt globale; fprintf (bt, '1');
Nella funzione del pulsante LED OFF , copia e incolla il codice sottostante appena prima della fine della funzione per spegnere il LED. Nel codice sottostante, fprintf (bt, '0') viene utilizzato per inviare '0' da MATLAB a HC-05 utilizzando il Bluetooth del laptop. Arduino riceverà '0' tramite HC-05 e spegnerà il LED portando il suo 11 ° pin in BASSO.
bt globale; fprintf (bt, '0');
Nella funzione del pulsante BLINK , utilizzare il codice seguente per far lampeggiare il LED. Un ciclo for viene utilizzato per far lampeggiare il LED 10 volte.
bt globale; per i = 1:10 fprintf (bt, '1'); pausa (0,5); fprintf (bt, '0'); pausa (0,5); fine
Dopo aver completato la codifica della GUI MATLAB e impostato l'hardware in base allo schema del circuito, è sufficiente fare clic sul pulsante Esegui per eseguire il codice modificato nel file.m.
MATLAB potrebbe impiegare alcuni secondi per rispondere, non fare clic su alcun pulsante della GUI finché MATLAB non mostra l'indicazione OCCUPATO, che puoi vedere nell'angolo inferiore sinistro dello schermo come mostrato di seguito,
Quando tutto è pronto, fare clic sui pulsanti LED-ON, LED OFF e BLINK per accendere, spegnere e lampeggiare rispettivamente il LED. Tutti i file di codice per questo progetto possono essere scaricati da qui oppure è possibile utilizzare il codice fornito di seguito.
Guarda il video qui sotto per comprendere il processo completo di invio di dati da MATLAB ad Arduino tramite Bluetooth utilizzando MATLAB GUI.