Mon-Reveil-Programmer
Si vous désirez obtenir le code complet directement, cliquez ici
![]() |
N'hésitez pas à tester vos connectiques si ce n'a pas été encore réalisé ! |
Environnement de travail
Dans ce tutoriel, nous travaillons sur l'environnement d'ArduinoIDE. Si vous ne l'avez pas encore installé, vous pouvez le télécharger ici.
Passons au vif du sujet.
- Premièrement télécharger le fichier compressé du réveil, se trouvant ici.
- Décompressé le fichier zip.
- Dans le dossier "Mon Reveil", ajoutez-y les fichiers Adafruit_LEDBackpack.h et Adafruit_LEDBackpack.cpp (disponible ici).
- Ouvrez le projet sur ArduinoIDE :
Menu -> Ouvrir -> "où_le_fichier_décompressé_est/Mon-Reveil-1-master/Mon-Reveil/Mon-Reveil.ino"
640px
Contenu du projet - cliquez pour agrandir
Explication du code
Pour mieux comprendre le code, je vais vous expliquez chaque parties du code ainsi que les différentes procédures à suivre.
Les inclusions de bibliothèques
#include "Adafruit_LEDBackpack.h" // Afficheurs
#include <RTClib.h> // RTC
#include <EEPROM.h> // Mémoire non-volatile pour stocker les paramètres
#include "pitches.h" // Notes de musique
#include "melodies.h" // Playlists de musiques
- Le fichiers pitches.h contient les notes sous forme d'impulsions
- Le fichier melodies.h contient plusieurs mélodies que vous pouvez définir comme sonnerie d'alarmes
Définir la position des boutons, des leds et du buzzer
// Boutons Piggrl
#define BOUTON_ALARME_CONTROLE 2 // Digitale
#define BOUTON_PLUS 3 // Digitale
#define BOUTON_MOINS 4 // Digitale
#define BOUTON_LUMINOSITE 5 // Digitale
// Boutons Arcade
#define BOUTON_OK 14 // Analogue 0
#define BOUTON_SNOOZE 15 // Analogue 1
#define LED_BOUTON_OK 16 // Analogue 2
#define LED_BOUTON_SNOOZE 17 // Analogue 3
// Piezzo Buzzer
#define PIEZO_BUZZER 13 // Digitale
Personnaliser les paramètres par défaut
Il est possible de personnaliser les paramètres par défaut des alarmes.
// ================================================
// =============== Personnalisation ===============
// ================================================
const int SNOOZE_ATTENTE = 10; // Durant combien de temps l'utilisateur va t'il encore dormir ? (en secondes)
const int DUREE_ALARME = 20; // Durant combien de temps l'alarme va t'elle sonner (en secondes)
const int BOUTON_ALARME[] = {8, 7, 9, 10}; // Quelles pins pour activer/désactiver chaques alarmes
const float VITESSE_LECTURE = 1; // Vitesse sonore des alarmes (par défaut 1)
const int MELODIE[][ 2 ] = MARIO; // Sélectionner la musique que vous désirez pour vos alarmes (voir melodies.h)
// ================================================
- SNOOZE_ATTENTE permet de définir combien de secondes le snooze va encore attendre avant de se remettre à sonner.
- DUREE_ALARME permet de définir combien de secondes les alarmes vont sonner.
- BOUTON_ALARM permet de définir sur quel broche l'alarme va être activer/désactiver. Il permet aussi de savoir combien d'alarmes vont être utilisés.
- VITESSE_LECTURE permet de définir a quelle vitesse la mélodie va être jouée.
- MELODIE permet de définir la mélodie jouée. L'ensemble des mélodies se trouvent dans le fichier melodies.h qui doit se trouver dans la racine de votre projet.
![]() |
Il est important d'activer la résistance PULLUP sur le microcontrôlleur pour éviter de le sur alimenter |
Créer votre mélodie
Il est possible d'ajouter une mélodie à la bibliothèque melodie.h.
Comme vous pouvez voir dans la bibliothèque, chacune des mélodies contiennent une permière ligne de code :
#define SON_NOM { /
Créé par Stefan pour MCHobby.be
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.