Ce projet a pour but d’ajouter un éclairage d’ambiance à l’aide d’une guirlande de LEDs. Les exigences initiales de ce projet sont:
- Pouvoir régler l’éclairage par un smartphone
- Ne pas voir de fil ou d’élément qui dépasse (alimentation par batterie)
- Pouvoir faire (entre autre) des effets arc-en-ciel.
Pour réaliser cela nous (François et Thomas) avons utilisé les éléments suivants:
- Une guirlande de LEDs 2812B (30 LEDs par mètre, 5V, non étanche) (lien).
- Une carte Beetle BLE: compatible Arduino avec bluetooth low energy intégré (lien).
- Un powerboost 1000C de chez Adafruit pour gérer l’alimentation électrique (lien).
- Une batterie Adafruit 3.7V 6600mAh (lien).
- Des connecteurs pour pouvoir brancher/débrancher les bouts de guirlande facilement (lien).
- Des interrupteurs on/off (lien)
Nous avons travaillé par étapes avec plusieurs prototypes fonctionnels (toujours en cours), je ne vous décris pas ces étapes intermédiaires mais juste le dernier prototype (projet toujours en cours).
Préparer la guirlande de LEDs
Pour bien adapter la guirlande au meuble (un bureau), il a fallut la couper en plusieurs morceaux.
On voir les 5 morceaux utilisés R1 à R5 reliés par des fils (et B le boitier électronique avec la batterie). Pour découper la guirlande, il y a un endroit bien précis où il faut le faire:
Il faut ensuite relier les pastilles par des fils avec connecteur:
GND —-=—- GND
DO ——=——DI
+5V —–=—– +5V
On choisit la longueur de fil qui correspond aux éléments de notre installation. On peut alors coller les différents morceaux de ruban sur le meuble, de manière à ne pas les voir, l’éclairage sera visible mais pas les LEDs!
L’électronique
N’ayez pas peur! Cette partie est très simple, le ruban de LED ne demande que trois fils: +5V, GND (la masse) et DI (data in: le fil qui transmet les informations). Oui, c’est ce qui est génial avec les rubans de LEDs 2812B: un simple fil permet de commander plus de 500 LEDs individuellement! En électronique, moins il y a de fils, mieux on se porte!
Donc notre carte Beetle sera connectée au début du ruban ainsi (toujours avec un connecteur):
Beetle —– Ruban R1
+5V —-=—- +5V
GND —=— GND
D3 —–=—– DI
Et l’ensemble sera alimenté ainsi:
Pwrbst —– Beetle
+5V ———– VIN
GND ——– GND
A noter que nous avons utilisé la sortie D3 du Beetle car elle gère le PWM (nécessaire pour commander la guirlande).
Le programme
Nous avons choisi la carte Beetle parce qu’elle est vue comme une carte Arduino uno et qu’elle gère le bluetooth nativement, donc il n’y a ni driver, ni bibliothèque supplémentaire à installer. On peut envoyer et recevoir des données par bluetooth en utilisant simplement la liaison série => on ne peut pas faire plus simple! Je vous recommande grandement cette carte pour vos projets bluetooth.
Exemple de programme d’envoi/réception bluetooth:
void setup() {
Serial.begin(115200); //initial the Serial
}
void loop() {
if (Serial.available()) {
Serial.write(Serial.read());//send what has been received
Serial.println(); //print line feed character
}
}
Difficile de faire plus simple!
On trouve un wiki avec tout ce qu’il faut ici.
Pour notre programme, nous avons pris un tutoriel d’Adafruit, et l’avons adapté pour changer de mode d’éclairage en fonction de la commande reçu par bluetooth:
Commande reçue—–> action
‘w’ —-> effet arc-en-ciel
‘b’ —-> éclairage bleu
‘r’ —-> éclairage rouge
‘v’ —-> vert
‘j’ —-> jaune
‘t’ —-> lumière blanche
‘0’ —-> éteindre
‘1’ à ‘9’ —-> intensité lumineuse
Nous avons pour l’instant utilisé l’application de test sur Android (existe aussi pour ios) afin d’envoyer les commandes depuis un smartphone:
Notre code est disponible ici (nettoyage et reformatage en cours).
Le résultat:
Le prototype fonctionne mais des améliorations sont encore à venir:
- Un boîtier pour bien ranger l’électronique et ajouter des boutons on/off (guirlande+alim.)
- Un vrai programme plus joli sur Android
- L’ajout de la guirlande sur l’arrière du bureau