- Creazione dell'interfaccia utente grafica MATLAB per la stampa di grafici
- Codice MATLAB per tracciare il grafico
- Materiale richiesto
- Schema elettrico
- Traccia il grafico con MATLAB
I grafici sono sempre utili per visualizzare i dati e diventa molto facile trovare tendenze e modelli osservandoli. Sono disponibili molti software per tracciare grafici in base ai valori di input, oggi useremo MATLAB per tracciare grafici in base ai dati di temperatura dal sensore LM35. Questo tutorial ti darà un'idea di base su come tracciare un grafico in tempo reale utilizzando MATLAB. Arduino Uno viene utilizzato qui per ottenere i dati di temperatura dal sensore di temperatura LM35.
Prima di procedere oltre, se sei nuovo in MATLAB puoi controllare i nostri precedenti tutorial MATLAB per capire meglio:
- Iniziare con MATLAB: una rapida introduzione
- Interfacciamento di Arduino con MATLAB - LED lampeggiante
- Comunicazione seriale tra MATLAB e Arduino
- Controllo motore CC tramite MATLAB e Arduino
- Controllo del motore passo-passo utilizzando MATLAB e Arduino
Creazione dell'interfaccia utente grafica MATLAB per la stampa di grafici
Per prima cosa dobbiamo costruire la GUI (Graphical User Interface) per Plot a Graph con i dati di temperatura. 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 dobbiamo scegliere un pulsante, due assi e una casella di testo per l'interfaccia grafica MATLAB . Il pulsante verrà utilizzato per avviare il rilevamento della temperatura, due assi per tracciare il grafico e la casella di testo per mostrare il valore corrente della temperatura.
Per ridimensionare o cambiare la forma del pulsante, degli assi o del pulsante di modifica del testo, fai clic su di esso e potrai trascinare gli angoli del pulsante. Facendo doppio clic su uno di questi, sarai in grado di cambiare il colore, la stringa e il tag di quel particolare pulsante. Dopo la personalizzazione apparirà così
Puoi personalizzare i pulsanti secondo la tua scelta. Ora, quando lo salvi, viene generato un codice nella finestra Editor di MATLAB. Per fare in modo che il tuo Arduino esegua qualsiasi attività particolare relativa al tuo progetto, devi sempre modificare questo codice generato. 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.
Codice MATLAB per tracciare il grafico
Alla fine di questo progetto viene fornito il codice MATLAB completo per la progettazione di un termometro utilizzando LM35 e Arduino. Inoltre includiamo il file della GUI (.fig) e il file di codice (.m) qui per il download, utilizzando il quale è possibile personalizzare i pulsanti o le dimensioni degli assi secondo le proprie esigenze. Abbiamo modificato il codice generato come spiegato di seguito.
Copia e incolla il codice sottostante sulla riga n. 74 per assicurarti che Arduino stia parlando con MATLAB ogni volta che esegui il file m .
cancella tutto; globale a; a = arduino ();
Quando scorri verso il basso, vedrai che ci sono due funzioni create per Pulsante e Modifica testo nella GUI, nessuna funzione verrà creata per Assi. Ora scrivi il codice nella funzione Pulsante (pulsante di avvio) in base all'attività che desideri eseguire.
Nella funzione del pulsante Start , copia e incolla il codice seguente appena prima della fine della funzione per avviare il rilevamento della temperatura. Per rilevare, visualizzare e tracciare graficamente la temperatura in modo continuo, utilizziamo il ciclo while . Abbiamo fornito una pausa di 1 secondo dopo ogni iterazione, quindi il valore della temperatura verrà aggiornato ogni secondo.
x = 0; go = true; globale a; while go value = readVoltage (a, 'A1'); temp = (valore * 100); disp (temp); x =; trama (handle.axes1, x); griglia accesa; xlabel ('Time (seconds)') ylabel ('Temperature (° C)'); titolo ("Grafico della temperatura in tempo reale"); drawnow set (handle.edit1, 'String', num2str (temp)); pausa (1); fine
Ora vediamo come funziona il codice. Nella riga inferiore delle tre righe abbiamo impostato il valore iniziale di " x " a zero, definendo " go " come true per avviare il ciclo while e dichiarato " globale a" per chiamare Arduino nella funzione.
x = 0; go = true; globale a;
La riga di codice sottostante viene utilizzata per rilevare il valore di tensione dal pin analogico A1 di Arduino che è collegato al pin "OUT" del sensore di temperatura LM35. L'uscita sarà il valore di tensione non il valore analogico.
valore = readVoltage (a, 'A1');
Qui possiamo convertire direttamente il valore della tensione nel valore della temperatura (gradi Celsius), moltiplicandolo per 10
temp = (valore * 100);
Ora, per tracciare il grafico viene utilizzata la funzione 'plot (handle.axes1, x)' , dove axes1 è il riferimento o il nome dell'area del grafico. Quindi, se stai tracciando più di un grafico, devi solo cambiare il nome degli assi, ad esempio se traccia un altro grafico puoi scrivere plot (handle.axes2, x) '
"Grid on" viene utilizzato per Nella vista Grid del grafico , "xlabel", "ylabel" e " title " vengono utilizzati per denominare l'asse x, l'asse y e il titolo.
trama (handle.axes1, x); griglia accesa; xlabel ('Time (seconds)') ylabel ('Temperature (° C)'); titolo ("Grafico della temperatura in tempo reale");
" Drawnow" viene utilizzato per aggiornare la rappresentazione grafica in tempo reale.
drawnow
Per visualizzare il valore della temperatura nella casella di testo di modifica ogni secondo viene utilizzato il comando sottostante, set (handle.edit1, 'String', num2str (temp));
Materiale richiesto
- Laptop installato MATLAB (Preferenza: R2016a o versioni successive)
- Arduino UNO
- LM35 - Sensore di temperatura
- Collegamento dei cavi
- Breadboard
Schema elettrico
Traccia il grafico con MATLAB
Dopo aver 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 il messaggio di occupato nell'angolo in basso a sinistra come mostrato di seguito,
Quando tutto è pronto, fai clic sul pulsante di avvio e inizierai a ottenere i dati di temperatura sull'Area grafica e nella casella Modifica testo . Il valore si aggiornerà automaticamente ogni secondo. Questo intervallo di un secondo puoi modificare il codice MATLAB di conseguenza.
L'output sarà simile all'immagine mostrata di seguito,
In questo modo puoi tracciare il grafico per qualsiasi valore in arrivo da Arduino utilizzando MATLAB.
Guarda il video dimostrativo di seguito per una corretta comprensione.