Arduino Forum

International => Italiano => Hardware => Topic started by: As_Needed on Nov 14, 2015, 02:39 pm

Title: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 02:39 pm
Salve a tutti,
Siccome volevo inserire pure un rtc al mio progetto della stazione meteo, mi chiedevo quale potevo prendere, che costi però poco e che dia una discreta affidabilità. Sapete consigliarmene qualcuno? Magari con relativo schema di montaggio ad arduino.
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 03:14 pm
DS3231
O altrimenti DS1307, pero' quest'ultimo ti sballa anche di 20 secondi al giorno
Visto che la differenza di costo e' minima, scegli il DS3231. Su Ebay ne trovi a bizzeffe.

In alternativa, come gia' detto da qualche altra parte, se hai una scheda Ethernet potresti usare una libreria che ti simula un RTC via software ( cerca RTCLIB e vedi l'esempio softrtc ) e leggere periodicamente l'ora da Web ( servizio NTP, ci sono gli esempi nella libreria Ethernet ) e sincronizzare quindi l'RTC software.
Pero' sei appunto legato a una connessione Internet, quindi forse e' il caso di investire un 3/4 euro e rendere il tutto autonomo.
Per collegare un RTC, basta collegarsi alle due linee dell'I2C ( SDA-pinA4 e SCL-pinA5 ). Se hai già qualcosa collegato all'I2C, non devi fare altro che metterlo in parallelo

Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 04:09 pm
Grazie mille Brunello ;)
Comunque ho collegato così, va bene come ho messo? Su ebay si trova a pochi euro infatti, e anche se metterò l ethernet shield voglio averlo come dici un rtc per rendere il tutto autonomo... Comunque l'ethernet shield occupa dei piedini? Cioè sì, si incastra con arduino, ma occupa, nel senso che usa qualche piedino di arduino lo shield?
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 04:25 pm
Esatto, è collegato in modo corretto, pero' prevedi ache due resistenze tra le linee I2C (SDA e SCL) e il Vcc. Servono a caricare il bus e anche se in genere ogni modulino ha già le sue a bordo, non e' detto che non vadano inserite

 Riguardo alla shield Ethernet, si collega fisicamente sul connettore ICSP ( quello a 6 pin ) però devi lasciare liberi anche i pin D10, D11, D12, D13 ( sono quelli del Bus SPI usato dalla Ethernet ) e se vuoi usare anche la SD a bordo della shield, devi liberare il pin D4
Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 04:52 pm
Ah... allora mi sa è un problema collegare lo shield ho praticamente tutto occupato...

Per le resistenze da quanto ? Ma così dici? (foto)

EDIT: Vedi questa di immagine che quella che ho caricato è fatta male
http://i.imgur.com/cGcrha3.png
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 05:03 pm
forse mi sono spiegato male, le reistenze vanno tra i comuni dell'SDA e il positivo , lo stesso per l'SCL

in pratica sono dei PullUp, il valore dipende da che resistenze hanno inserito nei moduli, diciamo che 3,3K dovrebbe andare bene

Puoi usare anche i pin da A0 a A3 come digitali

Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 05:48 pm
forse mi sono spiegato male, le reistenze vanno tra i comuni dell'SDA e il positivo , lo stesso per l'SCL

in pratica sono dei PullUp, il valore dipende da che resistenze hanno inserito nei moduli, diciamo che 3,3K dovrebbe andare bene

Puoi usare anche i pin da A0 a A3 come digitali


