Consiglio per funzione temporizzata con lunghe pause

Ciao a tutti,

sono alle prese con un progetto molto semplice per un amico: ho due sensori analogici che devo far leggere più rtc per fissare l'ora ed sd per salvare. Fin qui ovviamente tutto ok, infatti il mio 'problema' sta nel come temporizzare l'esecuzione. Ho bisogno che questa lettura avvenga una volta ogni 4h, mi domandavo quindi quale fosse la soluzione migliore a livello di codice (nel senso che posso usare il delay, ma forse c'è qualcosa di meglio) e ovviamente per consumare meno. Chiaro che i due sensori non consumeranno chissà quanta potenza, ma poiché ne ho bisogno una volta ogni 4 ore significa che per il 90% del tempo consumerebbero a vuoto.

L'idea al momento è quella di accendere i sensori (con un transistor) per una decina di minuti in modo che si stabilizzino, 2-3 letture e salvataggio, spegnimento e pausa di 3h45' con un delay e quindi ripeto.

Inoltre una domanda tecnica, un amico, per dei sensori analogici, ha utilizzato uno schema di questo tipo, chi mi spiega il funzionamento?

Ecco:

Sensore 1: 5v - sensore - analogica (alla quale era collegato per mezzo di una resistenza da 10k il gnd) Sensore 2: gnd - sensore - analogica (con una res 10k al 5v)

Ho un'idea di cosa possa servire in generale questa disposizione, ma non mi capacito di come sia possibile il funzionamento pratico...

Riassumo brevemente perché sul forum sono stati affrontati questi argomenti (risparmio energetico e operazioni temporizzate) un sacco di volte.

Se parliamo di Arduino, parlare anche di risparmio energetico è relativo perché metti solo il chip in sleep ma il resto dell'elettronica della scheda continua a lavorare.

Sulla temporizzazione, la soluzione più semplice è contare i millisecondi tra un intervallo e l'altro. Un sistema più preciso è usare un RTC esterno e controllare esattamente l'orario. Dipende dalle esigenze.

Sulla domanda tecnica, che sensori erano scusa?

Senza sapere quali sensori hai non possiamo dare consigli. Come alimenti Arduino? Una resistenza da 10kOhm collegata tra massa e 5V consuma 0,5mA. Il "sensore" se é qualcosa che cambia la resistenza diminuisce ancora la corrente. Ha poco senso spegnerlo. L' untervallo lo puoi fare con millis() vedi l' esempio "blink without delay" oppure l'RTC. Non scrivi cosa fai col dato misurato. Hai un display, lo mandi via interfaccia o lo memorizzi?

Ciao Uwe

Il dato devo solo memorizzarlo, avevo scritto che lo salvo su sd :)

I sensori sono una sonda di temperatura analogica e un sensore di Ossigeno disciolto, anch'esso analogico. Il primo è quello direttamente collegato al 5v, l'altro al ground.

L'alimentazione per ora è da una batteria a 12V, sto valutando delle Lipo da 7.4 anche se per l'utilizzatore sarebbe più comodo qualcosa in genere 'automobile' per ricaricarla in modo più immediato.

I collegamenti dei sensori sono alquanto bizzarri. Di solito si collegano Vcc e GND e il terzo pin è il segnale in uscita. La sequenza dei pin varia da sensore a sensore e da produttore a produttore.