Categories: HardwareSoftware

Corso base di Arduino: il plotter seriale

Author: Elettronica Open Source Tom’s Hardware

A meno che non si colleghi un’unità di visualizzazione alla scheda Arduino (monitor, display o altro), essa non può mostrare i risultati derivanti dai suoi calcoli interni. Ci viene d’aiuto, pertanto, questo potentissimo strumento, presente nell’IDE di Arduino e giunto alla versione 1.8.5 alla data della scrittura dell’articolo, che consente di rappresentare graficamente i dati inviati alla linea seriale.

Il Plotter Seriale

Dalla versione 1.6.7 esiste, all’interno dell’IDE di Arduino, il Plotter Seriale. Esso è molto utile quando si vuole osservare una particolare grandezza fisica (temperatura, tensione o altro) nel dominio del tempo o se occorre visualizzare, sempre graficamente, una determinata funzione matematica. Per utilizzare il plotter seriale si devono inviare le informazioni numeriche sulla linea COM, attraverso la funzione Serial.println(). Il plotter seriale si avvia accedendo al menù Strumenti del programma e scegliendo l’omonima voce oppure premendo contemporaneamente i tasti <CTRL> <SHIFT> <L>, come mostra la figura 1. Il plotter seriale risulta particolarmente utile quando si ha a che fare con i dati analogici.

Figura 1: come si avvia il plotter seriale

Facciamo conoscenza con il plotter seriale

Iniziamo subito a lavorare con il plotter seriale, realizzando il cablaggio di cui alla figura 2, che riguarda l’adozione di un termometro LM35, collegato alla porta analogica A0 di Arduino.

Figura 2: il cablaggio del termometro LM35

Scriviamo anche il semplice sketch, riportato in figura 3, che ha il compito di impostare la velocità della linea seriale a 9600 baud, di leggere la tensione digitale restituita dal termometro, di convertirla in una equivalente misura di temperatura e d’inoltrarla ad ogni secondo. Si noti che con il riferimento interno di tensione a 1.1V, l’intervallo di temperature dell’LM35 è, ovviamente, limitato da 0°C a 110°C.

Figura 3: lo sketch per la visualizzazione della temperatura

Dopo aver compilato il programma ed effettuato l’upload sulla MCU è possibile avviare il plotter seriale. Si vedrà tracciare, secondo dopo secondo, il grafico relativo alla temperatura misurata dal sensore, come mostrato in figura 4. Toccando l’LM35 con una mano si potrà apprezzare un sensibile innalzamento del calore. Il grafico è caratterizzato dal tempo, sull’asse X, e dal valore della grandezza esaminata, sull’asse Y.

Figura 4: il grafico della temperatura

Grafici con più serie di dati

Forse molti non lo sanno, ma il plotter seriale è in grado di visualizzare, contemporaneamente, più curve, nello stesso ambito. Si supponga di dover tracciare graficamente l’andamento della temperatura ambientale sia in gradi Celsius che in gradi Fahrenheit. Come nell’esempio precedente, è sufficiente visualizzare le due variabili sulla stessa riga, tramite la funzione Serial.print() e separarle tra loro con uno spazio o con un carattere di tabulazione (“\t”). La figura 5 mostra lo sketch per lo scopo.

Figura 5: lo sketch per la visualizzazione delle due temperature

Il grafico con le due curve è raffigurato in figura 6. Si notino le diverse colorazioni delle due grandezze e la piccola legenda colorata, posta in alto a destra.

Figura 6: il grafico con due serie di dati (Celsius e Fahrenheit)

In figura 7 è, invece, possibile osservare l’output del monitor seriale, che evidenzia come le due serie di dati siano visualizzati su un’unica riga e separate tra loro con uno spazio.

Figura 7: output del monitor seriale

Consigli

Il plotter seriale è caratterizzato da un auto-ranging e si adegua automaticamente a seconda delle entità delle misurazioni. È tuttavia, possibile imporre dei limiti superiori e inferiori, semplicemente prevedendo la visualizzazione di questi ultimi nello sketch, come se fossero delle variabili da mostrare. La figura 8 mostra un grafico con limite superiore e inferiore imposti a -5 e a 100. Si notino, in alto a destra, le diverse colorazioni della legenda.

Il plotter può visualizzare sino a 500 punti e il tracciamento di un punto avviene a ogni esecuzione della funzione Serial.print() oppure Serial.println(). I successivi valori causano uno scorrimento del grafico verso sinistra. Non è possibile avviare diverse sessioni del plotter. Inoltre il tracciamento del grafico non avviene molto velocemente, dal momento che esso è aggiornato continuamente. Esso può visualizzare solo dati numerici.

Figura 8: come imporre il limite superiore e inferiore al grafico

Tom’s Consiglia

Per chi inizia ora e voglia dotarsi di tutto l’occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.

admin

Recent Posts

The Enermax PlatiGemini 1200W ATX 3.1 + ATX12VO PSU Review: The Swiss Army Knife

Author: AnandTech In the retail PC PSU space, most of the focus on new standards…

2 Luglio 2024

Partecipa al concorso Fanta Carrello di Henkel e prova vincere tante forniture di prodotti per la casa!

Author: Tom's Hardware Per coloro che amano i concorsi a premi, ecco una grande notizia:…

2 Luglio 2024

SEGA: il nuovo Crazy Taxi sarà MMO e open world, un vero e proprio progetto tripla A

Author: GAMEmag Con una nuova videointervista agli sviluppatori, sfortunatamente pubblicata solo in giapponese, SEGA ha…

2 Luglio 2024

Electrifier Program: Fostering Culture of Curiosity and Mastery

Author: Schneider Electric This audio was created using Microsoft Azure Speech Services Olivier Blum –…

2 Luglio 2024

È ancora possibile sviluppare un browser Web da zero? Il sogno Ladybird

Author: IlSoftware Il mercato dei browser Web è attualmente dominato da tre motori di rendering: Blink,…

2 Luglio 2024

Meta cambia l’etichettatura delle immagini realizzate o modificate con l’IA dopo le lamentele dei fotografi

Author: Hardware Upgrade Meta ha recentemente annunciato un cambiamento significativo nell'etichettatura dei contenuti potenzialmente generati…

2 Luglio 2024