Orologio, data e temperatura: questo schema è ok?

Ciao a tutti :slight_smile:
sto facendo questo progetto per un orologio che segni anche data e temperatura. Per ora funziona tutto perfettamente, collegando però i vari componenti esterni alla board di arduino.
Ho provato a buttar giù uno schema usando solo il micro e le periferiche esterne, in modo da minimizzare il pcb.
Volevo sapere da voi se potrebbe andare o potrei incorrere in qualche problema (tipo porte rieservate, ecc...)

Volevo poi chiedervi anche, già che ci sono: per il circuito RTC, invece di una batteria posso usare un condensatore (avevo letto da qualche parte questa cosa). E nel caso, dato che Vbatt dell'RTC accetta al massimo 3.5v, c'è un modo più "furbo" di abbassare la tensione che carica poi il condensatore? Un diodo sicuramente serve per far si che quando non c'è alimentazione esterna il condensatore la fornisca solo all'RTC e non a tutto il circuito scaricandosi all'istante :slight_smile:

non è obbligatorio collegare una batteria, se non lo fai, quando togli l'alimentazione perdi le impostazioni di data e ora... i 3 diodi su Vbat che hai messo, non credo servano a qualcosa.

Nello schema mancano anche le resistenze di pullup consigliate per il bus i2c.

Credo opterò per una batteria tipo quelle per le mobo alla fine :slight_smile:
Per le resistenze per l'I2C, non sono già integrate in arduino? Mi pareva di aver capito che servissero solo se si implementa il protocollo interamente via software, usando ad esempio altri 2 pin diversi da quelli adibiti a SCL e SDA

Ci sono delle resisteenze interne attivate per il I2C ma ognitanto é necessario aggiungere e resistenze da 4,7kOhm che vanno a +5V.

Ti consiglio di mettere una piccola batteria litio tipo bottone sul DS1307. Questa Ti dura 10 anni. Se prendi un modulo col RTC dai fornitori che hanno anche Arduino trovi il portabatteria giá montato.

Prendi per R2 un potenziometro da 10KOhm; va bene anche quello e consuma meno.

Se vuoi regolare la luminositá della retroilluminazione del Display non va bene con il potenziometro R3 da 1kOhm. I led consumano molto e la resistenza o non da abbastanza corrente oppure si brucia.
Usa un uscita PWM con un transistore e una reesistenza da qualche ohm per limitare la correne ( devi fare il calcolo) e una resistenza da 10kOhm su un entrata analogica come setaggio; in questo modo puoi anche fare una variazione della luminositá in funzione del ora e in funzione della sveglia (suono e luce display a paletta).

Verifica la corrente massima dello Stabilizzatore 7805TV Il circuito consuma ca 500mA.
L' alimentazione arriva da un alimentatore stabilizzato? allora prendi uno da 5V e non ti serve il 7805.
Se metti un trasformatore e un ponte radrizzatore non bastano i condensatori che hai messo.

Ciao Uwe

ti ringrazio per le risposte numerose!!
Dunque per la retroilluminazione dici che un trimmer non va bene?
Mi conviene gestire il tutto da arduino? Perchè ora con un pot da 1K la luminosità riesco a cambiarla, perà con un trimmer...mi sa ke hai ragione...
Per il contrasto invece ho cambiato su tuo suggerimento il trimmer da 1k a 10k :slight_smile:
Per l'alimentazione all'inizio pensavo batterie, ma credo consumi troppo...
Il 7805 lo metto perchè se alimentato da esterno il trasformatore dovrebbe essere da 12v (è un regalo e mi sono informato sulla dotazione del destinatario xD xD).

Un alimentatore 5V non costa tanto; Comprati uno che ti risolve un sacco di problemi.
Ciao Uwe

ok :slight_smile:
Per il resto va tutto ok?
Come dicevo, non ci sono porte che magari ad un certo punto sparano fuori qualche output particolare indipendente dal programma?
Tipo quando programmavo sui PIC c'erano registri da settare per non far andare i comparatori ed abilitare i pin corrispondenti come out, ecc...

Cé il pin 0 e 1 che viene usato per la seriale e il Pin 13 che quando fai un reset si illumina un attimo.
Ciao Uwe

ok, si i pin 0 e 1 li ho evitati apposta, il 13 non lo uso...direi che è ok.
Una cosa: per inserire il pulsante di reset devo portare il segnale a livello basso giusto? quindi il pulsante lo metto tra reset e gnd con resistenza di pull-up?

pulsante Reset: Giusto
Ciao Uwe

ho realizzato il circuito, montato i componenti e tutto....
Accendo....schermo con: riga bianca, riga vuota, riga bianca, riga vuota...ovvero come se collegassi il display senza micro...
Provo ad eseguire un programma stupido di lampeggio led e non lo esegue. Tolgo allora i condens dal quarzo che sono da 22pF invece che da 20pF...Stacco controllo un po riattacco, appare la schermata che dovrebbe apparire...ma tutto sta fermo...niente aggiornamento secondi ecc...
Rispengo controllo saldature e provo a rimuovere la pila dell'RTC: stavolta sembra andare...
Tocco il sensore di temp per vedere se cambia sul display e di blocca tutto...provo col pulsante di reset ma nulla...
Spengo riaccendo e di nuovo le righe bianche :-? :-? >:(
Sulla board di arduino gira tutto perfetto :-? cosa diavolo può esserci che non va?

Se tocco il quarzo tutto funziona, appena tolgo il dito si blocca :-? :-?

edit: ok il problema sembra essere il quarzo...
Ora però ho notato che se lascio la batteria inserita e accendo, i secondi non si aggiornano....come mai?? Appena la tolgo (da acceso) ricomincia a darli con l'ora aggiornata...cioè è come se andasse avanti ma con la pila inserita non mi comunica nulla :frowning: