Introduction
Après nous être attaqué au thermomètre numérique, nous allons maintenant réaliser un mini-réveil matin avec la carte myAVR Board 2 USB, le module LCD et le module horloge temps réel.
Les fonctionnalités de notre réveil sont les suivantes :
- 1. Affichage de l'heure sur l'écran LCD
- 2. Réglage de l'heure à l'aide des boutons
- 3. Activation / Réglagle de l'heure à l'aide des boutons
- 4. Utilisation du buzzer pour la sonnerie du réveil
- 5. Sauvegarde de l'heure grâce à la pile du module horloge temps réel
L'utilisation exacte des boutons est décrite dans la vidéo d'explication.
N'hésitez pas à nous poser des questions sur le projet sur le forum.
L'exemple est compilable avec gcc (fournit avec Winavr).
Quelques explications sur le code
Le code du réveil utilise la librairie myAVR LCD (version 1.2) et la librairie myAVR I2C.
Il comporte une librarie supplémentaire développée pour l'occasion qui sert de surcouche à la librairie I2C et permet de configurer le module horloge temps réel, récupérer l'heure, la changer et l'afficher sur l'écran LCD.
Le programme du réveil étant simple et bien commenté, nous vous laissons le découvrir par vous-même. Notez néanmoins que l'antirebond pour les boutons poussoirs est effectué par logiciel comme vous pourrez le voir dans le code.
Téléchargez les fichiers
Source (.c)
Header gestion heures (.h)
Source gestion heures (.c)
* Clic droit -> Enregistrer la cible du lien sous
Configuration
Aucune configuration particulière n'est nécessaire, il vous suffit simplement de connecter la carte myAVR 2 USB et les modules myAVR LCD et myTWI Horloge Temps Réel ensembles.
Au niveau de la carte myAVR 2 USB, vous devez effectuer les connexions suivantes :
- Taster 1 : PortB 4
- Taster 2 : PortB 5
- Led-Grün : PortC 0
- Summer : PortC 1
Le programme a été testé à 3,684 MHz mais devrait tout à fait fonctionner à des fréquences différentes moyennant la modification des paramètres d'initialisation I2C. Les valeurs ont été choisies afin d'obtenir une fréquence sur le bus de 100 kHz pour la fréquence CPU de 3,684 MHz.