GUIDA 9: Arduino, il monitor seriale

Scrivo questo articolo per spiegarti cosa è e come funziona il monitor seriale.

Il monitor seriale è uno strumento presente nell’ide di Arduino che permette di leggere i dati che Arduino comunica tramite la porta seriale COM al computer. L’interfaccia del monitor seriale è quella che vedi nell’immagine:

interfaccia

La funzione per inizializzare la comunicazione seriale nel setup() è:

Serial.begin();

Tra le due parentesi tonde bisogna inserire la velocità, espressa in bps (boud rate per secondo). Solitamente si imposta a 9600:

Serial.begon(9600);

Nel loop, la funzione che devi inserire per scrivere un dato sulla porta seriale è:

Serial.print(“testo”);

Esiste inoltre una funzione che permette di scrivere un testo e poi andare a capo:

Serial.println(“testo”);

Spiegate le funzioni di base per la comunicazione seriale, ti mostro il classico esempio:

void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(“testo”);
delay(500);
}

Nel setup ho inserito la funzione per inizializzare la comunicazione seriale a 9600 bit per secondo; mentre nel loop ho fatto stampare sul monitor seriale la stringa “testo” e ho aggiunto una pausa di 500 ms. In questo modo ogni mezzo secondo verrà stampata la stringa “testo”.

Possiamo applicare l’utilizzo del monitor seriale a uno dei progetti che ti ho mostrato nelle precedenti guide; vediamo il suo utilizzo nel circuito della guida 6, dove ho spiegato come usare un pulsante per accendere un LED. Il codice era:

int led=7;
int pulsante=9;
int stato_led=0;
int stato_pulsante=0;

void setup() {
pinMode(led, OUTPUT);
pinMode(pulsante, INPUT);
}

void loop() {
stato_pulsante=digitalRead(pulsante);

if (stato_pulsante == HIGH) {
if (stato_led == LOW) {
stato_led = 1;
digitalWrite(led, stato_led);
delay (1000);
}
else {
stato_led=0;
digitalWrite(led, stato_led);
delay (1000);
}

Noi dobbiamo modificarlo per ottenere che quando il LED è acceso venga stampata la scritta “LED ACCESO”, mentre quando il LED è spento venga stampata la scritta “LED SPENTO”. Fare ciò è molto semplice. Inizializziamo nel setup() la comunicazione seriale. Nel loop(), in “if(stato_led==LOW)” scriviamo:

Serial.println(“LED ACCESO”);

per stampare la scritta “LED ACCESO”, in caso che lo stato logico del LED sia basso, e tornare a capo. In “else” scriviamo:

Serial.println(“LED SPENTO”);

per stampare la scritta “LED SPENTO”e tornare a capo.

Ecco il codice completo:

int led=7;
int pulsante=9;
int stato_led=0;
int stato_pulsante=0;

void setup() {
pinMode(led, OUTPUT);
pinMode(pulsante, INPUT);
Serial.begin(9600);
}

void loop() {
stato_pulsante=digitalRead(pulsante);

if (stato_pulsante == HIGH) {
if (stato_led == LOW) {
stato_led = 1;
digitalWrite(led, stato_led);
Serial.println(“LED ACCESO”);
delay (1000);
}
else {
stato_led=0;
digitalWrite(led, stato_led);
Serial.println(“LED SPENTO”);
delay (1000);
}
}
}

Ecco un video in cui mostro il funzionamento:

4 Risposte a “GUIDA 9: Arduino, il monitor seriale”

  1. acquiring equivalent rss snag? Someone who’s going to be aware of nice retort. Thnkx fdgedeecdkbc

  2. Hi, Neat post. There is an issue together with your site in internet explorer, may test this IE nonetheless is the marketplace leader and a huge part of folks will leave out your magnificent writing because of this problem. debfafgffebdfbed

I commenti sono chiusi.