Comment dois-je allumer toutes les LED?

8

Je travaille sur un cube LED 4x4x4. J'ai connecté toutes les bornes négatives des LED dans une couche horizontale et j'utilise une broche Arduino par couche. J'ai connecté toutes les bornes positives LED d'une colonne verticale ensemble et je contrôle chaque colonne via une broche.

Donc, 16 broches utilisées pour les colonnes et 4 broches utilisées pour les couches horizontales. Les broches alimentent et enfoncent directement les LED.

D'après mes calculs, je peux allumer près de 16 LED à la fois avant d'atteindre les limites actuelles. Donc, si je veux éclairer toutes les couches simultanément, sans brûler la planche, comment dois-je m'y prendre?

asheeshr
la source
@MarkBooth Enfoncement direct dans une broche d'E / S.
asheeshr

Réponses:

5

De manière générale, ces cubes LED utilisent la persistance de la vision et le multiplexage pour minimiser le nombre de fils et de broches d'E / S numériques pour une taille de cube donnée, mais dans votre cas, vous pouvez également l'utiliser pour réduire le courant global consommé par le cube. Au lieu de simplement allumer ou éteindre une LED, vous flasheriez la LED plusieurs fois par seconde pour fournir une luminosité apparemment continue mais avec une consommation de courant beaucoup plus faible.

Par exemple, si vous pouvez alimenter en continu 16 LED mais avez besoin d'alimenter 64 LED, vous pouvez le faire si vous avez un rapport cyclique de 25%. Chaque LED sera allumée pendant un quart du temps et éteinte pendant les trois quarts du temps, ce sera donc 1/4 de la luminosité de la LED alimentée en continu, mais ne consommera également que 1/4 du pouvoir.

Si vous pouvez faire défiler les 4 plans tous les 5 ms (50 Hz), selon la luminosité des LED du cube, les personnes qui regardent directement le cube ne remarqueront probablement pas le scintillement, mais quiconque regarde ailleurs remarquera probablement le scintillement du coin de leur œil. À 2 ms (125 Hz), peu de personnes remarqueraient le scintillement, même du coin de l'œil.

Pour plus d'informations, consultez la page wikipedia sur le seuil de fusion Flicker .

Mark Booth
la source
6

Le meilleur moyen de le faire est le multiplexage .

C'est ainsi que fonctionnent vos moniteurs / écrans (téléphone portable, ordinateur portable, etc.). Je recommanderais également les registres à décalage (comme je l'ai écrit dans cette rubrique )

J'espère que cela pourra aider!

Communauté
la source
3

Le Texas Instruments TLC5940 est une autre façon de piloter facilement les LED de l'arduino. Vous pouvez apparemment chaîner jusqu'à 40 d'entre eux ensemble. Il y a tellement de bonnes informations sur la page de l'aire de jeux Arduino. Veuillez vérifier.

Voici un exemple d'un utilisateur du forum Arduino nommé saeveritt qui illustre une idée de l'apparence du schéma de câblage. Suivez les liens pour savoir comment alimenter autant de LED en utilisant cette technique.

entrez la description de l'image ici

Steve Cooley
la source
1

Je pense qu'avec un nombre approprié de transistors, vous pourriez changer les choses sans avoir à faire passer tout le courant LED par une broche Arduino.

Vous n'indiquez pas votre source d'alimentation, mais je le ferais en alimentant les LED directement (pas via l'Arduino) et en utilisant l'Arduio pour inverser les commutateurs à transistors.

mikeY
la source
Pouvez-vous expliquer cela davantage sur la façon de procéder ... peut-être un lien ou un exemple de schéma?
Anonymous Penguin
@annonomus person - Supposons une source 5v. Je pense qu'au lieu de "5v> broche Arduino> bouquet de LED> masse", vous feriez "5V> broche Arduino> base de transistor NPN" et "5v> collecteur de transistor> émetteur de transistor> bouquet de LED> masse". Écrivez "haut" sur la base NPN de l'Arduino pour retourner le transistor et allumer les LED sans faire passer le courant via la broche Arduino.
mikeY
Je le sais, mais je veux dire quel transistor utiliseriez-vous? Tout ce qui répondrait au courant? Je veux dire, comment calculez-vous la tension et la saturation dont vous avez besoin pour l'alimenter, etc.?
Anonymous Penguin
Je pense que ceux qui savent utiliser un MOSFET de fantaisie. Je l'essayerais avec un 2N3904 car j'en ai un tas sous la main.
mikeY