Forse ho capito male pure io. Adesso le ho messe così, dimmi se ho capito...
Comunque allora posso usare da A0 ad A3 come digitali e poi sposto il tx20 al pin 12 e uso l sd sul pin 4 ;)
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 06:04 pm
cosi'
(https://s-media-cache-ak0.pinimg.com/originals/33/be/74/33be74f47f5c9b584e9ef41efe51b393.jpg)

i pin da 10 a 13, per la ethernet devono essere lasciati liberi
Che LCD-TFT useresti ?

Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 06:27 pm
Ecco fatto.
Comunque è questo il display
http://www.tweaking4all.com/hardware/arduino/sainsmart-arduino-color-display/

Qua ci sono i vari metodi di collegamento oltre lo schema del display, il problema che il tft mi prende 5 ingressi digitali...

A meno che non sia possibile spostare 4 ingressi del display su quelli da A0 ad A3 e quindi liberare da D10 a D13 e poi spostare il tx20 su un altro piedino libero digitale, liberando così il piedino D4 per usare l'sd...
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 06:54 pm
puoi collegarlo direttamente sul bus SPI

Quote
// Option 2: must use the hardware SPI pins
// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be
// an output. This is much faster - also required if you want
// to use the microSD card (see the image drawing example)
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
dove come CS, DC, RST usi 3 pin che possono essere A1, A2, A3 ( gli altri due vanno al 11 e 13 )
Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 07:01 pm
Però non risolvo il problema dell'ethernet...
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 14, 2015, 07:14 pm
certo che lo risolvi.
sia l'ethernet che il TFT usano il bus SPI, che e' composto da 3 pin ( clk, Mosi, Miso e CS)
e siccome si tratta di un BUS, vi puoi collegare piu' dispositivi, l'unica cosa che non puo' essere in comune e' il CS ( chip select ) che deve essere diverso per ogni periferica.
in pratica,


Quote
* ETH sono i pin di Arduino con inserita la shield Ethernet

ETH           TFT
  13            SCK (SCL)
  12                                 Lasciare libero
  11            MOSI (SDA)
  10                                 Lasciare libero
 A1              DC
 A2              RES
 A3              CS


Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 14, 2015, 07:53 pm
Ah ecco perché si possono collegare più dispositivi come su A4 e A5!
Mi metto all'opera per lo schema allora ;) Grazie mille dell'aiuto che mi stai dando!
Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 15, 2015, 12:32 pm
Allora ecco lo schema penso vada bene ;)
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 15, 2015, 01:57 pm
Secondo me, la gestione dell'anemometro TX20 lavora su Interrupt
e ti ricordi che abbiamo detto che i pin possono essere D2 per l'interrupt 0 e D3 per l'interrupt 1  ?
Sul  pin D3 (interrupt 1 ) c'e' il pluviometro.... OK
Sul pin D2  (interrupt 0 ) attualmente c'e' il DS18B20, che funziona solo a chiamata, quindi puoi inserirlo in un pin qualsiasi
Mentre l'Anemometro e' sul pin D8.
Se inverti i pin D2 con D8 e' meglio

Sai cosa sono gli interrupt, vero ?
Faccio un esempio:
Tu vuoi leggere la velocità del vento e sai che l'OUT l'anemometro passa da LOW ad HIGH ad ogni giro completo delle pale ( o anche 2, 3, 4 volte, dipende da quanti reed vi hanno messo ) , tu non devi fare altro che rilevare lo stato sul pin collegato all'OUT dell'anemometro e misurare il tempo trascorso tra un impulso e l'altro.
Ora per fare questo, dovresti leggere continuamente lo stato della porta, senza poter fare altro. Ed e' qui che conviene usare gli Interrupt, che non sono altro una delle possibilità che offre il micro. In pratica abilitandolo, non fai altro che istruire il micro ad eseguire una certa azione quando lo stato su un determinato pin cambia. Puoi rilevare se e' LOW, se ha cambiato di stato, o anche nel momento in cui passa da HIGH a LOW o viceversa.
E il bello e' che la routine chiamata da questo interrupt si attiva anche se stai facendo altre cose e quindi non perde un colpo





Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 15, 2015, 02:55 pm
Si si mi ricordo! Comunque io prima avevo collegato e testato il tx20 sul pin 4 e in effetti qualche volta segnava velocità impossibili, per esempio lo toccavo per sbaglio e si muoveva a malapena e segnava tipo 9km/h forse è per quello... Quindi mi consigli di mettere al posto del DS18B20 sul pin 2 l'anemometro. Bhe lo faccio allora ;) Poi però ho capito in generale come usare gli interrupt e a cosa servono, però su questo lungo programma non so dove inserirli:

Ho messo negli allegati sia sketh che uso per adesso per visualizzare su display tx20 e tutti gli altri sensori più massime e minime per ora con la libreria time, in più ho messo lo schema elettrico quello finito ;)
Title: Re: Buon RTC per stazione meteo?
Post by: brunello22 on Nov 15, 2015, 04:23 pm
Non conosco codesto anenometro e mi aspettavo fosse solo il sensore, invece vedo che ha anche una parte logica.
Infatti manda dei dati elaborati dal micro presente sull'anemometro e non si deve far altro che leggere detta stringa rispettando la temporizzazione.
Non serve quindi un interrupt, al massimo si deve attendere un po' per aspettare l'inizio della stringa.

questa parte pero' non la capisco

Code: [Select]
pinMode(dataPin, OUTPUT);

 digitalWrite(dataPin, HIGH);
 delay(100);
 digitalWrite(dataPin, LOW );
 delay(500);
 pinMode(dataPin, INPUT);

Anzi, la vedo pure pericolosa, dato che potresti mettere in corto il pin collegato sul collettore del transistor

Title: Re: Buon RTC per stazione meteo?
Post by: As_Needed on Nov 15, 2015, 04:52 pm
Comunque sì, manda delle stringhe di bit
Io questo programma del tx 20 l'ho preso e l'ho rielaborato che leggeva male i bit e poi ho aggiunto tutti gli altri sensori e display più max e min, quella parte l'ho lasciata... Dici che la dovrei togliere? Funziona anche senza se la tolgo