Projet à microcontrôleur PIC 16F84A / 16F628A
Réveille-matin
Vidéo réalisée par Marc Paradis :
Il s'agit d'un réveille-matin à quartz parfaitement classique.
Le réglage de l'heure courante se fait avec deux boutons poussoirs (l'un pour les minutes et l'autre pour les heures).
Un troisième bouton poussoir sélectionne l'heure de réveil : le réglage se fait de la même façon que pour l'heure courante.
Notez qu'après 3 secondes d'inactivité, l'affichage revient sur l'heure courante.
La sonnerie du réveil se traduit par un bip périodique (cycle de 2 secondes) pendant une durée totale d'une minute.
Vous pouvez arrêter la sonnerie avec l'interrupteur (en position Off).
Pour activer le réveil, l'interrupteur doit être en position On.
- Schéma interne du module d'affichage HDSP-B08G :
Ce montage s'appuie sur le projet horloge à quartz qu'il complète.
Le microcontrôleur utilise une seule source d'interruption (module TMR0 en mode compteur).
Cette interruption est générée toutes les 1/256 seconde exactement (27 =128 périodes du quartz 32,768 kHz).
La routine d'interruption assume la gestion de l'affichage, des trois boutons poussoirs et la commande du buzzer.
Le module d'affichage 4 digits est de type HDSP-B08G (Agilent), à commande multiplexée.
Le multiplexage permet de commander les 4 digits avec seulement 7 + 4 = 11 fils (autrement, il faut 7x4 = 28 fils).
Cela consiste à alimenter un seul digit à la fois : le premier pendant 1/256 s, le second pendant 1/256 s etc ...
En fait, les digits clignotent (à une fréquence de 64 Hz) mais le phénomène est trop rapide pour l'oeil, ce qui donne l'illusion d'un éclairage continu (c'est le même principe utilisé par l'écran d'un téléviseur ...).
Je vous recommande d'observer le phénomène au ralenti en injectant un signal logique d'environ 1 kHz sur la broche RA4/T0CKI (en ayant au préalable débranché la sortie 4 de la porte NAND).
Le décodeur BCD / 7 segments (74LS47) permet de libérer 3 broches au niveau du microcontrôleur.
En définitive, 13 entrées/sorties (sur 13, ce qui justifie la présence du 74LS47) du PIC 16F84A sont utilisées :
La mise en oscillation du quartz 32,768 kHz est délicate : il faut jouer sur les valeurs de R13, R14, C5 et C6 ...
Pour corser le tout, il arrive que l'oscillateur se désynchronise quand on débranche l'oscilloscope ! (C'est comme la radio ou le téléviseur qui se dérègle si on s'en éloigne). Le condensateur C10 devrait résoudre ce problème.
La porte B associée à R15 et C7 réalise une temporisation d'environ 6 secondes : à la mise sous tension, cela laisse le temps à l'oscillateur de 32,768 kHz de se stabiliser.
(C) Fabrice Sincère ; révision 1.2.9