Mon reveil/horloge - Un projet Arduino plus riche qu'il n'y parait
11/04/2018 nous avons fini par faire un tutoriel autour d'un réveil Arduino Hackable/personnalisable. Le tutoriel est enfin publié, voyez cet article.
Notre conversation portait le réveil matin (mais cela pourrait être une horloge) qui ne fonctionnait pas vraiment comme il le voulait... mais aussi la puissance lumineuse de l'afficheur qui peut gêner... pas toujours réglable correctement.
C'est sans compter que les affichages rouges sont moins gênants que les verts (l'oeil est plus sensible au vert).
Finalement, si vous disposez d'un réveil avec Radio, vous aurez certainement remarqué que la qualité audio et le réglage du poste peu réserver des surprises (surtout hors des métropoles).
Diantre, que c'est difficile d'avoir un réveil/horloge qui réponde à ses critères... et les supermarchés ont beau avoir un rayon bien achalandé... le choix est souvent fait par dépit.
De cette discussion n'acquis l'idée de faire son propre réveil matin... celui qui répondra à mes critères (ou les siens). Puisqu'Arduino est là c'est possible!
Mon réveil - Matériel de base
Pour constituer un réveil de base, il faut:
Base 1 - une horloge temps réel
Elle maintiendra le temps pour nous, sera capable d'afficher l'heure et même la date et le jour de la semaine.
Base 2 - un afficheur 4x7 segments
Le système d'affichage le plus simple et le plus efficace.
Il existe également en différente couleurs (rouger, vert, bleu, jaune voir section LED).
Ce modèle est facile à utiliser grâce a une librairie.
Il devrait même être possible d'afficher des petites animations maison puisque chaque segment peut être commandé séparément (cfr doc sur le Wiki en Français).
Cet afficheur est capable de contrôler sa brillance (de 1/16 de puissance à 16/16), ce qui serait idéal pour ceux que la lumière dérange.
Option 1 - Un afficheur LCD deux lignes
Disponible en raccordement direct, il permet d'afficher plus d'informations.
Malheureusement, il est difficile de contrôler finement la luminosité d'un tel dispositif (c'est plutôt tout ou rien... mais il existe des solutions intelligentes).
Option 2 - un afficheur en shield (en I2C)
Même que l'afficheur ci-dessus... sont avantage est de n'utiliser que deux fils (donc plus facile à contrôler) et dispose en plus de bouton permettant de concevoir un menu de configuration.
Encore une fois, il est difficile de contrôler finement la luminosité... mais le rétro-éclairage dispose d'un LED RGB... (il est encore possible de contrôler la couleur du fond).
Option 3 - Ecran LCD Tactile
Arduino dispose d'un superbe shield qui est un écran LCD tactile (avec rétro-éclairage commandable).
De quoi afficher ce nombreuses informations de façon attrayante, couleur, image de fond dépendant du moment de la journée... petite animation maison (aquarium)... etc.
Puisqu'il est tactile, il peut également être utilisé comme interface utilisateur pour commander les différentes fonctionnalités... car il est possible de mettre de nombreuses fonctionnalité sur un réveil.
Senseur 1 - Senseur de température TMP36
Rien de plus logique pour un afficheur que de présenter une information aussi utile que celle là.
Senseur 2 - Photo-résistance
Permet par exemple de savoir s'il fait jour ou nuit. Permet de diminuer la luminosité de l'afficheur la nuit (pour pouvoir dormir plus tranquillement).
Senseur 3 - Senseur capacitif
Un senseur très important pour un réveil!
Un senseur capacitif s'active lorsqu'on le touche... il est fort documenté sur le net et assez facile à mettre en oeuvre.
Il peut, par exemple:
Si vous n'optez pas pour un afficheur disposant déjà d'une interface (LCD tactile ou shield LCD deux lignes), ces boutons seront se montrer très utiles pour interagir avec votre montage.
Senseur 4 - Pression Barométrique
A afficher la température, pourquoi ne pas afficher la pression atmosphérique?
Senseur 5 - le senseur PIR
Ce senseur infrarouge s'active lorsqu'il y a un mouvement a proximité.
Je vois typiquement deux application pour un tel senseur:
Agir 1 - le buzzer
L'interface la plus simple, peut-être pas la plus sympa mais la plus évidente.
Agir 2 - Le module de relais
Probablement l'une des interfaces les plus intéressantes car elle est simple et permet d'utiliser de nombreux périphériques exotiques.
Il est, par exemple, possible d'allumer une lampe de chevet:-)... plus sympa comme réveil.
Comme vous n'êtes pas limité à un seul module relais... vous pouvez allumer plusieurs appareils en cascade.
Un deuxième module relais pourrait mettre en ventilateur en route au bout de 5 minutes... et un troisième une klaxon de voiture après 10 minutes.
Les options n'ont de limite que votre imagination.
Agir 3 - Un Wave shield et MP3 Shield
Même si l'utilisation d'un WaveShield nécessite l'usage d'un second Arduino et d'une programmation un peu plus sophistiquée (dialogue entre Arduino via bus I2C) cette option est très intéressante.
Avec un wave shield il serait possible:
Un réveil Arduino serait-il capable de se mettre à l'heure tout seul quand on le met sous tension? Comme le fait notre horloge dans le salon?
Hé bien oui, c'est possible grâce à un récepteur GPS. Pour bien fonctionner, un module GPS à besoin de savoir l'heure qu'il est pour calculer sa position en fonction des différents satellites GPS détectés. Une module GPS se débrouille donc pour se mettre à l'heure :-) reste plus qu'a récupérer l'heure dans les trames NMEA (voir notre tuto sur le module GPS).
Source: ce post sur YouTube
Voila un long post... ne manque plus que les réactions :-)
Introduction
Il n'y a pas si longtemps que cela, je discutais avec mon beau-fils de 15 ans (Dylan... il se reconnaîtra).Notre conversation portait le réveil matin (mais cela pourrait être une horloge) qui ne fonctionnait pas vraiment comme il le voulait... mais aussi la puissance lumineuse de l'afficheur qui peut gêner... pas toujours réglable correctement.
illustration d'un réveil bleu... pour une ambiance "frigo" origine: inconnue/quelque part sur le net. |
Finalement, si vous disposez d'un réveil avec Radio, vous aurez certainement remarqué que la qualité audio et le réglage du poste peu réserver des surprises (surtout hors des métropoles).
Diantre, que c'est difficile d'avoir un réveil/horloge qui réponde à ses critères... et les supermarchés ont beau avoir un rayon bien achalandé... le choix est souvent fait par dépit.
De cette discussion n'acquis l'idée de faire son propre réveil matin... celui qui répondra à mes critères (ou les siens). Puisqu'Arduino est là c'est possible!
Cela à l'air d'un projet ridicule mais depuis cette conversation, de nombreuses idées émergent et ce qui paraît être un projet simple peut offrir un nombre incroyables de possibilités!
Mon réveil - Matériel de base
Pour constituer un réveil de base, il faut:
Base 1 - une horloge temps réel
Elle maintiendra le temps pour nous, sera capable d'afficher l'heure et même la date et le jour de la semaine.
Horloge temps réel disponible chez MCHobby |
Base 2 - un afficheur 4x7 segments
Le système d'affichage le plus simple et le plus efficace.
Afficheur LARGE disponible chez MCHobby |
Ce modèle est facile à utiliser grâce a une librairie.
Il devrait même être possible d'afficher des petites animations maison puisque chaque segment peut être commandé séparément (cfr doc sur le Wiki en Français).
Cet afficheur est capable de contrôler sa brillance (de 1/16 de puissance à 16/16), ce qui serait idéal pour ceux que la lumière dérange.
Mon réveil - Matériel plus élaboré
Hormis le matériel de base, il est possible d'opter pour une version améliorée.Option 1 - Un afficheur LCD deux lignes
Disponible en raccordement direct, il permet d'afficher plus d'informations.
Malheureusement, il est difficile de contrôler finement la luminosité d'un tel dispositif (c'est plutôt tout ou rien... mais il existe des solutions intelligentes).
Afficheur LCD disponible chez MCHobby |
Même que l'afficheur ci-dessus... sont avantage est de n'utiliser que deux fils (donc plus facile à contrôler) et dispose en plus de bouton permettant de concevoir un menu de configuration.
Encore une fois, il est difficile de contrôler finement la luminosité... mais le rétro-éclairage dispose d'un LED RGB... (il est encore possible de contrôler la couleur du fond).
Afficheur en I2C (shield) disponible chez MCHobby |
Option 3 - Ecran LCD Tactile
Arduino dispose d'un superbe shield qui est un écran LCD tactile (avec rétro-éclairage commandable).
De quoi afficher ce nombreuses informations de façon attrayante, couleur, image de fond dépendant du moment de la journée... petite animation maison (aquarium)... etc.
Ecran LCD Tactile pour Arduino (chez MCHobby) |
Puisqu'il est tactile, il peut également être utilisé comme interface utilisateur pour commander les différentes fonctionnalités... car il est possible de mettre de nombreuses fonctionnalité sur un réveil.
Des senseurs pour mon réveil
Des senseurs pour un réveil, cela peut sembler totalement inutile... ou au contraire lui permettre de mieux d'adapter à nos exigences.Senseur 1 - Senseur de température TMP36
Disponible ici chez MCHobby |
Senseur 2 - Photo-résistance
Permet par exemple de savoir s'il fait jour ou nuit. Permet de diminuer la luminosité de l'afficheur la nuit (pour pouvoir dormir plus tranquillement).
Photo-résistance dispo chez MCHobby |
Senseur 3 - Senseur capacitif
Un senseur très important pour un réveil!
Un senseur capacitif s'active lorsqu'on le touche... il est fort documenté sur le net et assez facile à mettre en oeuvre.
Il peut, par exemple:
- Arrêter une alarme.
- Activer au augmenter la luminosité la nuit.
- Annoncer l'heure pour les personnes malvoyantes.
- Auriez vous d'autres suggestions?
Si vous n'optez pas pour un afficheur disposant déjà d'une interface (LCD tactile ou shield LCD deux lignes), ces boutons seront se montrer très utiles pour interagir avec votre montage.
Bouton colorés disponibles ici |
A afficher la température, pourquoi ne pas afficher la pression atmosphérique?
Détection de pression atmosphérique pour ArduinoChez MCHobby |
Senseur 5 - le senseur PIR
Ce senseur infrarouge s'active lorsqu'il y a un mouvement a proximité.
Senseur PIR disponible chez MCHobby |
Je vois typiquement deux application pour un tel senseur:
- Augmenter la luminosité du senseur la nuit...
- Permettre de détecter une bonne nuit d'une mauvaise nuit (car on se retourne souvent dans son lit quand l'on dort mal)
Agir sur le monde
Une réveil ca sonne. il est tout logique d'y coller un Buzzer mais les possibilités ne s'arrêtent pas là.Agir 1 - le buzzer
L'interface la plus simple, peut-être pas la plus sympa mais la plus évidente.
Buzzer disponible chez MCHobby |
Probablement l'une des interfaces les plus intéressantes car elle est simple et permet d'utiliser de nombreux périphériques exotiques.
Module relais (250v) disponible chez MCHobby |
Il est, par exemple, possible d'allumer une lampe de chevet:-)... plus sympa comme réveil.
Comme vous n'êtes pas limité à un seul module relais... vous pouvez allumer plusieurs appareils en cascade.
Un deuxième module relais pourrait mettre en ventilateur en route au bout de 5 minutes... et un troisième une klaxon de voiture après 10 minutes.
Les options n'ont de limite que votre imagination.
Agir 3 - Un Wave shield et MP3 Shield
Même si l'utilisation d'un WaveShield nécessite l'usage d'un second Arduino et d'une programmation un peu plus sophistiquée (dialogue entre Arduino via bus I2C) cette option est très intéressante.
WaveShield disponible chez MCHobby |
- De se faire réveiller en musique, ou avec la voix d'un être aimé... même avec plusieurs messages différents :-)
- Anoncer l'heure... avec un capteur capacitif (pour détecter qu'il est touché), un tel projet serait certainement pertinent pour une personne mal voyante.
Depuis l'écriture de cet article, d'autres solutions ont fait leur apparition comme le MP3 Audio Maker Shield d'Adafruit.
MP3 Audio Maker Shield |
Sait-il se mettre à l'heure tout seul?
Question pertinente de mon Dylan.Un réveil Arduino serait-il capable de se mettre à l'heure tout seul quand on le met sous tension? Comme le fait notre horloge dans le salon?
Module GPS pour Arduino (chez MCHobby) |
Hé bien oui, c'est possible grâce à un récepteur GPS. Pour bien fonctionner, un module GPS à besoin de savoir l'heure qu'il est pour calculer sa position en fonction des différents satellites GPS détectés. Une module GPS se débrouille donc pour se mettre à l'heure :-) reste plus qu'a récupérer l'heure dans les trames NMEA (voir notre tuto sur le module GPS).
Source: ce post sur YouTube
Voila un long post... ne manque plus que les réactions :-)
Très beau concept, c'est vrai qu'un réveil avec toutes ces possibilités ça donne envie.
RépondreSupprimerPour moi il manque la connexion Ethernet/wifi, en plus ça permettrait de demander à un serveur de temps pour la mise à l'heure.
ça offre plus de possibilités que le GPS et surement moins couteux.
Merci pour le commentaire :-)
RépondreSupprimerOK pour le temps... par contre, quelles seraient les possibilités complémentaires offertes? (je manque d'imagination sur ce point)
Par exemple on pourrait programmer le réveil avec une interface web accessible via une tablette ou un smartphone.
SupprimerMettre des chansons via un ordinateur.
Récupérer le flux d'une radio web pour le réveil.
Fournir une api http qui servirait a l'intégrer avec une box domotique.
Que le réveil soit synchroniser avec un calendrier Google pour savoir si c'est une journée de travail et donc activer le réveil sinon grasse matinée.
Et ceci ne serrait que le début.
Ha ooouuuiii... vraiment pas mal comme suggestionSSSSS.
SupprimerUn réveil qui grâce à des Led te réveille progressivement
RépondreSupprimerJe me suis fait la même réflexion. Du coup, j’ai tout acheté pour le faire. j’ai prévu une gestion des mp3 aussi :p
RépondreSupprimerremplacé les boutons par un écran me tente bien aussi mais j’avais peur que tout dev de l’interface soit trop long (et l’hiver arrive et j’ai besoin de luminothérapie pour me réveiller) Si je m’en sors je proposerais mon hack pour que ce soit ajouté au wiki :)
Le GPS ne rentre pas dans les maisons !!!
RépondreSupprimerHorloge DCF-77 bien mieux... a moins que l'enfant dorme dehors.
Humm, merci pour l'information LIO.
SupprimerDCF-77 voir article WikiPedia https://fr.wikipedia.org/wiki/DCF77
Depuis avril, mon horloge de salon perd régulièrement le contact... d'autres personne l'aurrait-il aussi constaté?
Un de mes 1er projet était un réveil pour ma fille (la grande), en forme de pac man avec 2 écrans (heure + réveil) un mp3 et les yeux de pac man qui bouge quand le réveil ce déclenche :-)
RépondreSupprimerhttp://domochris.canalblog.com/archives/2019/05/15/37339515.html
Et un autre réveil sans affichage (ma jeune fille ne sais pas encore lire) mais l’œil de la licorne passe du rouge au vert quand elle peut ce lever (en plus du mp3), le tout programmable via mon serveur domotique :
http://domochris.canalblog.com/archives/2019/05/15/37339515.html
Les liens vers le détail des composants, style http://mchobby.be/PrestaShop/product.php?id_product=62 ne fonctionnent plus.
RépondreSupprimerBonjour Yuri, merci pour ton commentaire.
SupprimerJ'ai corrigé les liens.
bjr, je souhaiterait faire une alarme pour l'ecole.
RépondreSupprimerelle devrait etre capable de sonner a 10h25.
(j'ai une arduino uno)
Bonjour,
SupprimerLe code existant devrait convenir pour ce type d'application.