Bonjour à tous !
Je m'intéresse au fonctionnement des matrice à led contrôlé grâce à l'arduino
J'aimerais savoir comment est-il possible de contrôler 8x8 -> 64 leds séparément alors que l'arduino possède moins de 20 entrée ?
-----
Bonjour à tous !
Je m'intéresse au fonctionnement des matrice à led contrôlé grâce à l'arduino
J'aimerais savoir comment est-il possible de contrôler 8x8 -> 64 leds séparément alors que l'arduino possède moins de 20 entrée ?
C'est à la mode la gestion de matrice de LEDs .....
Alors, tu es gentil, tu fais une recherche sur le forum électronique avec les mots clés matrice journal ..... on ne va pas se répéter 100 fois !
Bonsoir
Pour piloter des leds, on n'utilise pas des entrées, mais des sorties.
Sur l'Arduino Uno, il n'y a que 14 sorties (n°0 à 13), dont les deux premières (n°0 et 1) sont réservées pour la communication. On ne peut donc généralement compter que sur 12 sorties.
Toutefois, le multiplexage de la matrice impose qu'on n'allume qu'une seule ligne de leds à la fois. On peut donc utiliser un compteur Johnson 8 bits, ou un décodeur 3 vers 8, ou encore un registre à décalage 8 bits, éventuellement suivi d'un octuple tampon afin de fournir le courant nécessaire aux leds.
Pour n'utiliser qu'un Arduino, il faudrait utiliser le modèle Mega par exemple.
Dans tous les cas, il faut penser à limiter le courant des sorties à un niveau acceptable pour le circuit, soit moins de 4 mA par led.
Merci pour ta réponse PA5CAL ! Je vais regarder ça !
Un décodeur ou un compteur johnson comme tu me dit, cela gère 8 bit donc 8 led, donc il faudrait (prenons l'exemple du décodeur) 8 décodeur pour contrôler 64 leds et donc on aurait 8*3 = 24 entrées des décodeurs
L'arduino uno n'a pas 24 sorties !?
Comment faire alors ?
On utilise un registre à décalage (74HC595) pour gérer les points d'une ligne, soit 3 bits et 8 bits pour allumer une ligne
Ceci permet de gérer une ligne de 8 ou 64 ou 128 LEDs en gardant un rapport cyclique de 1/8 et avec le même nombre de broche sur le µC
Comme le suggérait DAUDET78 plus haut, je pense qu'il faudrait que tu te renseignes, avant toute chose, sur le fonctionnement et l'utilisation d'une matrice de leds. Ça t'évitera de tenir des raisonnements sur leurs circuits de commande qui ne sont pas pertinent, et par conséquent de perdre inutilement du temps.
Hello à tous!
Pour l'avoir fait, une Arduino UNO suffit pour commander une matrice 8*8.
En effet, la UNO ne possède pas 14 mais 20 entrées/sorties (eh oui, il y a les entrées analogiques qui peuvent servir d'entrées/sorties digitales ).
En ne prenant pas en compte les broches Rx/Tx, on arrive du coup à 18 broches.
Ce qui suffit pour commander 8 lignes (8 broches) et 8 colonnes (8 autres broches).
Il suffit en plus de chercher un peu sur le site officiel, Cybertom, pour trouver ça.
bonjour
voila je fais le point avec vous sur mon projet. Pour l'instant la gestion de la matrice à led fonctionne bien avec le son joué en même temps. Je rencontre un problème pour dimensionner correctement les résistances car mon professeur m'a changé les led rouge en Blanche donc la luminosité n'est pas terrible pourtant je sais qu'il faut que je "protège" mes transistors avec un résistance sur la base. A force de tester en changeant les valeurs des résistances j'obtiens toujours le même résultat sauf si j'enléve toutes les résistances les LED s'éclairent très bien mais en jaune au lieu de blanc !
auriez vous des calculs à me proposez svp?
Je mets à disposition mon schéma électrique
voila comment se décompose mon projet , un petit synoptique est mis à disposition.
Une guitare composée de 5 boutons ( le rouge pour valider l'action des 4 boutons bleus)
Un module audio SOMO 14D pour la gestion de la musique
Un écran LCD (reference: POWERTIP PC1602ARU-HWB-G-Q ) pour indiquer plusieurs information au joueur
la matrice à led composée de 4 colonnes et 8 lignes (j'ai utilisé des décodeur démultiplexeur 3vers 8 CD74HC137E et 2vers 4 SN74AHC139N ainsi que transistor PNP)
donc voila j'ai un problème pour dimensionner mes résistances et un problème pour allumer mon LCD , je vous joins aussi le schéma utilisé pour le LCD
Merci de votre aideSans titre.png
LCD.png
- Avec 0,4 V perdu dans les PNP Q1 à Q8
- Avec 0,8V perdu dans les PNP Q9 à Q12
Il ne reste plus grand chose pour la résistance de limitation de courant ! Le Vf des diodes blanches doit être de l'ordre de 4V
Il faut alimenter le montage avec au moins 7V . Mais cela demande de modifier toute la structure Q1 à Q8
PS : Les résistances R17 à R20 servent à rien (montage suiveur !)
merci pour ta réponse! Comment faire puisque je dois garder mes 5V d'alim? effectivement j'ai vu que pour une led blanche c'est 3.5 de tension direct et 20mA . D'après mes recherches ma résistance sur la base du transistor Rb = (Ucde - VBE) / Ib sachant qu'on peut négliger VBE Rb= 5/ (20mA/100)=25K
puis pour la résistance pour les Leds R = (Ualim - Uled) / Iled = (5 - 2) / 0,02 = 150 omh
Puis du coup d'après toi je supprimerai R17 à R20
pense tu que mon raisonnement est bon?
C'est quoi ce 100 ? ne vient pas me dire que c'est la gain en courant du transistor en saturation ?????
Le gain en saturation d'un transistor, c'est 10 ou 20 !C'est quoi ce 2 ? la tension Vf de la LED blanche ? c'est plus près de 4V . Et la tension de saturation du PNP du haut ? et la tension base-émetteur du transistor du bas ? C'est passé à la trappe ?puis pour la résistance pour les Leds R = (Ualim - Uled) / Iled = (5 - 2) / 0,02 = 150 omhelles servent à rien !Puis du coup d'après toi je supprimerai R17 à R20Les 5V sont donnés par un régulateur de tension ? si oui, tu disposes de 7 à 10V DC pour alimenter les LEDsComment faire puisque je dois garder mes 5V d'alim?
PS : je vois que tu utilises 20mA comme courant LED pour les calculs. Avec le multiplexage, elles éclaireront comme si on avait 5mA comme courant !
oula je me suis attiré les foudres des dieux de l'electronique lol. désolé en faite j'ai suivi ce lien : http://www.sonelec-musique.com/elect..._alim_led.html
d'après le lien:
"Ib = courant de base du transistor = courant de collecteur / gain du transistor (par exemple 20 mA / 100)"
Oui excuse moi la tension nominal de la led c'est 3.5V d'après mes recherches
Les résistances R17 à 20 je pensais que ca protégeait le transistor ... mais visiblement non
je dois utiliser l'alimentation que mon arduino me donne c est a dire 5V ou 3.3V
excuse moi j'ai pas compris ou tu voulais en venir avec ton post scriptum puisque si j'utilise 5mA cela veut dire que mes leds ne seront pas bien éclairées
Et bien le Remy, il a écrit une connerie ! C'est rare ......Donc +0,4+0,8 , on a 4,7V ! Donc, hors de question d'alimenter en 5V .....Oui excuse moi la tension nominal de la led c'est 3.5V d'après mes recherchesAlors .... faut m'expliquer le pourquoi du comment !Les résistances R17 à 20 je pensais que ca protégeait le transistor ... mais visiblement nonJe dois je dois ...... Mais ce n'est pas possible ! Comment est alimenté ton Arduino ?je dois utiliser l'alimentation que mon arduino me donne c est a dire 5V ou 3.3VAvec 20 mA pendant 1/4 du temps ..... on a une luminosité correspondant à un courant de 5mApuisque si j'utilise 5mA cela veut dire que mes leds ne seront pas bien éclairées
excuse moi je ne comprends pas cela?Donc +0,4+0,8 , on a 4,7V ! Donc, hors de question d'alimenter en 5V .....
J'ai un collègue qui m'a parlé qu'il fallait diminuer le courant dans la base sinon il allait griller le transistor
mon arduino est alimenté par le cable usb de mon ordinateur
peux tu stp me donner des solutions tout en utilisant les composants que j'ai car je dois finir le projet la semaine prochaine du coup la commande de composant est impossible...
Il reste 0,3V pour faire une limitation de courant. Mission impossible !Tu parles du PNP du haut ou du bas ?J'ai un collègue qui m'a parlé qu'il fallait diminuer le courant dans la base sinon il allait griller le transistorEt tu penses que le port USB va alimenter ta carte et les 160mA des afficheurs (avec un courant moyen dans une LED de 5mA !) ? Il faut obligatoirement alimenter ta carte en 9V DC (je crois qu'il y a un regulateur 5V LDO sur la carte) avec un bloc secteur. Tu utilises ce 9V pour alimenter l'afficheur (en modifiant un peu le hard des PNP du haut)mon arduino est alimenté par le cable usb de mon ordinateur
je parlais des PNP du haut et du bas
En faite j'ai qu'une led qui sera allumé chaque fois, je joue sur mon programme pour tromper l'oeil mais physiquement il n'y à qu'une led qui est allumé chaque fois, est ce que cela nécessite quand meme des modif?
A la rigueur je peux utiliser une source externe un générateur de tension,je lui mets 9V en alimentation, pour mon écran LCD et pour la matrice, quels sont les modif à prévoir d'après toi stp?
d'ailleurs je viens de voir sur le datasheet que la tension max de mes décodeur demultiplexeur est de 6V
5V egalement pour la tension de mon LCD... je suis très mal parti...
Bonsoir Daudet78, peux tu m'éclaircir s'il te plait pour mes questions précédentes ?
C'est pour les PNP du bas uniquement que la résistance est inutile (et nuisible !)Tu as 8 LEDs (une colonne) qui sont allumées à un instant donné. ça ne change rien à mes remarques sur le 5V qui est insuffisant pour une LED blancheEn faite j'ai qu'une led qui sera allumé chaque fois, je joue sur mon programme pour tromper l'oeil mais physiquement il n'y à qu'une led qui est allumé chaque fois, est ce que cela nécessite quand meme des modif?L'écran LCD reste en 5VA la rigueur je peux utiliser une source externe un générateur de tension,je lui mets 9V en alimentation, pour mon écran LCD et pour la matrice,Faut que je retrouve un schémaquels sont les modif à prévoir d'après toi stp?
Voilà, j'ai retrouvé le schéma
désolé de faire le lourd mais je ne comprends toujours pas pourquoi 5V est insuffisant pour une led blanche? par contre pour une rouge cela irait? le problème vient de la blanche c'est ca?
ton schéma me sert à quoi? il me sert d'alimentation c'est ca? pour quel but?
Une rouge Vf=1,5V
Une blanche Vf=3,5VIl permet , à partir d'un signal 0/5V, de piloter en On/Off un PNP dont l'émetteur est à un potentiel supérieur à 6V . C'est un translateur de niveauton schéma me sert à quoi?
C'est quoi ce foutoir !
Tu as deux discussions en même temps sur le même sujet ?
http://forums.futura-sciences.com/el...r-arduino.html
okok je comprends, mais peut tu m'expliquer par calculer ce que ca change car au final 5V est supérieur à Vf=3.5V donc cela n'est pas un problème enfin pour moi je vois ca comme le faite qu'il faut agir sur la valeur de la résistance
oui excuse moi en faite je me suis rendu compte que ici ce n'est pas ma discussion, il y a quelque mois en cherchant des solutions j'ai du confondre ma discussion avec celle la, du coup dans mes mails quand j'ai ouvert via un ancien message je me suis retrouvé dans mon sujet de discussion et me suis rendu compte que je n'étais pas dans le bon dossier donc j'ai retranscris tout ce que j'avais écrit ici dans ma discussion pour avoir ++ d'aide, ton avis m'est important mais je ne suis pas fermé à d'autre explication aussi
bonne nouvelle le LCD marche, il me manque vraiment plus qu'avec savoir justifier les composants de ma matrice à led...
Une led ne s'alimente pas par une tension mais par un courant, pour la bonne raison que sur la courbe caractéristique de la led, une faible variation de la tension entraîne à une grande variation du courant.
Ainsi, si la tension du point de fonctionnement est un peu trop élevée par rapport à la tension nominale (a priori inconnue), la led grille plus ou moins rapidement. Si elle est un peu trop faible, la led n'éclaire pas assez.
Or, la valeur de cette tension nominale n'est justement pas connue précisément (tolérance à ±10% a priori). Et il existe également une imprécision sur la valeur des autres composants.
Pour contrôler suffisamment le courant dans la led à l'aide d'une simple résistance de limitation, il faut encore disposer d'une tension suffisante à ses bornes au regard des tolérances sur les caractéristiques des composants.