edutecnica

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.


Esercizio 3        

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.