prof. Jacques Lepot
Réalisation d'un réveil digital
télécharger les fichiers
version 2010

Avec ce projet, nous allons construire et programmer un réveil digital.
Un objectif sera d'obtenir un maximum de fonctions avec un minimum de composants, le coût du matériel doit être inférieur à 10€.
Nous utiliserons un microcontrôleur ATMEGA8 (ou 48,88,168), un afficheur à 7 segments quadruple et 4 boutons.Si on désire utiliser réellement ce réveil, il faudra ajouter un quartz, l'horloge interne n'étant pas assez stable, il pourrait y avoir plusieurs minutes de décalage par jour (1min/jour = 0,07%). Mais ce quartz n'est pas nécessaire pour le développement.
Le réveil disposera d'une alarme sonore, nous utiliserons pour cela la sortie OC1A du timer1 connectée directement à un petit haut-parleur.

2 boutons serviront à faire avancer l'heure et les minutes pour le réglage de l'heure et de l'alarme.
1 bouton permettra de passer du mode réglage heure au mode réglage alarme.
1 bouton pour arrêter l'alarme.

Pour le développement, le circuit sera alimenté par le connecteur SPI, pour l'utilisation finale on utilisera un petit adaptateur secteur (de 6 à 12V DC) la consommation des LED étant trop importante pour utiliser des piles plus de 24H. Il faudra donc prévoir un régulateur de type 7805.
Nous conserverons le bus I2C (sda/scl) pour une extension éventuelle (capteur/mémoire...), ainsi que une entrée du convertisseur analogique/digital. Avec cela, notre réveil pourra se transformer en appareil de mesure pour d'autres projets


 

 

Le schéma

Toutes les pattes sont utilisées, les 3 pattes du port SPI (miso/mosi/sck) servent à la fois pour la programmation et l'afficheur.
L'afficheur est multiplexé, il n'y à que 7 (+dp) entrées, elles vont toutes vers les 7 leds de chaque afficheur,
c'est en mettant à la masse une des 4 cathodes communes que l'on active 1 des 4 afficheurs.
Si on mets toutes les cathodes à la masse, les 4 chiffres seront les mêmes !.
Nous utiliseront la persistance de l'oeil pour donner l'impression que 4 chiffres sont affichés, alors que en réalité, les 4 chiffres seront affichés un après l'autre. C'est le software qui fournira 1 après l'autre les commandes aux leds et les commandes des cathodes.
La résistance R9, en option, est la résistance de pull-up indispensable pour une liaison I2C



Liste des composants (partslist ou BOM)

    ref. farnell  
C1 100nF    
CP1 22uF/16V polarisé    
R1-R8 entre 100 et 220 ohms    
R9 4.7K    
IC1 ATMEGA8 ou 48 ou 88 ou 168    
SKT 2 socket 14 broches ou 1 de 28    
IC2 7805 1102157  
JP1 header 6 pins    
Q1 quartz 8Mhz (option)    
S1-S4 Switches 9471758  
U1 Afficheur LED X 4 1003345 ou 1003341  

Le circuit imprimé

Un exemple de placement et de routage



Montage


Vérifier le circuit imprimé, coupures, ponts.
Vérifier que les pin-headers les switches et le 7805 entrent dans les trous (1mm), si nécessaire, re-forer les trous.
Placer et souder les 3 ponts
Placer et souder les résistances.
Placer et souder les support du c.i. bien alignés et à plat
Souder le pin header ISP
Repérer le sens et racorder le cable ISP du programmeur, teter la présence de 5V au bons endroits.
Souder le 7805, l'afficheur, les boutons et les condensateurs.

Test


Après avoir vérifié les tensions, placez votre processeur sur le socket. DANS LE BON SENS
Après l'avoir compilé pour le bon modèle de processeur, vous pouvez charger le programme de test.
(page sur l'utilisation du programmeur)

Software

Version 0: Test des afficheurs et des boutons

Version 1: Fonction d'affichage des 4 chiffres, utilisation du timer 0 et interruptions

Version 2: Utilisation des boutons pour la mise à l'heure et le mode

Version 3: Réveil complet avec utilisation du timer1 pour produire le son de l'alarme

Quelques réalisations