Je me demandais s'il était possible de connecter 8 LED RGB individuelles comme la bande d'adafruit . J'ai vu le projet Pumpkin Pi et j'aimerais en construire un. Je n'ai pas de LED jaune ou rouge, mais j'ai un petit stock de RGB.
Je sais que pour Arduino, j'utiliserais des résistances de 270 ohms aux cathodes RVB et contrôlerais chaque luminosité sur une échelle de 0
à 255
.
Existe-t-il un moyen de le faire sur le Raspberry Pi?
Mise à jour
Je me suis donc penché un peu plus là-dessus. J'ai pris l'idée de vos gars d'utiliser le TLC5940
pilote LED.
Alors maintenant, je demande à nouveau de l'aide. Je pensais qu'une longue question résoudrait finalement cela est mieux qu'un tas dispersé à travers stackexchange. Vient maintenant la partie câblage. J'utilise un tutoriel de câblage Arduino comme un début depuis que je suis sur ma tête. Je fais également référence à la fiche technique . Selon le diagramme, la broche 27 or VPRG
me confond. Le diagramme Arduino l'a mis à la terre, donc je suis à la terre. . . Comment puis-je le connecter correctement au pi? Je suppose aussi que j'ai aussi besoin de résistances ...
Je suis désolé si cela semble vraiment stupide, mais je suis un vrai débutant dans ce domaine. Vous devez apprendre à ramper avant de pouvoir marcher.
Que dois-je faire pour corriger ce schéma de câblage ( fritzing )?
Le fichier fzz de câblage peut être téléchargé sur google ici .
Mise à jour 2 - après commentaire
Compte tenu de certaines des réponses et des commentaires, ce serait alors le schéma de câblage? 330ohm à l'anode. 2 k ohms à broche 20
. Comment les entrées passent-elles du pi à la puce?
Réponses:
Je vois deux choses qui devraient être abordées dans cette question:
Comment se connecter et communiquer avec le TLC5940
Comment connecter les LED au TLC5940 .
Pour la première partie, vous devrez le connecter aux broches i2c de l'en-tête P1 du Raspberry Pi (qui sont les broches 3 (données) et 5 (horloge)). Vous pouvez ensuite utiliser la broche 1 (3,3 V) pour le VCC du TLC5940 . Il recommande de 3 V à 5,5 V pour l'entrée selon la fiche technique. Vous voudrez également connecter une broche de terre de P1 (par exemple la broche 5) au GND du TLC5940 . Et vous aurez besoin d' un GPIO supplémentaire (par exemple la broche 7) pour se connecter au TLC5940 signal XLAT d » pour verrouiller la valeur du registre à décalage.
Ensuite, vous devrez configurer le Pi pour la communication i2c: en supposant que raspbian, supprimez
i2c-bcm2708
de/etc/modprobe.d/raspi-blacklist.conf
, charger eti2c-dev
et vous devriez obtenir/dev/i2c-0
et/dev/i2c-1
(i2c-1
est ce que vous devez utiliser pour le modèle B Rev. 2 PIS).Enfin, vous devrez utiliser une transaction i2c pour définir la valeur du registre à décalage interne, puis signaler le XLAT (si vous utilisez la broche 7, c'est GPIO 4).
J'ai également ignoré la broche GSCLK. Vous devrez fournir une entrée d'horloge pour que le compteur interne incrémente réellement, ce qui peut être fait à partir d'une autre ligne GPIO si elle est configurée correctement. Je ne pense pas non plus que le rail 3,3 V fournira un courant suffisant pour cette application ( 50 mA max ). Si vous passez au rail 5 V, vous pouvez tirer jusqu'à ~ 300 mA , mais vous devez alors utiliser la logique 5 V pour i2c (et le GSCLK), nécessitant plus de composants.
Pour la deuxième partie, cela ressemblait à ce que vous aviez manipulé à partir d'un projet Arduino passé, à moins que je ne l'ait mal lu?
la source
Oui. Vous utiliseriez les broches GPIO en mode PWM pour contrôler chaque échelle de luminosité. Un exemple du câblage de câblage.org.co . L'utilitaire GPIO et les guides de Gordons Project sont un autre point de départ
Éditer
Comme l'a souligné Alex Chamberlain , une seule broche GPIO prend en charge PWM. Vous pouvez utiliser un logiciel pour obtenir PWM sur d'autres broches GPIO. Infos et exemples pour C & Python .
Cela peut être exagéré, car le projet Pumpkin Pi ne nécessite que la lumière orange. Si vous avez un stock de RVB et du temps pour expérimenter, vous pouvez éclairer une seule couleur LED sur le RVB et les mélanger avec d'autres pour générer des couleurs tertiaires. Un rapport de 2 parties rouge sur 1 partie vert apparaîtra en orange. Basculer la moitié des LED rouges créera l'illusion d'orange clignotant au jaune. Mais c'est une théorie des couleurs ; ce que je n'ai pas essayé.
la source
Quelque chose comme un TLC5940 est un bon moyen de piloter plusieurs LED PWM
Consultez également le TCA6507 dans la section "Programmation des lumières amusantes" , bien qu'il ne soit pas disponible dans DIP
Edit: C'est bien de garder la broche VPRG du TLC5940 connectée à la terre. Cela signifie simplement que vous ne pouvez pas utiliser la "correction de points" pour compenser les variations de vos LED. Si vous avez un tas de LED et que vous souhaitez passer au niveau de complexité suivant, vous pouvez utiliser la correction de points pour les éclairer uniformément.
La résistance 2k sur la broche 20 est nécessaire pour régler le courant de sortie.
Les LED régulières sont généralement de 20mA, de sorte que la formule donne 2k pour la résistancela source
Ceci est un résumé très utile que quelqu'un a fait sur la façon d'utiliser le TLC5940 avec un AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940
C'est assez utile pour en savoir plus sur le processus d'apprentissage de l'écriture de code qui fonctionne avec le TLC5940.
La première version de l'exemple de code est assez générale. Je travaille sur la conversion de toutes les instructions #define et des fonctions de bas niveau en quelque chose qui fonctionnera sur le Raspberry Pi.
la source