Dans un précédent billet, nous avons décrit une rampe à LED intelligente utilisable dans la maison ou dehors. Aujourd’hui, nous nous pencherons sur la construction et le câblage de la rampe à LED intelligente, en version Arduino, sur une breadboard (donc sans soudures).
You are browsing archives for
Étiquette : LED
Une rampe à LED intelligente pour la cuisine via Arduino avec capteur PIR
Dans ma cuisine, au dessus de l’évier, j’ai rajouté deux lampes basses consommation. Cependant cette solution est loin d’être idéale : il est facile d’oublier d’éteindre ces lumières, l’éclairage est soit éteint, soit à fond (éblouissant en pleine nuit), et je préfère éviter d’avoir du 220V au dessus de l’évier. Je pourrais couvrir avec de l’acrylique, mais ces lampes chauffent, et il faut pouvoir y accéder pour les changer. Pour résoudre ces problèmes, je vous propose de me suivre pour la réalisation d’une rampe à LED intelligente, économique, basée sur du code libre, programmable et extensible.
Boitier de contrôle de Rlieh, contrôleur automatique d’aquarium
Dans un précédent billet, nous avons décrit le modèle 3D du panneau de commande de Rlieh. J’ai maintenant imprimé le boîtier, et je vais vous présenter le résultat, qui me sert de boîtier de contrôle de rlieh, mon système de gestion automatique d’aquarium.
Le boîtier a été imprimé en PLA. Il s’agit de la façade présentée dans le précédent billet, avec trois trous pour les boutons, et un grand rectangle pour l’écran LCD.
L’écran est fixé par l’arrière, avec 4 vis, et le tout est prévu pour que l’écran soit tout juste au niveau de la façade. Le fichier scad peut toutefois être modifié pour changer cela, si l’on souhaite par exemple que l’écran dépasse pour qu’il soit au niveau d’une autre plaque. Tous les fichiers sont disponibles sur le github du projet Rlieh.
Les boutons se fixent par l’avant, avec un écrou à l’arrière. Sur la version imprimée, les trous étaient un peu juste, je les ai donc élargis, mais sur ceci à été mis à jour, et la taille des trous permet maintenant une installation facile de boutons de 16mm standards.
Sur la photo précédente, vous pouvez voir le rendu lorsque l’écran et les boutons sont en place. Sur la droite, une carte SD et un Raspberry pi zero à titre de comparaison pour la taille.
Pour connecter le tout, il suffit de brancher quatre fils pour l’écran I2C : le vcc (5v), la masse, et les broches sca et scl. Il faut deux câbles supplémentaires pour chaque bouton.
Pour l’instant, seul le bouton du haut est utilisé : il allume ou éteint l’éclairage. Toutefois, puisqu’il s’agit d’un contrôleur automatique, il n’allume pas simplement de façon instantanée et continue l’éclairage. En effet, celui ci s’allume et s’éteint automatiquement selon l’heure. L’éclairage s’allume également progressivement, comme illustré dans cette vidéo :
L’extinction est également toujours progressive.
Si l’on appuie sur le bouton alors que l’éclairage est allumé, alors l’éclairage s’allumera (progressivement), mais pour une durée (réglable) de 5 minutes, avant de s’éteindre progressivement. Dans l’autre sens, si l’éclairage est allumé, alors un appui sur le bouton l’éteindra progressivement pour 5 minutes avant de le rallumer. Ce comportement sera bientôt changé, en effet, si quelqu’un éteint l’éclairage, c’est sans doute pour avoir de l’obscurité (par exemple pour dormir). Du coup dans la prochaine version du code, l’éclairage restera éteint jusqu’au prochain cycle d’allumage programmé.
Dans mon cas, l’éclairage s’allume a 11h et s’éteint à 23h, sur une période de plusieurs minutes.
Sur l’écran, la première ligne sert à afficher l’état des lumières (on ou off). La seconde affiche quelque chose si l’on est en train d’allumer ou d’éteindre (pendant les transitions). Ces messages sont surtout utiles pour le développement et le débogage, ils seront sans doute remplacés par autre chose plus tard.
La troisième ligne affiche la température de l’air, et la température de l’eau. Enfin, sur la dernière ligne, on affiche l’heure courante et la date.
Une version ultérieure affichera le temps restant avant le prochain allumage/la prochaine extinction, ainsi que d’autres indications utiles.
Alitest : WS2812 chinoises – led adressables type neopixels
Aujourd’hui, nous allons tester des leds adressables, les WS2812 et WS2812B, en provenance de Aliexpress. Ces leds sont similaires à ce qu’Adafruit appelle les NeoPixels. En pratique, il s’agit de LED RGB, donc capable de produire toutes les couleurs que vous souhaitez utiliser, et adressables, c’est à dire qu’on peut contrôler chaque LED individuellement. Ces LED sont chainées, ce qui fait qu’on utilise un seul GPIO pour contrôler l’ensemble, et on peut placer plusieurs ensembles les uns à la suite des autres. On a généralement 3 câbles : l’alimentation 5V, la masse, et le câble de signal. Que valent ces exemplaires achetés sur Aliexpress? C’est ce que je vous propose de découvrir aujourd’hui, avec deux modèles :
Contrôleur de LED simple utilisant un TIP120
Dans le cadre du projet Domochevsky, nous cherchons à implémenter un système d’éclairage intelligent, tel que nous en avons discuté dans ce précédent billet. Nous n’implémenterons pas toutes les fonctionnalités décrites immédiatement, mais nous allons créer une base simple et extensible sur laquelle nous pourrons construire la suite du projet. Nous décrirons ici une version minimale, facile à mettre en oeuvre, mais malgré tout apte à recevoir des ajouts ultérieurs, présentés dans les billets suivants.
Conception d’un système d’éclairage automatisé, décentralisé et ergonomique
Les éclairages d’une habitation sont souvent contrôlés de façon binaire : allumés ou éteints. Avec des lampes fluocompactes ou encore des ampoules à filament, cela peut se justifier pour diverses raisons. Toutefois, grâce à l’électronique programmable du genre des Arduino, il est possible de faire mieux, tout en utilisant des technologies plus modernes telles que les LED pour faire quelquechose de plus sophistiqué, tout en restant simple.
L’objectif de ce projet est triple :
- permettre un contrôle décentralisé de l’éclairage (on est pas limités au seul interrupteur mural);
- automatiser la gestion de l’éclairage (allumage et extinction quand nécessaire), en laissant toutefois un contrôle total à l’utilisateur;
- affiner le contrôle qu’a l’utilisateur sur les sources d’éclairage ainsi que l’ergonomie de celles ci (intensité, allumage progressif, etc).
Nous verrons ici comment atteindre ces objectifs et développer un système économique, peu gourmand en énergie, facile à utiliser tout en étant adaptable et sophistiqué.
Liste de tutoriels Raspberry pi sur le wiki
J’ai commencé à porter les tutoriels Raspberry Pi sur le wiki. Je remets donc en forme, corrige, actualise et améliore les anciens tutoriels, tout en ajoutant de nouvelles ressources. Si vous êtes donc intéressés par le Raspberry Pi, et vous demandez comment réaliser une chose en particulier, n’hésitez pas à vous rendre dans la section Raspberry pi du wiki (http://nagashur.com/wiki/doku.php?id=raspberry_pi:start).
Pour l’instant voici la liste de tutoriels Raspberry pi postés :
- Contrôler des GPIO en sortie;
- Contrôler des GPIO en entrée (lecture);
- Gérer une LED RGB via les GPIO du Raspberry Pi;
- Ajouter des entrées analogiques au Raspberry Pi via un MCP3008, et lire la valeur d’un potentiomètre;
- Ajouter des GPIO supplémentaires au Raspberry Pi via une puce MCP23008 ou MCP23017;
- Mesurer la luminosité ambiante via une photorésistance en utilisant le MCP3008;
- Mesurer la température via la sonde analogique TMP36 et un MCP3008;
- Ajouter un écran texte au Raspberry Pi via un MCP23017/MCP23008;
- Créer un service UNIX sur le Raspberry pi.
Interfacer un écran LCD texte avec un ATmega ou un Arduino
Dans l’optique de mon projet Milapli, Il faudra bien, à un moment donné, afficher les données quelquepart. Dans l’absolu, on pourrait se contenter de stocker ces données, puis d’y accéder par le réseau. Cependant, on peut trouver pour une dizaine d’euros des écrans LCD 2*16 caractères RGB, ou divers autres coloris. Avec un tel écran, il est possible d’afficher directement les informations de notre choix. Ils sont simples à utiliser, et permettent une visualisation directe des données. Dans le cas présent, j’utilise un écran 2*16 caractères, avec un rétro-éclairage blanc de Sparkfun, qui produit des lettres blanches sur fond noir. Ce modèle à un contraste très important, et je vous le recommande pour des projets devant être utilisés en extérieur. Nous allons ici voir comment connecter un tel écran à un ATmega328p (ça devrait fonctionner avec les autres ATmega), ou tout simplement un Arduino.
Contrôler une LED depuis les GPIO du Raspberry PI
Un des grands intérêts du Raspberry pi est qu’il dispose de GPIO utilisables comme entrée ou sortie afin de lire des capteurs ou commandes des systèmes. Nous nous verrons ici comment contrôler les GPIO du Raspberry pi configurés en mode sorte, à travers un exemple concret ou nous commanderons une LED. Il est également possible d’accéder à la liste des tutoriels sur le Raspberry pi pour voir d’autres utilisations.