DIGITAL ALARM CLOCK

www.narcisivalter.it
Progetti Elettronici

 

Translate Page

OROLOGIO-SVEGLIA DIGITALE con PICmicro
(Digital Alarm Clock with PICmicro)


Alarm Clock with PICmicro

INTRODUZIONE    [ TORNA ALL'INDICE ]

In questa pagina descrivo come realizzare una precisa SVEGLIA ELETTRONICA (Digital Alarm Clock) con lettura su display a 7 segmenti in formato HH:MM e con la possibilità di essere interfacciata con una radio esterna per ottenere una completa RADIOSVEGLIA.

Di seguito l'elenco delle caratteristiche.

  • Sistema Orario 24H (ISO 8601).
  • Facile impostazione del tempo e dell’orario di allarme.
  • Funzione SNOOZE da 9 minuti, ripetibile per un massimo di 9 volte.
  • Massimo tempo della suoneria di 59 minuti.
  • Predisposizione per il collegamento con una radio esterna (tramite interfaccia).
  • Possibilità di escludere la suoneria (e l’eventuale interfaccia).
  • Indicazione visiva dell’abilitazione o meno della suoneria (tramite spia LED).
  • Orario di allarme e abilitazione suoneria memorizzati nella Eeprom del PICmicro.
  • Suoneria tramite buzzer autoscillante.
  • Display a sinistra spento se orario inferiore alle "10:00".
  • Display MODE per indicare le fasi di impostazione e la modalità SNOOZE attivata.
  • 5 Display a basso consumo ed alta luminosità.
  • Collegamento con una batteria da 9V per il funzionamento durante un black out.
  • Display spenti durante un black out per prolungare l'autonomia della batteria in tampone.

LO SCHEMA ELETTRICO    [ TORNA ALL'INDICE ]

Nella figura seguente è raffigurato lo schema elettrico della SVEGLIA DIGITALE ELETTRONICA (Digital Alarm Clock) (cliccare sulla figura per ingrandirla).

Schematic diagram of digital Alarm Clock

Il circuito è semplice perché tutto il lavoro è svolto da un microcontrollore della Microchip, il PIC16F886.

Il quarzo esterno XT da 40 kHz genera il segnale di clock per il Timer1 il quale gestisce il conteggio del tempo. Il clock di sistema per il microcontrollore, invece, è quello interno (settato a 8 MHz) e serve per far lavorare il micro in tutte le altre situazioni (visualizzazione delle cifre sul display, gestione dei pulsanti, ecc.): in questo modo è possibile evitare l'uso di un secondo quarzo e "recuperare" due porte per le funzioni I/O.

La gestione dei segmenti del Display è affidata al Port B (i segmenti sono attivati con logica negativa) mentre il Multiplexer è gestito da una parte del Port A secondo quanto illustrato nelle seguenti tabelle.

Display management - Segments   Display management - MPX

Le resistenze R19 e R20 sono dimensionate per far scorrere nei LED una corrente di pochi milliampères.

Il partitore formato da R22 e R23 invia al microcontrollore un livello alto quando è regolarmente presente l'alimentazione principale (12V): grazie a questo partitore, il PIC si "accorge" di un eventuale black out e spegne le cifre del display per prolungare l'autonomia della batteria in tampone.

REALIZZAZIONE PRATICA    [ TORNA ALL'INDICE ]

Nelle immagini successive sono visibili il Board Layout (Disposizione dei componenti sul PCB), il Master (Bottom layer), il Top Layer,(il PCB è a doppia faccia), le dimensioni della scheda e l'elenco dei componenti.

Alarm Clock - Board Layouts   Alarm Clock - Bottom Layer (Copper)   Alarm Clock - Top Layer   Board Dimensions   Components list

Per il montaggio della scheda consiglio di iniziare dai diodi e dalle resistenze e passare, man mano, ai componenti più grandi. Per il microcontrollore ed i 5 display è bene utilizzare degli zoccoli per una facile e rapida sostituzione in caso di guasto.

Per evitare di danneggiare il microcontrollore durante l'uso, consiglio di RIMUOVERE il connettore-strip siglato MX-ICSP perché esso è utile SOLO in fase di programmazione del microcontrollore: un eventuale cortocircuito tra i pin di questo connettore potrebbe danneggiare proprio il PIC.

Per migliorare il contrasto dei LED (ed evitare fastidiose riflessioni), consiglio di inserire il corpo dei LED stessi in un pezzo di guaina termorestringente, come visibile nella seguente foto:

Rivestimento dei LED con guaina termorestringente.

I display a 7 segmenti sono del tipo HDN1131-O (Orange, Super-Red, basso consumo, necessari per non sovraccaricare le uscite del micro ed avere anche un basso consumo totale): su ogni segmento, quando acceso, scorre una corrente di circa 10 mA.

Five Display for Alarm Clock

I due condensatori C4 e C5, così come il quarzo da 40kHz, devono essere di ottima qualità per garantire una buona precisione dell'orologio (nel mio prototipo ho utilizzato un paio di condensatori NPO della Philips).


COLLEGAMENTI    [ TORNA ALL'INDICE ]

Nell'immagine successiva sono schematizzati i collegamenti della Sveglia Elettronica.

Alarm Clock - Wiring diagram

Il Buzzer deve essere del tipo autoscillante e va collegato alla morsettiera siglata M2 (contatti n. 1 e 2) rispettandone la polarità. Inoltre, essendo il buzzer collegato direttamente al microcontrollore, è consigliabile utilizzarne uno a basso consumo: per il mio prototipo ho scelto il modello LD-BZPG-2312 della LOUDITY che a 5V assorbe circa 2 milliampères ed emette un suono chiaro e potente.


Se preferite aumentare ulteriormente la potenza del buzzer autoscillante, è necessario costruire una piccola interfaccia, come ad esempio, quella che appare nell'immagine qui a destra. Grazie ai due diodi 1N4001, il buzzer funzionerà sempre a 12V e, in caso di black-out, anche a 5 V.

L'orologio sveglia è predisposto per il collegamento di una batteria alcalina da 9V (oppure una ricaricabile da 8.4V): essa è utile per mantenere l'orario dell'orologio e far suonare la sveglia anche in caso di un black out. Tuttavia, quando manca l'alimentazione principale da 12V, i display saranno spenti per prolungare l'autonomia della batteria stessa.

Quando si usa una batteria alcalina (NON RICARICABILE) è assolutamente necessario rimuovere la resistenza R21 (3300 ohm) dal circuito.


Sul morsetto M2 siglato "Command" (contatti n. 3 e 4) è presente un segnale positivo a +5V quando la suoneria è attivata: questo segnale è utile per pilotare un'eventuale interfaccia che attivi una radio collegata esternamente al circuito. Nella successiva immagine, riporto l'esempio di un'interfaccia con TRIAC e Optoisolatore (da evitare i relè che, visto il loro assorbimento, porterebbero in breve tempo alla scarica della batteria durante l'allarme in caso di black out).

Alarm Clock - Interface for external Radio

ATTENZIONE ELETTRICITA

ATTENZIONE - Quando si realizzano dispositivi collegati alla tensione di rete a 220Vac fare molta attenzione, onde evitare "pericolosissime esperienze": si consiglia pertanto di aprire o maneggiare i circuiti SOLO DOPO AVER STACCATO LA SPINA DALLA RETE ELETTRICA, osservando sempre le Norme di Sicurezza Elettrica e usando tassativamente contenitori di plastica o legno.


Il circuito deve essere alimentato con una tensione stabilizzata di circa 12Vcc. L'assorbimento medio (grazie anche ai display SIEMENS a basso consumo) si aggira intorno ai 70 mA ma consiglio di scegliere un alimentatore in grado di erogare almeno il doppio per evitare che l'alimentatore stesso scaldi eccessivamente durante l'uso: nel mio prototipo ho utilizzato uno Step-Down AC/DC da 12V - 500mA 6 Watt, piccolo e compatto il quale può essere collegato ad una tensione di rete compresa tra 85 e 265 Vca (50/60 Hz). Il minor consumo si ha quando l'orologio segnala "1:11" mentre il massimo quando l'orologio visualizza l'orario "08:08".

Per concludere, consiglierei di collegare un piccolo interruttore in serie alla batteria in tampone che ne possa eslcudere l'alimentazione durante un lungo periodo di inattività della sveglia (ad es., durante le ferie estive).

COMANDI E USO    [ TORNA ALL'INDICE ]


L'orario funziona con il sistema ISO-8601 (quello delle "24 H"), quindi il display visualizza valori da "0:00" (mezzanotte) a "23:59".

I comandi sono quattro e gestiscono tutte le funzioni della sveglia:

  •  MINUTE/STOP 
  •  HOUR/SNOOZE 
  •  SHIFT 
  •  SET 

Nel mio prototipo, ho "replicato" il pulsante SNOOZE ("sonnellino") collegandone un altro più grande in parallelo al primo e posizionandolo in maniera tale da essere facilmente accessibile.

  •  ACCENSIONE (Power On)
  • All'accensione, dopo il TEST dei DISPLAY, la sveglia visualizza"12:30" (valore di default alla prima accensione). Il display a destra (MODE) è spento.

  •  IMPOSTAZIONE DELL'ORARIO (SET Time)
  • Per impostare l'orario dell'orologio, premere una prima volta il pulsante  SET : il display MODE visualizza la lettera "t". A questo punto, con i pulsanti  MINUTE/STOP  e  HOUR/SNOOZE  si imposta l’orario (tenendo premuto contemporaneamente anche il pulsante  SHIFT  i valori scorreranno all'indietro).
    (NOTA - In caso di black out, il pulsante  SET  è disabilitato.)
    Programming Time

  •  IMPOSTAZIONE DELL'ORARIO DI SVEGLIA (SET Alarm)
  • Per impostare l'orario della sveglia, premere ancora il pulsante  SET : il display MODE a destra visualizza la lettera "A". A questo punto, con i pulsanti  MINUTE/STOP  e  HOUR/SNOOZE  si imposta l’orario della sveglia (tenendo premuto contemporaneamente anche il pulsante  SHIFT  i valori scorreranno all'indietro). L'orario di sveglia è salvato nella memoria del microcontrollore: questo significa che, togliendo tutte le alimentazioni al circuito, le impostazioni rimarranno nella memoria del microcontrollore e alla riattivazione dell’orologio non sarà necessario reimpostare nuovamente l’orario della sveglia.
    Programming Alarm

  •  FINE PROGRAMMAZIONE (Clock mode)
  • Dopo aver impostato l'orario dell'orologio e quello per la sveglia, premere ancora una volta il pulsante  SET  per tornare al modo normale (Clock).
    La programmazione dell’orario di sveglia è salvata nella memoria del microcontrollore: questo significa che, togliendo tutte le alimentazioni al circuito, le impostazioni rimarranno nella memoria nel microcontrollore e alla riattivazione dell’orologio non sarà necessario reimpostare nuovamente l’orario della sveglia. Anche l'impostazione abilitazione/disabilitazione della suoneria è un parametro memorizzato nella memoria del microcontrollore.
    Programming Finish

  •  ABILITARE E DISABILITARE LA SUONERIA (ON/OFF Alarm)
  • Per abilitare e disabilitare la suoneria, tenere premuto il pulsante  SHIFT  e premere il pulsante  HOUR/SNOOZE : l'accensione del LED GIALLO indica che la suoneria è abilitata mentre il LED spento indica che la suoneria è disabilitata.
  • L'abilitazione della suoneria è salvata nella memoria del microcontrollore.

  •  STOP SUONERIA (Stop Alarm)
  • Quando la suoneria è in funzione, premendo il pulsante  MINUTE/STOP  essa sarà disattivata immediatamente, pronta per essere nuovamente riattivata al prossimo orario di sveglia. Il tempo massimo in cui la suoneria rimane attiva, senza che l'utente prema alcun pulsante, è di 59 minuti, trascorsi i quali la sveglia si disattiva automaticamente (pronta ad attivarsi al successivo orario di sveglia).
  • Durante l’allarme, l’orario sul display lampeggia e la suoneria genera impulsi alla frequenza di 1 Hz.

  •  SNOOZE (Pause Alarm)
  • Quando la suoneria è in funzione, premendo il pulsante  HOUR/SNOOZE  essa sarà tacitata momentaneamente per 9 minuti trascorsi i quali la suoneria si riattiva. Il simbolo "o" che appare sul display "MODE" indica che la sveglia è in modalità SNOOZE. Ogni volta che si preme il pulsante  HOUR/SNOOZE , il tempo di allarme massimo della suoneria riparte sempre da 59 minuti. Durante un allarme, è possibile utilizzare la funzione SNOOZE per un massimo di 9 volte. oltre le quali il pulsante non ha più nessun effetto e la sveglia si disattiverà dopo 59 minuti. Per resettare la modalità SNOOZE, premere il pulsante  MINUTE/STOP . (NOTA - Quando la sveglia è in modalità SNOOZE, il pulsante  SET  è disabilitato).
    During SNOOZE

  •  IL DISPLAY "MODE"
  • Il display a destra indica le seguenti situazioni:
    • t = (time) - Programmazione dell'orario orologio.
    • A = (Alarm) - Programmazione dell'orario di sveglia.
    • o = (Snooze) - La sveglia è in modalità SNOOZE.
    • blank = Orologio regolarmente in funzione (Clock mode).

  •  IL DISPLAY DELLE ORE (The Hour Display)
  • Quando il valore delle ORE è inferiore a 10, il primo display a destra è spento.

LE FOTO DEL PROTOTIPO    [ TORNA ALL'INDICE ]

NOTA - Nel mio prototipo ho inserito in parallelo al primo, un secondo pulsante SNOOZE, molto più grande e in posizione tale da essere facilmente utilizzabile.

PICmicro Digital Alram Clock Radiosveglia Digitale con PICmicro Electronic Alarm Clock Digital Alarm Clock Radiosveglia-Digitale-con-PICmicro

DOWNLOAD    [ TORNA ALL'INDICE ]

Nel manuale PDF (che potete scaricare cliccando sul link riportato qui sotto) sono inclusi gli schemi, i disegni per realizzare il PCB, l'elenco dei componenti e altro.

Download

Scarica il manuale del progetto (Disegni, Schema, Master, PCB, Lista Comp. - 3,3 MB)

Scarica il firmware .HEX (ver. 1) per la programmazione del PIC16F886 (4 KB)

Vedi/Scarica il Datasheet del Buzzer LOUDITY mod. LD-BZPG-2312 (80 KB)

COMMENTI    [ TORNA ALL'INDICE ]

[ Torna all'inizio della pagina ]

DISCLAIMER - Tutti i progetti elettronici presentati e descritti nel sito internet http://www.narcisivalter.it possono essere utilizzati solo ed esclusivamente ad uso privato e senza scopo di lucro, pertanto non commercializzati. Le documentazioni dei progetti (schemi elettrici, disegni, foto, video, firmware, ecc.) non sono di dominio pubblico per cui i diritti d'autore rimangono dell'ideatore. Per utilizzare a fini commerciali i progetti (o parte di essi) presenti in questo sito web, si dovrà contattare l'Autore per concordare un'eventuale autorizzazione scritta.
- All the projects in this webpage is provided with no explicit or implicit warranties of operation. I do not assume any responsibility for any problems or damage to persons. The project is released "as is" and no support of any kind is provided. If you build the project, you implicitly accept my terms of not taking responsibility. If you do not agree, please, do not build this project and do not download any informations from this website!
- Tutti i progetti elettronici presenti nel sito internet www.narcisivalter.it sono stati realizzati e sperimentati personalmente dall'Autore, tuttavia l'Autore stesso non garantisce, a chi li realizzerà, un sicuro e perfetto funzionamento. Tutti i progetti elettronici presentati sul sito www.narcisivalter.it sono pensati e realizzati per un'utenza addetta ai lavori, specializzata nel settore elettrico ed elettronico e quindi in grado di valutare la correttezza e la funzionalità dei progetti stessi. Pertanto l'utente accetta espressamente di utilizzare i contenuti del sito sotto la propria responsabilità. I PROGETTI ELETTRONICI PRESENTATI SU QUESTO SITO SONO STATI RILASCIATI A PURO TITOLO HOBBISTICO E/O DI STUDIO E L'AUTORE NON GARANTISCE LA MATEMATICA CERTEZZA CIRCA IL LORO FUNZIONAMENTO E NON SI ASSUME ALTRESI' NESSUNA RESPONSABILITÀ, ESPLICITA O IMPLICITA, RIGUARDANTE INCIDENTI O CONSEGUENTI POSSIBILI DANNI A PERSONE E/O COSE DERIVANTI DALL'USO DEI PROGETTI STESSI. CHI REALIZZA E UTILIZZA I PROGETTI ELETTRONICI DESCRITTI IN QUESTE PAGINE, LO FA COME SUA LIBERA SCELTA ASSUMENDOSI TUTTE LE RESPONSABILITÀ CHE, EVENTUALMENTE, NE POTREBBERO DERIVARE.
AVVERTENZE IMPORTANTI - Molti circuiti descritti nelle pagine di questo sito sono sottoposti a tensione di rete 220-240 Vac e pertanto potenzialmente pericolosi; si può rimanere folgorati se non realizzati ed utilizzati secondo le norme di sicurezza vigenti. Pertanto l'utente e' tenuto a verificare se quanto realizza e' conforme alla normativa ed alla legislazione vigente. Per i non "addetti ai lavori" (improvvisati auto-costruttori) va ricordato che in particolari situazioni (diminuzione resistenza del corpo) già una tensione di 25V alternata potrebbe essere pericolosa. L'elettronica e l'elettricita' in genere affascina molte persone ma va ricordato che non basta uno schema scaricato da Internet per poter arrivare a un prodotto funzionante e sicuro: infatti ci vogliono un minimo di conoscienze delle fondamentali leggi della fisica, dell'elettricita' e dell'elettronica oltre all'esperienza pratica nell'uso di attrezzi e strumenti indispensabili, come saldatore, tester, oscilloscopio, ecc...

Privacy Policy - Cookie Policy - Condizioni d'Uso