Bonjour,
A quelques jours des fêtes de noël je vous propose un article complet sur la la réutilisation d'un ruban de LED acheter dans le commerce avec un Raspberry Pi, puis de contrôler tout sa avec une tablette ou smartphone Android.
Un petit teaser avant de commencer :D :
A quelques jours des fêtes de noël je vous propose un article complet sur la la réutilisation d'un ruban de LED acheter dans le commerce avec un Raspberry Pi, puis de contrôler tout sa avec une tablette ou smartphone Android.
Un petit teaser avant de commencer :D :
I - Introduction
Des projets similaires avec le contrôles des led en PWM existait mais pas avec le contrôle par application, je me suis donc pour toutes la première partis inspiré de ce tuto http://popoklopsi.github.io/RaspberryPi-LedStrip/#/ et celui ci http://mitchtech.net/raspberry-pi-pwm-rgb-led-strip/.
Pour cette première version j'ai donc acheté seulement le ruban dans un grand magasin de bricolage(1m pour 24,90€), Et je viens de commander sur internet 5m pour 7€ ...
Voici ce dont vous avez besoins pour réaliser ce projet :
- Un Raspberry Pi :)
- Un ruban à led rouge,vert,bleu
- Une alimentation 12V environ 2A
- 3 MOFSET (exemple TIP120)
- Quelques câbles
- Platine d'essai
II - Montage électronique
Le schéma pour commencer assez simple avec les 3 Mofset, attention à votre alimentation ne pas dépasser les 12V.
Le schéma :
Le montage finale :
III - Le programme
Pour cette partie j'ai réutilisé le programme des sockets(j’avais créé un post à ce sujet) qui nous permettras via Ethernet de contrôle le signale PWM de chaque couleur. Pour le PWM j'utilise aussi justement la librairie pigpio(http://abyz.co.uk/rpi/pigpio/download.html, je vous laisse suivre ce tutoriel pour sont installation).
Les sources des programmes seront disponible en fin d'article.
Le programme principale :
#!/usr/bin/env python # -*- coding: utf-8 -*- import pigpio import Socket_Event import subprocess # Variables globale PIN_RED = 18 PIN_GREEN = 23 PIN_BLUE = 24 DEBUT_TRAME = chr(0x02) FIN_TRAME = chr(0x03) # Valeur PWM pour chaque couleur def CouleurPWM(iRED,iGREEN,iBLUE): pi.set_PWM_dutycycle(PIN_RED, iRED) pi.set_PWM_dutycycle(PIN_GREEN, iGREEN) pi.set_PWM_dutycycle(PIN_BLUE, iBLUE) # Reception de la trame et renvoie d'une autre def TraiteRecv(self, data): # Test si debut et fin de trame(pour vérification de trame complète) if (data[:1] == DEBUT_TRAME and data[-1:] == FIN_TRAME): data = data[1:len(data)-1] # Selon mode # Réglage direct des couleur if (data[0:1] == "C"): red = int(data[1:3],16) green = int(data[3:5],16) blue = int(data[5:7],16) CouleurPWM(red,green,blue) # On renvoie un acquitement Socket_Event.EchoHandler.handle_write(self, DEBUT_TRAME + "ACK" + FIN_TRAME) # Definition de la socket interface = "192.168.1.25" port = 5432 # GPIO configuration pi = pigpio.pi() # Lancement de la socket server = Socket_Event.EchoServer((interface, port), TraiteRecv) server.serve_forever()
Avant de lancer le programme il faut lancer de daemon de la librairie avec :
sudo pigpiod
La librairie socket_event est la même qu'utilisé dans mon précédente article sur les sockets, et disponible en fin d'article dans le dossier.
Pour résumer, si on se connecte sur la socket et que l'ont envoie une trame de la forme :
<2>C00FF00<3>3>2>
Les <> correspondent au caractère de deux ou trois, ensuite C pour couleur ensuite valeur du rouge, puis vert et bleu le tout en hexa.
sudo pigpiod
La librairie socket_event est la même qu'utilisé dans mon précédente article sur les sockets, et disponible en fin d'article dans le dossier.
Pour résumer, si on se connecte sur la socket et que l'ont envoie une trame de la forme :
<2>C00FF00<3>3>2>
Les <> correspondent au caractère de deux ou trois, ensuite C pour couleur ensuite valeur du rouge, puis vert et bleu le tout en hexa.
Je voulais me lancer dans un projet similaire pour mon sapin de Noël, votre article va me faire gagner du temps, merci !
RépondreSupprimerAfter study several of the blog posts on your own site now, i genuinely as if your technique of blogging. I bookmarked it to my bookmark internet site list and you will be checking back soon. Pls take a look at my web site at the same time and figure out what you consider. naveed ahmed poetry
RépondreSupprimer