[Conseil] LED CUBE et démultiplexage


bonjour, bonjour, tout le monde !

alors tout d'abord, une petite présentation rapide : je suis élève en terminale si et pour ce qui est de l'électricité et l'électronique, je n'ai que la base qui m'a été donné par la si (ce qui est assez limité mais bon...)
l'électronique me passionne depuis assez longtemps et je me suis dit qu'il fallait que je me lance sur quelque chose de concret, qui pourrait m'être utile pour la suite de mes études (peut-être ingénieur informaticien, si je suis pris dans le cursus polytech'  xd). alors après un petit tour sur le net, et un tour d'horizon de tout ce qui se faisait, les projets concernant des led cube m'ont paru être assez sympa pour un commencement, cependant cette idée est très vite devenu un peu plus qu'un commencement. et après avoir regardé deux trois tutoriels, l'apparition récurrente du mot "arduino" m'a agressé l'œil ! et grâce à cela j'ai pu découvrir ces belles plateformes que sont les cartes arduino, et pu agrandir mon champs de vision anciennement limité au microcontrôleur "ecio40" et les pic utilisés en cours (aussi les automates programmable, mais ça on n'en parle pas, surtout quand un seul m'a fais perdre 4h de mon temps de projet personnel encadré, juste parce qu'il été foutu....(tsx17 - rip =()).

alors mon projet, comme beaucoup d'entre vous je pense l'ont déjà réalisé, est de faire un led cube de 8*8*8.
je sais bien sur qu'avec mes connaissances actuelles, beaucoup de choses m'échappent, et je peux dire que ce projet est plus un objectif qu'un projet à proprement parler.
alors j'ai pu voir comment fonctionnait le système avec la séparation en lignes et en colonnes de led, ainsi que l'impossibilité de mettre 64 sorties sur un arduino (uno, que vais commander ce week-end) et donc que pour assurer la commande des 64 colonnes, je devait faire un système de démultiplexage, et là commencent mes questions.

après avoir vu le nom de démultiplexeur et mon inconnaissance royal, je me suis rué vers internet et j'ai commencé à trifouiller. après une petite heure, le principe de fonctionnement du démultiplexeur est dans ma tête, deux trois schéma grattés sur une feuille après, j'en suis venu à la conclusion qu'il me fallait trois démultiplexeur (type 3 entrées pour 8 sorties), pour ensuite les séparer chacun en 8 démultiplexeur de même type, ce qui me permettait d'avoir mes 64 sorties, comme sur le schéma suivant (excusez-moi de la piètre qualité de mon schéma :smiley-roll: et par soucis de place, j'ai pas fait les 8 autres démultiplexeur).




a partir de là, ça semble être sympa, mais après une petite table de vérité pour comprendre qu'elles sorties de l'arduino doivent être actives pour qu'une colonne soit allumée, je me retrouve obligatoirement avec 8 colonnes qui à un moment sont actives en même temps (j'ai oublié les entrées g0, g1 barre et g2 barre qui quand g0 = 0 ou g1 barre = 1 ou g2 barre = 1, mettent toutes les sorties à 0, nécessaire à au moins l'activation d'une sortie, mais ce qui cause en contrepartie l'activation des 8 colonnes en même temps).

alors voila, après tout ce blabla, ma question simple est de savoir comment faire pour arriver, peut-être en passant par le démultiplexage, à commander mes 64 colonnes et ne pas avoir ces 8 colonnes allumé en même temps ? savoir aussi si le démultiplexage est la meilleur solution pour réaliser ce que je veux faire ou s'il y une autre manière, je suis près à apprendre de nouvelles choses xd et puis, si j'ai faux sur toute la ligne je suis ouvert à toute aide. comme je l'ai dit ce projet est plus un objectif qu'autre chose, donc pour le moment je ne pense pas m'attaquer à quelque chose que je suis incapable de faire mais plutôt essayer de comprendre son mécanisme.

merci beaucoup pour votre aide, arduinonien (si ça se dit comme ça ?) xd

salut,

humm, alors si je comprend bien il te faut alimenter indépendement 8x8=64 colonnes de 8 leds ?
il te faut donc également commander 8 couches de leds  ce qui rajoute 8 sorties à ton microcontroleur.

évidement comme tu le signales, tu peux passer par du multiplexage pour les 64 colonnes cependant il faudra pouvoir piloter 8x8 sorties soit 64 sorties. j'imagine que tu passes par des registres à décalage (avec latch c'est mieux) qui te permettent de piloter 8 sorties avec seulement 3 broches de ton arduino. l'idéal dans ce cas est de passer par des registres chainables (daisychain). ils ont en plus des 8 sorties une sortie série par laquelle tu peux envoyer le signal à un autre registre, qui lui même enverra au suivant etc...

dans ton cas il te faudra donc 8 registres (8 registres de 8 sorties = 64 sorties)
par contre pour ton arduino il ne te faudra pas 8x3 broches mais que 3 puisque la sortie data enverra les données uniquement sur le premier registre, le reste etant propagé de ton premier vers les autres en daisychain. et évidement les registres sont synchronisés donc 2 autres sorties sont utilisées pour le clock et latch. ceux ci sont connectés ensemble sur tous les registres pour que les signaux arrivent en même temps sur tous les registres.

(tu peux aussi réserver une broche de l'arduino par registre pour l'envoi des data, à toi de voir. il te faut alors 2 sorties pour clock et latch et une sortie par registre pour les data, soit 10 sorties au total.)

par contre il te faut aussi 8 autres sorties pour piloter les 8 couches du cube. donc soit réserver 3 autres sorties de l'arduino pour piloter un registre de plus dédié à cette fonction, soit réserver un port complet de l'arduino (8 broches) pour le faire en direct


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > [Conseil] LED CUBE et démultiplexage


arduino

Comments

Popular posts from this blog

Thread: PKI Client 5.00 install (for eToken Pro)

ATmega2560-Arduino Pin Mapping

Crossfader Arduino Tutorial