Dernière mise à jour :
05/02/2012
Article non terminé, volontairement
non
référencé dans les sommaires du
site
Présentation
Si on y regarde de près, cette horloge semble tout ce qu'il y a de
plus hordinaire (contraction de HORrible et orDINAIRE). Pourtant, elle
ne fait pas qu'indiquer l'heure, lisez plutôt (de préférence à voix
haute) :
- Annonce
manuelle ou automatique de l'heure et des minutes. En mode automatique,
annonce toutes les heures ou toutes les demi-heures.
- Voix
réelle et non synthétique : c'est la mienne (que je met à disposition
par défaut) ou n'importe quelle autre de votre choix si la simple idée de m'entendre vous rebute. Les sons émis
sont en effet stockés sur une carte mémoire SD et peuvent être
modifiés à tout instant.
- Réveil
sonore progressif : trois degrés de volume sonore, du plus faible au
plus fort. Avec un simple bip-bip, une musique ou votre propre
voix, au choix.
- Allumage
progressif d'une petite lampe à LED sur une durée allant de 20 à 30
minutes, avant avertissement sonore, pour préparer le cerveau au réveil à
venir.
Le
montage s'articule autour d'un PIC 18F2420 associé à une horloge
temps réelle (RTC) et l'affichage de l'heure se fait via quatre digits
sept segments utilisés en
mode multiplexé.
Dans
les années 90, j'ai réalisé une horloge parlante en kit basée sur
un circuit spécialisé, pour l'anniversaire d'une amie. Je n'avais pas
trop de mérite car il m'avait suffit de souder les composants
conformément au plan fourni avec le kit. Mais quel plaisir d'entendre
une horloge parlante à la maison. Ce n'était pas très courant, à
l'époque ! Si j'ai voulu renouveler l'expérience en cette année 2012,
c'est autant pour me faire plaisir que dans un but légèrement
pédagogique : pourrait-on apprendre l'heure en l'entendant ? Si oui,
cela me serait fort utile car j'ai encore des tas de choses à apprendre.
Avertissement
Ce projet a fait l'objet d'un dépôt de paternité
auprès de l'
INPI
(Institut National de la Propriété Industrielle) sous le numéro
xxxxxx.
Schéma
Le schéma qui suit est complet, ne lui manque que l'alimentation.
Horloge temps réel externe
Un
circuit spécifique RTC (Real Time Clock) de type
PCF8583
est mis en oeuvre pour la fonction
"fourniture données horaires". Ce circuit est constitué d'un
oscillateur travaillant sur une base de temps 1 Hz à partir d'un quartz
32,768 kHz et d'une circuiterie interne qui s'appuie sur cette base de
temps 1 Hz pour incrémenter de façon "intelligente" les information
heure et date, lesquelles sont fournies à la demande via une
liaison série deux
fils I2C.
Les deux boutons poussoirs SW1/Set et SW2/Val permettent
respectivement de sélectionner le paramètre à ajuster (date ou heure)
et d'en modifier la valeur courante. Au premier démarrage du système,
la date et l'heure doivent être mises à jour, cette opération
n'ayant plus besoin d'être effectuée par la suite puisqu'une pile de sauvegarde assure
le maintien des informations horaires en cas de coupure
secteur.
Horloge PIC ?
Mais
dites-moi mon cher ami, est-il vraiment indispensable d'utiliser un
circuit RTC externe ? Ne pourrait-on pas se passer du PCF8583 et
ajouter un quartz au PIC qui serait quant à lui basé sur des
interruptions pour générer la base de temps 1 Hz ? Mais bien sûr qu'il
est possible de procéder ainsi ! D'ailleurs c'est un secret et je vous
demande de le divulguer le plus largement possible, je travaille sur le
code logiciel qui devrait à terme permettre de choisir entre les deux
modes de fonctionnement : horloge interne ou horloge externe. Notez
bien que sur le schéma actuel les deux broches du PIC dédiées à
l'oscillateur quartz sont encore libres...
Affichage LED
-
Mode multiplexé.
Stockage et lecture des sons
Les
sons correspondant aux heures et minutes ainsi que ceux correspondant
aux messages de réveil sont stockés sur une carte SD pour vous
permettre de les modifier à volonté. Le format de ces sons est
impérativement 16 kHz / 8 bits. En attendant de constituer les votres,
je met à disposition un ensemble de sons qui vous permet de démarrer et
surtout de tester le circuit. Les fichiers doivent porter un nom imposé
par le code logiciel, ce qui ne doit poser aucun problème même si vous
préférez utiliser les votres. La convention de nomage des fichiers est
la suivante :
- Les fichiers son des heures
et minutes portent tout simplement le nom du nombre, en chiffre. Les
mots "heures" et "minutes" sont stockés dans un fichier qui porte
le même nom, en toutes lettres. Ainsi, l'annonce de l'heure "13h53" se
fait au moyen de 3 ou 4 sons - selon que vous avez décidé ou non de
faire prononcer le mot "minutes" - qui sont "13.wav", "heures.wav",
"53.wav" et en option "minutes.wav".
- Les fichiers son du réveil sont "reveil1.wav", "reveil2.wav" et "reveil3.wav", allant du plus doux au plus énergique.
SI
vous constatez qu'un son n'est pas émis alors que les autres le sont,
la première chose à vérifier est le bon nom des fichiers stockés sur la
carte SD.
Extension NTP ?
Mise
à jour automatique de l'heure via protocole horaire internet (Network
Time Protocol) ? Pas prévu pour le moment même si beaucoup désormais
disposent d'une connexion Internet dans la chambre à coucher. On verra
ce point plus tard (c'est à dire quand je serai prêt), si vous voulez
bien.
Logiciel du PIC
Le
fichier binaire compilé (*.hex) prêt à flasher dans le PIC est
disponible
dans l'archive suivante.
Horloge
003 - PIC 18F2420 - 15/01/2012
Logiciel non disponible pour l'instant
Si
vous souhaitez recevoir par la poste un PIC préprogrammé
et prêt à utiliser, merci de consulter la page
PIC - Sources.
Circuit imprimé
Non réalisé.
Historique
15/01/2012- Première mise à disposition