Cronotermostato

Ciao a tutti, sono nuovo del mondo arduino, sto cercando di creare un cronotermostato basato su questa tecnologia e vorrei avere un po di chiarimenti su cosa acquistare, inanzi tutto la differenza tra arduino uno e 2009 e poi che tipo di sensore di temperatura è meglio utilizzare. Ho letto che esiste uno shield SD, potrei usare questo per gestire le temperature nelle fasce orarie? O qualcuno ha un idea migliore?
Penso poi serva un LCD (non so 16x2) e dei pulsanti di settaggio.
Mi sapete consilgiare il rivenditore da cui acquistare?

Non escludo che mi interessa anche poter controllare questo apparecchio via GSM per modificare la temperatura in una determinata fascia o per poter attivare/disattivare il cronotermostato

Grazie.

Ciao.
Le differenze fra Uno e 2009 sono poche: l'Uno ha un chip di comunicazione USB diverso. Attualmente l'hardware di riferimento è l'Uno, che è più recente.

Come orologio devi comprare un DS1307, un piccolo integrato che, affiancato ad una batteria esterna e ad un quarzo, ti mantiene l'ora esatta anche in caso di assenza di corrente. Come sensore di temp. va bene un LM35.
Trovi tutto da www.robot-italy.com: in genere in 24 ore hai la merce.
Qui c'è un progettino di riferimento:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235070596

Per il GSM non so consigliarti, per ora non l'ho usato. Cmq comincia a piccoli passi, sennò non ne cavi le gambe, all'inizio :wink:

ciao szghost e benvenuto!

aggiungo solo che se devi mantenere in memoria poche variabili delle temperature non c'è bisogno di ricorrere alle SD ma puoi usare la eeprom interna di arduino.

Oppure sempre da Robot-It comprare un semplicissimo chip EEPROM da 32K che costa una sciocchezza e salvare i dati lì sopra.

Così puoi anche imparare come mettere insieme 2 chip I2C e come accedere ad ognuno di essi :wink:

Anch'io, prima o poi, vorrei sostituire il mio cronotermostato con un cronotermuino :slight_smile: , intanto mi scrivo al thread...

Visto che siete interessati al progetto, perché non vi mettete a lavorare insieme e fate un progettino, magari su shield? :wink:

Ciao

Non escludo che mi interessa anche poter controllare questo apparecchio via GSM per modificare la temperatura in una determinata fascia o per poter attivare/disattivare il cronotermostato

e perchè non utilizzare Google Calendar, come insegna marsangola?
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294331353
:wink:

Ok ragazzi, grazie a tutti , allora mi accingo a comprare quanto detto su robo-italy e vi faccio sapere.....

Domanda ma per l RTC allora in soldoni devo prendere la pila ed il quarzo a parte, scusate ma di elettronica pura con i componenti non ne mastico molto.

Ciao.

Lo schema per un circuito di base con il DS1307 lo trovi nel datasheet del chip stesso:
http://datasheets.maxim-ic.com/en/ds/DS1307.pdf
Ti servono:
1 DS1307 (ovviamente ;))
1 quarzo a 32768 Hz (o 32.768 MHz)
1 condensatore da 100 nF
3 resistenze da 10 Kohm
1 pilettina da 3V e relativo portabatteria

Nel playground c'è la libreria per usarlo.
Di schemi cmq in giro ce ne sono un sacco, questo però è molto ben fatto.

resistenze di pullup da 10k mi sembrano eccessive...a me il chip funziona perfettamente anche senza resistenze di pullup se è l'unica cosa collegata al bus i2c.
In pratica dovrebbero solo servire a velocizzare i transitori di carica e scarica delle capacità parassite dei vai chip collegati al bus...con un solo chip collegato la capacità è piccola e le cose vanno bene.
Io comunque metterei 2.2 kOhm

La batteria non è indispensabile...quindi alla fine per provare ti basta il chip ed il quarzo

Ma la necessità di un RTC esterno non sarà una "reminescenza obsoleta" delle vecchie Arduino? Sulla mia UNO vedo un quarzo, quindi a che serve UN ALTRO quarzo?!? :-?

Sulla mia UNO vedo un quarzo, quindi a che serve UN ALTRO quarzo?!?

Il quarzo sull'Arduino 2009 e Uno è un 16Mhz.
Oltretutto il quarzo è usato dall'RTC direttamente.

Se vuoi abolire un RTC, allora con uno shield Ethernet puoi fare una query ad un ntp server o altro ancora :slight_smile:

"reminescenza obsoleta" delle vecchie Arduino?

cosa vuoi dire? :o

ogni cosa che ha necessita di un segnale di clock per funzionare ha bisogno di un qualcosa che oscilli con una certa precisione...i quarzi fanno questo!

il chip RTC ha bisogno di un suo quarzo a 32.768 kHz che è diverso dal quarzo da 16 MHz che serve all' ATmega.

Che importa se è diverso? l'importante è che sia preciso come un quarzo!
Cioe', sa imposto l'orario in uno sketch (ho visto un esempio da qualche parte a proposito di un logger), dite che non lo mantiene correttamente per qualche mese?
Se pensate di no... perche'? :-?

Intanto il contatore interno dell'Atmega si autoresetta dopo circa 50 giorni (millis() - Arduino Reference).
E poi se va via l'alimentazione ti riparte da zero anche in questo caso perché esso non ha una fonte di alimentazione supplementare come la batteria esterna di un RTC.

Direi che lil primo problema puo' risolversi tramite SW, mentre il secondo problema non esiste: se devi mettere una batteria tampone all'RTC, tanto vale che la metti direttamente su Arduino! Ovvio che consuma di piu', ma comunque non servono circuiti aggiuntivi.

Se il contatore interno dell'Atmega fosse un RTC non avrebbero inventato l'RTC, non trovi? :slight_smile:

E' come dire che con un orologio da polso puoi prendere i tempi di una F1: è una cosa che si può fare ma che non verrà mai uguale ad un sistema di telemetria.

Se devi tener traccia di poche ore puoi anche usare il timer interno, ma se devi tener conto di un periodo di tempo molto lungo, un RTC:

  1. avrà una precisione che un timer se la sogna;
  2. un RTC conta secondi, minuti, ore, giorni, mesi, anni, dà il giorno della settimana, calcola i bisestili, tutto da solo;
  3. lo sai che una comune batteria a moneta alimenta un RTC per più di 10 anni? Trovami una batteria per Arduino che fa la stessa cosa ;D

Ho preso come RTC un modulo che ho trovato su robot-itlay basato sul DS1307 e che monta già il quarzo e ha una batteria al litio garantita 7 anni in piena alimentazione qualcuno lo ha già usato? cosa ne pensate?

Se il contatore interno dell'Atmega fosse un RTC non avrebbero inventato l'RTC, non trovi?

Continuo a pensare che gli RTC siano stati inventati per i circuiti analogici, che non essendo dotati di quarzo non hanno modo di tenere il tempo.
O al massimo per i dispositivi portatili. Un cronotermostato non è portatile, è sempre collegato alla rete, quindi basta una batteria tampone per mantenere l'ora in caso di brevi interruzioni di corrente.
Comunque vabbe', se volete spendere soldi per aggiungere un altro quarzo, aggiungetelo, che vi devo dire? :-?

Non dico di voler spendere di più ad ogni costo (e cmq la spesa sarebbe irrisoria), dico solo che un RTC offre un sacco di funzionalità che, senza, dovresti ricreare via software appesantendo lo sketch per nulla.

Poi, come dici tu, ognuno è libero di dare la propria opinione e di fare come vuole. ::slight_smile: