Benvenuto in Megistone   Click to listen highlighted text! Benvenuto in Megistone Powered By GSpeech
Benvenuto in Megistone   Click to listen highlighted text! Benvenuto in Megistone Powered By GSpeech
Stampa

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:

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.

Click to listen highlighted text! Powered By GSpeech