Lampe RGB

Bonjour tout le monde !

 

Je vous propose un petit article qui vous explique comment créer une lampe avec des Neopixel, le tout commandé par une application Android via le Bluetooth de votre smartphone ou tablette.

Voici la lampe telle que je l'ai réalisée. Le tout a été imprimé avec mon imprimante 3D.

Le design de la lampe est tiré d'une réalisation que j'ai trouvé sur thingiverse. Tous les fichiers sources sont disponible en fin d'article.

Pour bien laisser passer la lumière le fil utilisé est un PLA de couleur naturel et le remplissage est de 0. La vitesse d'impression est assez faible le tout sans aucun support. C'est une de mes premières impressions complexe et le resultat n'est pas optimal. Avec un peu d'expérience il y a moyen de faire bien mieux.

 

J'ai dessiné et imprimé un socle et aussi un axe autour duquel le ruban LED est enroulé et collé à la colle chaude. On remarque dans le socle 3 petits (pré)trous, au départ je pensais commander la lampe à l'aide de 3 boutons poussoirs, ensuite l'idée du bluetooth s'est imposée d'elle même.

Dans mon cas le ruban neopixel est composé de 42 leds. Ce choix est simplement guidé par les dimensions de la lampe imprimée. Si vous imprimez plus petit il faudra moins de led, ou l'inverse si votre lampe est plus grande. Il ne faudra pas oublier de modifier le code arduino en conséquence. J'ai choisi d'alimenter tout le montage à l'aide d'un cable USB directement via le connecteur mini USB de l'arduino Nano. Cela permet d'alimanter la lampe à partir d'un chargeur GSM, d'un PC ou même une batterie externe.

L'électronique est des plus simple. Une arduino Nano, un module bluetooth HC-06 et le strip neopixel ... et c'est tout ! Quand je vous dit que c'est simple ;-)

Le raccordement des composants n'est pas plus compliqué. Le ruban neopixel est branché sur le Vin et GND de l'arduino. La ligne DATA sur la PIN 6 ou autre sortie PWM de l'arduino. Le module Bluetooth c'est pareil pour la partie Vcc et GND. Le TX/RX ne sont pas branché sur le TX/RX de l'arduino mais sur d'autres sorties. J'ai émulé un RX/TX dans le programme Arduino avec Serial.software. J'ai fait ca car si le module BT est sur le RX/TX hardware de la Nano il devient impossible de reprogrammer l'Arduino. Emuler une autre liaison série permet d'éviter ce soucis. Sur la photo RX/TX sont sur D10 et 11. Attention dans le programme fourni plus bas c'est parametré sur D2 et 3.

 

 

Voilà la partie électronique est terminée. Il nous reste à réaliser une petite application Android pour gérer notre jolie lampe RGB.

Je vous le concède l'application est assez haustère. Ce n'est qu'une ébauche, libre à vous de l'améliorer. Fidèle à nos principes les sources sont disponibles en fin d'article. Si vous apportez des modifications on serait heureux d'en profiter.

Le fonctionnement de l'application est très simple. Le bouton Bluetooth permet de sélectionner le module BT de la lampe et de s'y connecter. A droite du bouton on a le statut de connexion. Le bouton disconnect permet de déconnecter le module BT. 3 Slidebars permettent de faire varier la couleur en jouant sur les 3 composantes, le rouge, le vert et le bleu (RGB = Red, Green, Blue). Le bouton Send prend la couleur résultant des 3 slidebars et permet d'envoyer la couleur à la lampe. Le bouton Off éteint la lampe.

Il reste pas mal de place sur l'écran pour ajouter des boutons et des fonctions comme par exemple simuler la flamme dansante d'une bougie, des effets lumineux comme clignotant, arc-en-ciel et bien d'autres qu'il vous reste à imaginer.

Pour créer cette appli Android (les puristes vont crier au scandale) j'ai utilisé une interface Web MIT App Inventor 2. Ce site permet de créer rapidement une application simple. J'ai voulu tester et en effet c'est simple. Il n'y a auncune configuration à faire. Il y a 2 parties importantes, le Design comme ci contre et la partie Block. Le Design représente votre écran de smartphone et vous y glissez les boutons, sliders, zone de texte et encore bien d'autres composants. A droite vous pouvez régler quelques paramètres des composants installés.

C'est dans la partie Block que vous aller "enter" votre code. Comme vous le voyez pas besoin d'entrer des dizaines ou centaines de lignes de code d'une langue qui pour vous s'apparente à du klingon. Les blocks s'emboitent et notre programme se construit à grande vitesse. Il faut tout de même avoir un esprit logique mais on évite la fastudieuse étude de la syntaxe d'un language et les "bêtes" erreurs de frappe comme la simple { qui manque dans Arduino et la compliation devient impossible.

Dans les sources il y a un fichier .aia qui peut être importé dans MIT App Inventor 2 qui vous permet de ne pas devoir tout entrer vous même. Il vous reste à compiler votre code et le transférer sur votre smartphone ou tablette et de l'installer. Tout ça est bien expliquer sur le site, il y a aussi quelques vidéos et tutos explicatifs que vous trouverez facilement sur le web.

Un fichier .apk est aussi disponible, il vous reste juste à le transférer et à l'installer et vous avez directement la même appli que moi.

 

Nous voilà arrivé au bout de ce tuto. J'espère qu'il vous donnera l'envie de réaliser ce projet. Pour vous aider toutes les sources sont accessibles ICI

 

Fred de Caliban Belgique

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Date de dernière mise à jour : 19/06/2016

×