Letture differite sensori

Salve,
Mi servirebbe un aiuto, ho realizzato un crepuscolare cn il fotoresistore e inoltre ho aggiunto un sensore di umidita.
Vorrei che mi legga l umidita ogni 3h e non in continuo come il fotoresistore.come posso scrivere il codice?

Se metti la lettura in un'if, e lo esegui solo dopo che e' passato il tempo che vuoi (da controllare con millis), dovresti risolvere abbastanza facilmente ... :wink:

Comunque, prima che passi un mod a "sgridarti", per cortesia presentati nell'apposito thread in sezione generale, grazie :wink:

>carmnil: Come già indicatoti da "Etem", essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

Ciao,
nel seguito vi mostro il mio codice, come sta impostato sia il sensore di umidità che il fotoresistore trasmettono la lettura ogni secondo.
Mi servirebbe che il sensore di umidità legga ogni 3h e se necessario attivare la funzione if ( e non ogni secondo come fa ora). Inoltre vorrei che 3 volte a giorno mi attivi un servo motore.
é possibile risolverlo con un codice adeguato?

grazie

void setup()  
{  
 pinMode(A0,INPUT); 
 pinMode(A1,INPUT);   
 pinMode(8,OUTPUT);  
 pinMode(9,OUTPUT);
 pinMode(10,OUTPUT);
 pinMode(11,OUTPUT);
 pinMode(12,OUTPUT);
 pinMode(13,OUTPUT);
 Serial.begin(9600); // Inizializzo la comunicazione seriale  
}  
  
void loop()  
{ 

 
 int val = analogRead(fotoresistenza); // salvo il valore fotoresistenza dentro alla variabile val  
 Serial.println(val, DEC); // Scrivo il valore della fotoresistenza, espresso in numeri decimali  
   
 if(val<40) // luce  
 { 
 digitalWrite(9,HIGH);  
 digitalWrite(8,LOW);  
 }
 else  
 { 
 digitalWrite(8,HIGH); //altrimenti lo spengo (o lo lascio spento)  
digitalWrite(9,LOW); //altrimenti lo spengo (o lo lascio spento)  
}
    if(val<80) //led piante notturna
 {
  digitalWrite(10,LOW); 
 }
  
 else 
  
{
  digitalWrite(10,HIGH); //altrimenti lo spengo (o lo lascio spento) 
}

  
   
   int sensorValue = analogRead(A1); //Legge il valore analogico
 delay(5000);
 Serial.println(sensorValue); //Stampa a schermo il valore

if (sensorValue <= 800)
 { 
    digitalWrite(11,HIGH); //Accendi led
   }
  else
     {
      digitalWrite(11,LOW); //Spegni led

     }
     
}

>carmnil: ... se chiedo di leggere con MOLTA attenzione il regolamento, un motivo ci sarà ... ::slight_smile:

... in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

Guglielmo