1 m WS2801 magique RVB IP67 DC5V
ICouleur WS2801 Puce LED bande 32 LEDs/M (5.62
chez Alivavite )
Principe de
commande :
On ne
peut pas faire plus simple
HARDWARE Prototype
:
Un PIC 18F46K22 est utilisé pour ce test .. un marteau
pilon pour enfoncer un clou ?
Utilisation du SPI 1 Hardware pour piloter le ruban.
FOSC interne de 16 MHz ..
Attention : problematique si FOSC/4 pour le SPI => usage de
FOSC/16 ..OK
L'alim du PIC, dans ce test est fournie poar le PICKIT2 Vdd=5,0V
L'alim 5V externe aliment le ruban ,via les 2 gros fils d'alimentation
Noir et Rouge,
Elle est aussi connecté aux raccord sur le 0V et le +Alim
De meme les 0V Alim Exterieure et 0V Pickit2 sont reliés .
Une R de 6,8K est montée en pull up sur la pin Reset du MCU, qui
recoit aussi VPP du Pickit2..
Les liaisonsISCP Pickit2 sur RB7 et RB6
Alim PIC dédoublée :2 x Vdd et 2x Gnd sur ce pic.
Pas de quartz: FOSC Interne.
Software :
On pêut utiliser un simple
SPI Bit-bang, mais puisqu'on a un SPI Hardware sur ce PIC,
pourqoui s'en priver.
Les commandes envoyees au WS2801 se font TOUJOURS modulo 24 bits
.
avec une commande START prealable, qui doit durer 500µS , et une
FIN de commande .
On ne peut pas
intercaler de tempo dans la phase d'envoi des 24 bits ou 3 bytes
qui correspondent aux 3 niveaux de couleurs ROUGE,BLEU et VERT .
et non dans l'ordre pas RVB (RGB english))
Chaque niveau (intensité) se fait sur 8 bits : 0 à 255
Le ruban comportant 32 leds, il faut repeter les commandes 32
fois ! pour le parcourir .
Pour eteindre le ruban ,il faut donc envoyer 32 fois, un START,
et 24 bytes à Zero , et une FIN de commande.
Comme d'habitude , j'utilise l'UART (19200,8,n,1) + convertisseur
TTL/USB , pour suivre l'évolution du programme sur un terminal
PC .(Teraterm)
Le programme deploie 7 sequences differentes d'allumage du ruban
( Mode 0 à Mode 6)
voir Video
La liaison UART , sera plus tard , utiliseée pour choisir un
mode d'allumage, et aussi les valeurs des 3 couleurs R,B,V ...
On voit que mon
alim 5V est insuffisante en puissance (bloc alim 9V USB 300mA en
amont du regulateur),
car le voltage en amont baisse de 8,9V jusqu'à 4,9V !!! sur les
phases de surintensité, mais cela ne perturbe pas (trop) le test
car le MCU reste alimenté en 5V via le Pickit2
A terme, il faudra evidement utiliser une alim plus costaude (capable
de debiter au 1Amp)
Projet zippé: RBG_Strip_32_leds_SPI_Hardw_Test_180428.zip
main Source : RBG_Strip_32_leds_SPI_Hardw_Test_180428.c
chargeur : RGB_Strip_32leds_WS2801_Test_180428.hex
Video: Ruban_32led_Test_180429.webm