Go Down

Topic: problema con codice (Read 1 time) previous topic - next topic

steveborty

Dec 14, 2012, 08:05 pm Last Edit: Dec 15, 2012, 11:27 am by UweFederer Reason: 1
ho un problema con il codice...vorrei che un led si accendesse quando c'e` luce e che si spegnesse quando non c'e ne e che un'altro led si accendesse quando non c'e` luce e si spegnesse quando c'e`

Code: [Select]
int sensorValue;
int sensorLow = 0;
int sensorHigh = 1023;

void setup() {  
 pinMode(12, OUTPUT);
 pinMode(13, OUTPUT);
}

void loop() {
 sensorValue = analogRead(A0);
if (sensorValue < 1023 )
   {  
  digitalWrite(12, HIGH);
  digitalWrite(13,LOW);  
    }
   else       
     digitalWrite(13,HIGH);
     digitalWrite(12,LOW);
 }


sono un principiante quindi non so` benissimo come fare per impostarle il codice,e se riuscite datemi anche una spiegazione.

grazie mille   :)

qsecofr

#1
Dec 14, 2012, 08:27 pm Last Edit: Dec 15, 2012, 11:28 am by UweFederer Reason: 1
1023 è il massimo valore raggiungibile dall'analog read quindi avrai pressochè sempre l'esecuzione del test < 1023... il ramo else ce l'hai solo se metti proprio 5 volt sul pinanalogico...

hai fatto un po' di partitore di tensione? prova a mettere 512 anzichè 1023 e coprire la fotoresistenza...

occhio anche alle parentesi del else che sono da mettere...
Code: [Select]
void loop() {
 sensorValue = analogRead(A0);
if (sensorValue < 512 )
   {
  digitalWrite(12, HIGH);
  digitalWrite(13,LOW);  
}
   else {    
     digitalWrite(13,HIGH);
     digitalWrite(12,LOW);
     } ;  //end else
 }  //end loop

steveborty

adesso si accende l'altro led. ma se copro la fotoresistenza cambia niente

qsecofr


adesso si accende l'altro led. ma se copro la fotoresistenza cambia niente


bisogna capire quanti volt stai mettendo dentro su questo piedino A0.... che resistenze hai usato? fatto bene il collegamento? hai un tester per vedere quanti volt hai sul piedino a0? 512 corrisponde in teoria a 2.5 volt...

steveborty

riesci a vedere il file che ho allegato?

Go Up