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.

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.

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

13 commentaires:

  1. Très beau concept, c'est vrai qu'un réveil avec toutes ces possibilités ça donne envie.
    Pour 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.

    RépondreSupprimer
  2. Merci pour le commentaire :-)
    OK pour le temps... par contre, quelles seraient les possibilités complémentaires offertes? (je manque d'imagination sur ce point)

    RépondreSupprimer
    Réponses
    1. Par exemple on pourrait programmer le réveil avec une interface web accessible via une tablette ou un smartphone.
      Mettre 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.

      Supprimer
    2. Ha ooouuuiii... vraiment pas mal comme suggestionSSSSS.

      Supprimer
  3. Un réveil qui grâce à des Led te réveille progressivement

    RépondreSupprimer
  4. Je 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
    remplacé 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 :)

    RépondreSupprimer
  5. Le GPS ne rentre pas dans les maisons !!!
    Horloge DCF-77 bien mieux... a moins que l'enfant dorme dehors.

    RépondreSupprimer
    Réponses
    1. Humm, merci pour l'information LIO.
      DCF-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é?

      Supprimer
  6. 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 :-)
    http://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

    RépondreSupprimer
  7. Les liens vers le détail des composants, style http://mchobby.be/PrestaShop/product.php?id_product=62 ne fonctionnent plus.

    RépondreSupprimer
    Réponses
    1. Bonjour Yuri, merci pour ton commentaire.
      J'ai corrigé les liens.

      Supprimer
  8. bjr, je souhaiterait faire une alarme pour l'ecole.
    elle devrait etre capable de sonner a 10h25.
    (j'ai une arduino uno)

    RépondreSupprimer
    Réponses
    1. Bonjour,
      Le code existant devrait convenir pour ce type d'application.

      Supprimer