Salve a tutti, da poco ho acquistato lo starter kit di arduino ed ho iniziato a fare i progetti suggeriti del libro. Sono bloccato al progetto clessidra digitale. Ho fatto tutti i collegamenti come sul libro dei progetti, ho praticamente copiato il codice ma i led non si accendono dopo i 10 minuti. Non so cosa fare!
Vi allego le foto del collegamento (ovviamente ho tolto l'alimentazione per fare la foto).
const int switchPin= 8;
unsigned long previousTime=0;
int switchState=0;
int prevSwitchState=0;
int led=2;
long interval = 600000;
void setup() {
for (int x= 2; x < 8; x++){
pinMode(x, OUTPUT);
}
pinMode(switchPin, INPUT);
}
void loop() {
unsigned long currentTime = millis();
if(currentTime - previousTime > interval){
previousTime=currentTime;
digitalWrite(led,HIGH);
led++;
}
if(led==7){
}
switchState=digitalRead(switchPin);
if(switchState != prevSwitchState){
for(int x=2; x<8;x++){
digitalWrite(x,LOW);
}
}
led=2;
previousTime=currentTime;
prevSwitchState= switchState;
}
Non ho tanto chiaro cosa intendi che non si accendono dopo dieci minuti, ma queste due righe:
led=2;
previousTime=currentTime;
Fanno si che non possa funzionare il controllo del tempo:
if(currentTime - previousTime > interval)
Per fare le prove di consiglio di ridurre la variabile interval in modo tale che i led non si accendano ogni 10 minuti ma uno al minuto altrimenti per vedere se funziona ci diventi vecchio.
Non saprei, io sinceramente ho copiato il codice dal libro dei progetti di arduino. Sta di fatto che ho cambiato le righe di codice che mi hai indicato facendo il programma a modo mio ed ora funziona! Grazie tante!
Ps. Per fare la prova avevo impostato ovviamente il timer a 10 secondi!