Mon reveil/horloge - Un projet Arduino plus riche qu'il n'y parrait

Introduction
Il n'y a pas si longtemps que cela, je discutais avec mon beau-fils de 15 ans (Dylan... il se reconnaitra).
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.

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!

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
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.

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
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).
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
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).
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?
Senseur 3 - boutons colorés
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
Senseur 4 - Pression Barométrique
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:
  1. Augmenter la luminosité du senseur la nuit... 
  2. 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
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.
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
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
Avec un wave shield il serait possible:
  1. De se faire réveiller en musique, ou avec la voix d'un être aimé... même avec plusieurs messages différents :-)
  2. Enoncer l'heure... avec un senseur capacitif (pour détecter qu'il est touché), un tel projet serait certainement pertinent pour une personne mal voyante.

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 :-)