Arduino Esercizio N°3
Costruire un circuito dotato di un input analogico costituito da un potenziometro ed un output digitale, costituito da tre led luminosi (verde, giallo, rosso) che si accendono alternativamente a secondo del valore dell’input analogico.
Collegheremo i LED ed il potenziometro nel seguente modo:
- 3 LED collegato tra ai pin 13, 11 e 9.
- 3 resistenze da 220 Ω da collegare tra i LED e i pin.
- Potenziometro collegato all’ingresso analogico A0.
L’ingresso analogico può variare tra 0÷1023.
Il valore acquisito dall’ingresso A0 viene memorizzato nella variabile val. Stabiliamo (arbitrariamente) che se:
val≥682 si accende solo il LED rosso collegato al pin 13
341≤val<682 si accende solo il LED giallo collegato al pin 11
val<341 si accende solo il LED verde collegato al pin 9
il codice del programma: è il seguente:
int val = 0;
void setup() {
pinMode(A0, INPUT);
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void loop() {
//legge il valore analogico in ingresso:
val = analogRead(A0);
if(val>=682){
digitalWrite(13,HIGH); digitalWrite(11,LOW); digitalWrite(9,LOW);
}else if(val>=341 && val<682){
digitalWrite(13,LOW); digitalWrite(11,HIGH); digitalWrite(9,LOW);
}else{
digitalWrite(13,LOW); digitalWrite(11,LOW); digitalWrite(9,HIGH);
}//fine if-else-if
Serial.println(val); delay(2);
}
Il valore della variabile analogica acquisita è inviato al monitor seriale.
Commento all'articolo