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:
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:
acquiring equivalent rss snag? Someone who’s going to be aware of nice retort. Thnkx fdgedeecdkbc
I think you have remarked some very interesting points , appreciate it for the post. eaedkcgddcbc
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 really like and appreciate your blog article.Thanks Again. Really Great.