[RISOLTO] Clessidra digitale: non funziona in nessun modo!

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;
}


... il codice DEVI racchiuderlo tra i tag CODE e NON tra i tag QUOTE, cortesmente correggi, grazie. :slight_smile:

Guglielmo

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!

Non ho il libro quindi non ne conosco il contenuto ma se veramente il codice è scritto così come hai postato tu... butta il libro :slight_smile:

Se ti ricordi, metti [RISOLTO] sul titolo del PRIMO post che hai fatto.

fabpolli:
Non ho il libro quindi non ne conosco il contenuto ma se veramente il codice è scritto così come hai postato tu... butta il libro :slight_smile:

Il problema è che il libro è quello che esce nello starter kit dell'arduino originale!

Ricontrolla il codice che hai scritto. Il libro è corretto. Hai chiuso in maniera errata una graffa
Usa ctrl+t che indenta il codice come nel libro

PS nel libro c'è errore ma è la parte if(led==7) che è incompleta

if(led==7) { 
led=2;
}