Indice
Descrizione
Nel quinto episodio di questo tutorial su Arduino andremo a vedere come si può utilizzare il monitor seriale per comunicare con Arduino. Impareremo a inizializzare la comunicazione seriale, in modo da ricevere i messaggi inviati da Arduino.
Realizzeremo uno sketch per contare quante volte viene premuto il pulsante e visualizzeremo il risultato sul monitor seriale.
Inoltre impareremo a comandare Arduino dal computer, inviando dei comandi sulla porta seriale che saranno interpretati ed eseguiti dal microcontrollore sulla scheda di Arduino.
int ledPin = 9;
int ritardo = 2000;
void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(ledPin, HIGH);
Serial.println("LED acceso");
delay(ritardo);
digitalWrite(ledPin, LOW);
Serial.println("LED spento");
delay(ritardo);
}
int pulsantePin = 2;
int pulsanteStato = LOW;
int attesaDebounce = 50;
unsigned long ultimoTempoDebounce = 0;
int ultimaLettura = LOW;
int conteggio = 0;
void setup(){
pinMode(pulsantePin, INPUT);
Serial.begin(9600);
}
void loop(){
int lettura = digitalRead(pulsantePin);
if(lettura != ultimaLettura){
ultimoTempoDebounce = millis();
}
if((millis() - ultimoTempoDebounce) > attesaDebounce){
if(lettura != pulsanteStato and lettura == HIGH){
conteggio++;
Serial.print("Conteggio: ");
Serial.println(conteggio);
}
pulsanteStato = lettura;
}
ultimaLettura = lettura;
delay(10);
}
int ledPin = 9;
void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available()){
char comando = Serial.read();
if(comando == 'a'){
digitalWrite(ledPin, HIGH);
Serial.println("LED acceso");
}else if(comando == 's'){
digitalWrite(ledPin, LOW);
Serial.println("LED spento");
}else{
Serial.println("Comando non riconosciuto");
}
}
delay(10);
}