Ho realizzato un progetto semplicissimo in cui ci sono 2 resistori fotoelettrici e 2 led. Arduino deve verificare dove c'è più luce e accendere alternativamente un led. Il problema è che qualunque sia lo stato dei resistori e i loro valori, arduino tiene sempre accesi entrambi i led.
Il programma è il seguente:
int luminosita1;
int luminosita2;
int led1=2;
int led2=1;
int sensore1=A0;
int sensore2=A1;
void setup()
{
Serial.begin(9600);
pinMode(sensore1, INPUT);
pinMode(sensore2, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
luminosita1 = analogRead(sensore1);
luminosita2 = analogRead(sensore2);
if(luminosita1>luminosita2){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
}
if(luminosita2>luminosita1){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
}
Serial.print("luminosita1 = ");
Serial.println(luminosita1);
Serial.print("luminosita2 = ");
Serial.println(luminosita2);
delay(500);
}
Dove sbaglio?