Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Arduino] Etude Réal table à LED RGB 20*10

    14 octobre 2013 à 14:54:38

    Bonjour,

    Je suis tombé sur une video d'une table de salon à LED avec plein de fonction sympa genre Tetris, Snake, ou lumière aléatoire.

    Je me suis dit pourquoi pas me lancer dans ce genre de projet avec un ami.

    J'ai commencé à regarder ce dont je pourrais avoir besoin :

    Un arduino forcément (ou un équivalent) et des TLC5940. (et les résistances, transistors, led...)

    Le prix des TLC5940 m'ont un peu rebuté, 6€ pièce pour 5 LED, ce qui en fait 40 pour 240€. Je trouve que ça fait un peu cher.

    Il m'est venu l'idée de le multiplexer avec des CD4028BE (http://pdf1.alldatasheet.fr/datasheet-pdf/view/26864/TI/CD4028BE.html)

    Ce qui reviendrait à 2 TLC5940 pour une ligne, multiplexé avec 2 CD4028BE.  pour les 20 lignes.

    Ma question est est-ce que ça fait pas trop de multiplexage ? Comme je joue sur la persistance rétinienne, ça veut dire qu'il faut 100 cycle pour afficher chaque demi-table. (je vais séparer les deux TLC594)

    Pareil que sur d'autres topic, me donnez pas de réponse toute prête, orient

    Merci de m'orienter :)

    -
    Edité par Julien Grall 17 octobre 2013 à 12:08:14

    • Partager sur Facebook
    • Partager sur Twitter
      14 octobre 2013 à 18:21:27

      Il faut travailler plus le shopping :

      http://www.digikey.com/product-detail/en/PCA9634D,112/568-8365-5-ND/1300983

      http://www.digikey.com/product-detail/en/TC62D722CFNG(EL,BH/TC62D722CFNG(ELBHCT-ND/4303874

      http://www.digikey.com/product-detail/en/PCA9634PW,118/568-4066-1-ND/1534155

      http://www.digikey.com/product-detail/en/TLC5940PWPR/296-35975-1-ND/4135049

      Sinon pour cette quantité de LEDs, un multiplexage est certes avantageux, mais pour pouvoir varier la luminosité de chaque LED indépendemment avec "un certain nombre" de niveaux (mettons 16), le multiplexage est un peu plus compliqué.

      Il faut aussi considérer l'intensité lumineuse dont tu as besoin. Tu devrais commencer par trouver les LED qui conviennent et voir quel courant elles nécessitent.

      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2013 à 20:35:58

        Heu rassure moi, c'est à peu pret le même composant, pas besoin des 4 :) à vu de nez, le 4ème à l'air pas mal ? quand tu parles de limunosité, c'est parce que le courant moyen va être divisé et donc baisser la luminosité ?

        Quand tu dis travailler plus le shopping tu penses à quoi ? qu'on peut trouver l'équivalent beaucoup moins cher ?

        Niveau led je pensais à ce modèle : http://www.gotronic.fr/art-led-5-mm-led5rvb-2103.htm

        -
        Edité par Julien Grall 14 octobre 2013 à 20:45:18

        • Partager sur Facebook
        • Partager sur Twitter
          14 octobre 2013 à 21:48:03

          Quand tu dis travailler plus le shopping

          si tu veux 1 pièce, achète chez ton épicier habituel, mais dès que la note dépasse 100€ (voire 50) il faut fouiner un peu chez farnell, digikey, mouser, et autres fournisseurs "pros" qui ont certes des frais de port / minimum de commande un peu chers, mais des prix par quantité intéressante, il y a aussi ebay, les chinois de hong kong sont assez forts sur les tarifs...

          je te mettais plusieurs liens de trucs un peu équivalents (à toi de trier) et potentiellement moins chers.

          • Partager sur Facebook
          • Partager sur Twitter
            15 octobre 2013 à 10:49:08

            Je reviens à la charge, je suis tombé sur ce site qui explique comment brancher des TLC5940 en cascade (http://www.zem.fr/tag/multiplexer-pwm/) avec en prime une lib arduino. Je me demande si les sorties de ce composant sont alimenté les uns à la suite des autres ou en simultanée. Sur leurs schémas ils ne représentent pas les résistances à côté des LEDs, il faudra bien que je les rajoute ?

            L'avantage du multiplexage que je voulais faire en tête de topic c'est que j'économisais sur le courant (au détriment de la luminosité).

            Là avec tout plein pot, j’atteins les 4A. Donc il me faudra (P=UI) une alim de 20W qui peut délivrer 4A.

            J'irais chercher un composant chez "mon épicier du coin" afin de faire quelques tests.

            Merci.

            PS : j'ai vu qu'il existe déjà des sites/topics qui expliquent plus où moins comment procéder, j'imagine que ça peut agacer de devoir ré-expliquer. Mais j'ai vraiment envie de le faire par moi-même et de me faire assister quand j'ai des questions.

            -
            Edité par Julien Grall 15 octobre 2013 à 10:53:23

            • Partager sur Facebook
            • Partager sur Twitter
              15 octobre 2013 à 20:07:57

              4A? pourquoi tu cherche pas à utiliser la persistance rétinienne? regarde mieux les types qui font des cubes à led (genre les 8x8x8, soit au total 512 leds), dis toi qu'ils consomment surement moins de 100mA.
              • Partager sur Facebook
              • Partager sur Twitter

              oui. non. enfin je regarde et je te dis.

                15 octobre 2013 à 21:15:31

                C'est ce que je pensais faire au début (voir premier post), mais ça fait une rangée allumée tous les 20 cycles. J'ai intérêt à avoir un temps de cycle très rapide si je veux que ça persiste à l'oeil.

                Je vais y jeter un oeil merci.

                EDIT : Voici comment je vois le probleme :

                je représente juste le principe, il y a pas tout (je galère déjà assez avec le logiciel de dessin).

                Il y a 20 rangées de 10 LED RGB (5 pour chaque TLC). Avec deux décodeurs BCD->Décimal, je pilote les 20 transistors.

                A chaque cycle, je passe au transistor suivant et je change l'ordre des couleurs sur le multiplexeur PWM.

                J'ai pas représenté mais il y aura une petite résistance pour chaque LED. Le potar en haut (où il y aura l'alim) servira à régler la luminosité.

                -
                Edité par Julien Grall 15 octobre 2013 à 22:18:56

                • Partager sur Facebook
                • Partager sur Twitter
                  16 octobre 2013 à 12:25:41

                  sur ces cubes 8x8x8 y'a qu'une seule led allumée à la fois, soit 512 cycles pour tout le cube, effectué au moins 24 fois par seconde (minimum pour utiliser la persistance rétinienne). donc oui, 20 cycles c'est faisable^^
                  • Partager sur Facebook
                  • Partager sur Twitter

                  oui. non. enfin je regarde et je te dis.

                    16 octobre 2013 à 12:59:40

                    Ok merci, bon plus qu'à faire un schéma au propre, continuer mon code (je teste avec le terminal pour l'instant), je relancerai le topic lorsque j'aurai avancé.

                    Si vous avez la moindre remarque, n'hésitez pas.

                    EDIT pour Remace :

                    1 cycle par ligne à faire minimum 24 fois pas secondes, ça fait 480 cycles minimum par secondes. Déjà faut que je les atteigne (ça va dépendre de mon code comment il est optimisé) et aussi faut que je vérifie que le TLC5940,le CD4028BE et les transistors puissent tenir la cadence.

                    EDIT2 :

                    J'ai fait un compteur qui s'incrémente à chaque cycle et m’envoie le résultat toutes les secondes. 171000 cycles par secondes (ou 171kHz) pour un programme quasi vierge, c'est pas mal :p

                    -
                    Edité par Julien Grall 16 octobre 2013 à 17:49:54

                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 octobre 2013 à 18:13:46

                      Julien Grall a écrit:

                      1 cycle par ligne à faire minimum 24 fois pas secondes, ça fait 480 cycles minimum par secondes. Déjà faut que je les atteigne (ça va dépendre de mon code comment il est optimisé) et aussi faut que je vérifie que le TLC5940,le CD4028BE et les transistors puissent tenir la cadence.

                      Tenir 500Hz me parait laaaaarrgemmment faisable...

                      J'ai fait un compteur qui s'incrémente à chaque cycle et m’envoie le résultat toutes les secondes. 171000 cycles par secondes (ou 171kHz) pour un programme quasi vierge, c'est pas mal :p

                      Et pas non plus surprenant... Si tu faisais clignoter une LED (observe avec un oscillo son changement d'état) et supprimait la liaison série tu peux parier que tu gagnerais encore pas mal de cycle (car la liaison série te fait freiner ton programme)

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Retrouvez moi sur mon blog et ma chaine Youtube !

                        17 octobre 2013 à 10:38:26

                        Plop,

                        J'envisage de prendre ces LED RGB (à anode commune) http://cgi.ebay.fr/718-50-LED-RGB-rouge-vert-bleu-5mm-anode-commune-50pcs-/140461440502?pt=FR_YO_MaisonJardin_Bricolage_ElectroniqueComposants&hash=item20b4277df6

                        Niveau intensité max par LED RGB (donc les 3 couleurs, donc 3 LEDs), dîtes-moi si je me trompe:

                        J'alimente en 5V. 2V consommé pour le rouge, 3,3V pour le vert et bleu DONC sachant que je mets des résistances de 220Ohm, je vais avoir 3V dans la "résistance rouge" et 1,7V dans la "résistance Bleu et verte". Un petit i=U/R me donne Imax=3/220+1.7/220+1.7/200 = 29mA

                        10 LEDs RGB alimenté en même temps me donne 300mA. Pour l’électronique à coté (arduino, composants, toussa toussa), j'estime pour être à l'aise qu'il me faut une alim capable de me donner du 500mA pour 5V.

                        Sachant que je veux me brancher sur une prise de courant, Vers quoi je peux me tourner ? (ou sinon je recycle un vieux chargeur de pc portable qui traine). ou sinon un chargeur prise murale/USB (comme ça je pourrais brancher mon powergen aussi :))

                        -
                        Edité par Julien Grall 17 octobre 2013 à 11:06:42

                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 octobre 2013 à 13:56:27

                          Julien Grall a écrit:Plop,

                          J'envisage de prendre ces LED RGB (à anode commune) http://cgi.ebay.fr/718-50-LED-RGB-rouge-vert-bleu-5mm-anode-commune-50pcs-/140461440502?pt=FR_YO_MaisonJardin_Bricolage_ElectroniqueComposants&hash=item20b4277df6

                          Niveau intensité max par LED RGB (donc les 3 couleurs, donc 3 LEDs), dîtes-moi si je me trompe:

                          J'alimente en 5V. 2V consommé pour le rouge, 3,3V pour le vert et bleu DONC sachant que je mets des résistances de 220Ohm, je vais avoir 3V dans la "résistance rouge" et 1,7V dans la "résistance Bleu et verte". Un petit i=U/R me donne Imax=3/220+1.7/220+1.7/200 = 29mA

                          10 LEDs RGB alimenté en même temps me donne 300mA. Pour l’électronique à coté (arduino, composants, toussa toussa), j'estime pour être à l'aise qu'il me faut une alim capable de me donner du 500mA pour 5V.

                          Sachant que je veux me brancher sur une prise de courant, Vers quoi je peux me tourner ? (ou sinon je recycle un vieux chargeur de pc portable qui traine). ou sinon un chargeur prise murale/USB (comme ça je pourrais brancher mon powergen aussi :))

                          -
                          Edité par Julien Grall il y a environ 1 heure

                          tu as déjà donné pas mal de bonnes idées. tous les chargeurs "muraux" allant de "smartphone" à "machine à laver" (non machine à laver, j'exagere, mais une vieille alim de PC fixe peut passer facilement) pourront aller pour faire ton montage tant qu'ils ont une tension et un courant suffisant, et en général c'est marqué dessus. à savoir qu'une alimentation d'ordinateur portable fait environ 100W, soit 5A sous 20V (pour les puristes, c'est des ordres de grandeur, me sautez pas à la gorge tout de suite), donc tu as LAAAAAAARGEMENT de quoi alimenter ta table avec une alim de PC portable. (les alim de pc fixe c'est 250-400W pour 30€, et t'as de quoi alimenter toute une salle de restaurant avec^^)

                          sinon tu as la solution compliquée (ou pas, c'est juste une tache de plus quoi) t'en bricoler un exprès.

                          Julien Grall a écrit:

                          EDIT pour Remace :

                          Julien Grall a écrit:

                          1 cycle par ligne à faire minimum 24 fois pas secondes, ça fait 480 cycles minimum par secondes. Déjà faut que je les atteigne (ça va dépendre de mon code comment il est optimisé) et aussi faut que je vérifie que le TLC5940,le CD4028BE et les transistors puissent tenir la cadence.

                          Julien Grall a écrit:

                          EDIT2 :

                          J'ai fait un compteur qui s'incrémente à chaque cycle et m’envoie le résultat toutes les secondes. 171000 cycles par secondes (ou 171kHz) pour un programme quasi vierge, c'est pas mal :p

                          -
                          Edité par Julien Grall il y a environ 20 heures

                          si je peux me permettre, il me semble qu'un transistor lambda tient tranquillement le MHz, donc que t'as pas de soucis à te faire là dessus. le tlc 5940 tient 30MHz de ce que je lis de la doc, et le décodeur BCD ils parlent même pas du temps d'activation dans la doc, chaque info traverse l'équivalent de 5 portes logiques, donc le temps de réponse est quasi nul (fréquence qui commence à être critique: de l'ordre de 100MHz je pense, après, c'est à faire confirmer par les gens au-dessus.)

                          -
                          Edité par remace 17 octobre 2013 à 14:23:58

                          • Partager sur Facebook
                          • Partager sur Twitter

                          oui. non. enfin je regarde et je te dis.

                            17 octobre 2013 à 15:55:18

                            Bon, pour les composants ça rassure, l'électronique, c'est vraiment aux antipodes de l'informatique en général, c'est pas du tout la même psychologie :)

                            Par contre je me fait une petite frayeur. Je croyais que mes decodeur BCD->Décimal allait jusqu'à 15, raté c'est de 0 à 9. Le problème est que mon arduino uno est full niveau sortie (ou presque, il m'en reste une).

                            J'ai besoin de 20 sorties pour piloter mes lignes, avec le cas ou j'en pilote aucunes, ça me fait 18 de dispo avec mes 2 convertisseurs.

                            Il me reste 2 sorties PWM non utilisées sur mes TLC5940, mais je trouve ça vraiment pas élégants. Ou alors je remplace mes convertisseurs par 3 74HC595...

                            Je vais choisir la dernière solution je pense. J'ai commencé à faire mes schémas, je vais les poster prochainement.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 octobre 2013 à 17:16:59

                              Julien Grall a écrit:

                              Bon, pour les composants ça rassure, l'électronique, c'est vraiment aux antipodes de l'informatique en général, c'est pas du tout la même psychologie :)

                              peux-tu développer l'idée? (4h, pas de calculette :D)

                              • Partager sur Facebook
                              • Partager sur Twitter

                              oui. non. enfin je regarde et je te dis.

                                17 octobre 2013 à 18:39:05

                                Ben c'est un peu comme passer de la boulimie à l'anorexie.

                                Quand je développe une appli pc (Qt car c'est de loin mon préféré), j'aime prendre mes aises, je m'étale. Des classes en veux-tu en voilà, j'hérite, je déclare des variable à foison, les pointeurs toussa toussa... Sans me soucier des ressources puisque, de toute façon, je les ai.

                                Par contre sur un micro-controleur, il faut rester le plus simple possible, optimiser au maximum, surveiller sa mémoire, être astucieux, en un mot, il faut dimensionner.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 octobre 2013 à 20:21:12

                                  bah c'est parce que tes programmes sont pas franchement voraces non plus. explique à un mec de coder un jeu vidéo type "simulation pour console next-gen" (pour le contenu et la beauté du rendu) dans un ide type eclipse, sans moteur graphique, tu verras que les limites du PC se feront sentir déjà plus rapidement^^

                                  sinon t'as entendu parler de ça: http://www.youtube.com/watch?v=sbdvrfwr6Sg ? je sais pas où ça s'achete, mais ça a l'air sympa pour ton projet.

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  oui. non. enfin je regarde et je te dis.

                                    18 octobre 2013 à 20:19:13

                                    Comme promis, voici le schéma général de câblage de l'installation. Dîtes moi ce que vous en pensez, de mon côté vais commencer à dessiner ma plaque (celle ou je poserais tous les composants à part les LEDs.

                                    http://hpics.li/461b228

                                    EDIT : J'ai décidé de passer uniquement par des TLC5940, c'est un peu con d'utiliser des PWM pour faire du tout ou rien, mais ça me simplifie grandement le travail. Si j'arrive à atteindre des 15000Hz, ça me permettra d'allumer qu'une diode à la fois (les diodes R, G et B séparément), ce qui me fera consommer quasiment que dalle.

                                    -
                                    Edité par Julien Grall 18 octobre 2013 à 22:07:10

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      20 octobre 2013 à 12:37:44

                                      15MHz avec une Arduino Uno avec une clock de 16 MHz, ca me paraît un peu limite.

                                      EDIT : mal lu, c'est 15 kHz et non 15 MHz, désolé :)

                                      -
                                      Edité par zeqL 20 octobre 2013 à 12:47:37

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        20 octobre 2013 à 12:39:18

                                        Hey zeqL, il a écrit 15 kHz ;)

                                        Julien Grall a écrit:

                                        [...]**Si j'arrive à atteindre des 15000Hz**[...]

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Retrouvez moi sur mon blog et ma chaine Youtube !

                                          20 octobre 2013 à 21:50:21

                                          Bon, pas de remarques sur mon schéma (à part la 220 Ohm sous le potar qui ne sert à rien), je vais commander mes TLC pour faire des tests sur ma breadboard.

                                          Je relancerai le topic quand ce sera fait.

                                          Merci.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            22 octobre 2013 à 20:23:26

                                            Bonjour,

                                            j'ai commencé à faire un typon, même si c'est pas obligatoire, c'est quand même vachement plus propre (si on peut qualifier ce typon de propre ^^).

                                            Je le ferais peut-être faire, je verrais en temps voulu, j'ai pas pu tout linker, j'aurai 5 fils à ponter.

                                            Les dimensions sont de 160x100.

                                            http://hpics.li/9ae605d

                                            Si vous avez des remarques n'hésitez pas.

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            [Arduino] Etude Réal table à LED RGB 20*10

                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                            • Editeur
                                            • Markdown