Câblage des LED RGB


13

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 TLC5940pilote 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 VPRGme 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 . TLC5940

entrez la description de l'image 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? entrez la description de l'image ici


Ooohhh la citrouille pi =: 0
Piotr Kula

Pourriez-vous clarifier certaines choses? Voulez-vous piloter toutes les LED rouges, vertes et bleues de 8 LED RGB (qui prendront 24 sorties, donc 8 de plus que les 16 fournies par un TLC5940). Quelles LED RVB utilisez-vous? Nous devons savoir s'il s'agit d'une anode commune ou d'une cathode commune (votre câblage ressemble à une cathode commune, qui ne fonctionnera pas avec un TLC5940, qui ne peut que absorber le courant. La cathode commune aura besoin d'une puce différente). Le bleu peut également ne pas s'allumer en utilisant 3,3 V, il aura donc besoin de 5 V. Doit-il être à travers l'électronique de trou (par exemple DIP), et non montage en surface. Vous souciez-vous s'il utilise 3 jetons au lieu d'un?
nébuleuse

@gbulmer Désolé à ce sujet. Je n'ai pas le paquet dans lequel les LED sont entrées, mais pensez que vous avez raison sur Common Cathode quant à les allumer en arduino, j'ai écrit un HIGH. Je vais prendre une anode commune de radioshack ce soir. J'ai 5 puces TLC5940 et je m'en fiche si je les utilise toutes. La raison pour laquelle je vais avec DIP est d'utiliser une planche à pain (étapes bébé). Après l'avoir fait fonctionner, je passerai au montage en surface.
atrueresistance

Réponses:


4

Je vois deux choses qui devraient être abordées dans cette question:

  1. Comment se connecter et communiquer avec le TLC5940

  2. 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 et i2c-devet vous devriez obtenir /dev/i2c-0et /dev/i2c-1( i2c-1est 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?


6

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

entrez la description de l'image ici

É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é.


1
N'y a-t-il pas une seule sortie PWM?
Alex Chamberlain

Bonne question. eLinux affirme que toutes les broches GPIO peuvent être reconfigurées pour PWM; cependant, les fonctions générales de câblage indiquent que GPIO-1 (broche 18) prend en charge PWM. La section 6.2 Attributions de fonctions alternatives du BCM2835 répertorie toutes les broches PWM; dont un seul est présent sur le GPIO du pi.
emcconville

L'article eLinux est mal écrit; c'est un peu mieux en dessous.
Alex Chamberlain

1
Les broches GPIO ne peuvent vraiment pas générer ou absorber suffisamment de courant pour alimenter directement les LED
John La Rooy

1

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.

Je sors = 3,96 * R IREF
Les LED régulières sont généralement de 20mA, de sorte que la formule donne 2k pour la résistance


0

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.