Depuis quelque temps, ma lampe de chevet s’est cassée. Pour se lever dans la nuit, la seule solution est donc de tâtonner dans l’obscurité afin d’atteindre l’interrupteur de l’éclairage plafonnier, à l’autre bout de ma chambre. Plutôt que d’en racheter une nouvelle, j’ai décidé de créer une lumière connectée, qui serait beaucoup plus pratique à activer.

La lampe est donc composée de deux éléments : un émetteur situé à côté de mon lit, qui me permet d’allumer et d’éteindre la lumière, et d’un récepteur, la lampe en elle-même, situé à l’autre bout de la chambre, vers la porte.

Pour le récepteur, j’ai utilisé une feather d’Adafruit, en optant pour le modèle Huzzah car il dispose d’un module Esp8266 qui permet de se connecter à Internet en WiFi et d’y récupérer des informations : 

J’y ai soudé un équivelent d’un shield pour arduino, c’est-à-dire une plaque électronique avec les dimensions de la feather de manière à être facilement attaché dessus. Ce shield est composé d’un écran OLED et de trois boutons poussoirs connectés sur les entrées numériques du feather :

 

Voilà ce à quoi ressemble l’émetteur à côté de mon lit :

Pour le récepteur, j’ai connecté un Arduino Yùn à une matrice de NeoPixels, des LEDs RGB ayant la particulaité d’avoir des drivers intégrés, ce qui permet d’en contrôler plusieurs via un seul câble :

 

L’émetteur et le récepteur sont programmés pour être connectés à Adafruit IO, un service MQTT qui permet d’avoir des sortes de variables hébergées sur des serveurs. Lorsque l’on appuie sur l’un des boutons de l’émetteur, une de ces variables est modifiée, ce qui est reçu par le récepteur, qui allume les NeoPixel, et de même pour l’extinction. L’émetteur reçoit aussi l’heure sur Internet afin de l’afficher sur l’écran pour faire office d’horloge. Enfin, à l’heure du réveil, la lampe s’allume doucement en bleu pour réveiller l’utilisateur.