Tuto : Piloter un bandeau à LEDs RGB avec une Arduino UNO

Maël B.

18 juin 2015

69 commentaires pour “Tuto : Piloter un bandeau à LEDs RGB avec une Arduino UNO

  1. Merci pour ce tuto, je voulais savoir si en branchant l’arduino à l’ordinateur ça pouvais fonctionner, donc ne pas utiliser le bloc secteur 12V?
    J’ai des led ws2801 5V power, 60mA maximum per pixel (LED on full white)
    j’imagine que dois donc pas brancher sur le VIN mais sur le 5V ?
    Merci

    1. Bonjour et merci Thibault !

      Mes LEDs fonctionnent en 12V, c’est pourquoi j’ai choisi ce bloc secteur ! Mais si vos LEDs fonctionnent en 5V, pas de problème pour utiliser le 5V de votre Arduino, toutefois si la carte Arduino UNO est connectée à votre ordinateur pour l’alimentation, le courant est limité à 500mA, en gros cela dépends de la longueur du câble ! Plus il y a de LEDs, plus ça va consommer.

      Maël

  2. Hello,

    très intéressant ton article!

    Cependant, peut-être préciser que si tu n’utilise pas de résistances, c’est parce qu’elles sont intégrées dans ton bandeau.

    Je le signale car pour ma part, je voudrais connecter des modules LED donc il me faut intégrer les résistances en début de circuit 🙂

    1. Bonjour et merci !

      Oui, elles sont déjà intégrées, comme sur la plupart des bandeaux qui se vendent dans le commerce 🙂 Mais sinon effectivement, il faudrait y intégrer les intégrer dans le schéma !

  3. Bonjour,

    La théorie c’est bien …. la mise en pratique est tout autre 😉

    -Le UNL2803 ( de chez texas instrument) ne supporte que 500mA par sortie au max (valeur datasheet).
    Son commun de référence lui accepte 3.4A (pour ses 8 sorties si utilisées simultanément soit environ 400mA/sortie ) .

    -chaque composant individuel type RGB 5050 consomme environ 20mA (valeur datasheet) x 60 au mètre = 1.2 A au mètre / 3 (pour chaque ‘lignes’ des composantes RGB) = 400mA par sortie !

    Donc prudence ….au delà 1 mètre de ruban led ……. unl2803 = pchiiitttt

    !!! Attention au caractéristiques des composants que vous utilisez et ce que vous leurs demandez !!!

    voili ..voilou

    Cordialement
    Plumeau

    ps:
    par exemple :c’est un peu comme les tutos avec un arduino et un servo (même petit) une sortie arduino fournit 50mA …un servo « tire » entre 100 et 500 mA selon sa charge dynamique … donc marche pas …ou mal (les sorties du contrôleur se mettent en sécurité)

      1. Merci,

        Pour un cout équivalent … essayez de regarder un petit montage autour de Mosfet (x3) qui selon les références il peuvent supporter pas mal d’intensité et ne sont pas compliqués à mettre en œuvre.

        Pour le ULN il a 8 « portes » pourquoi ne pas faire 2 (ruban) x 3 portes = 6 utilisées (par exemple (2x 1 mètres dans mon ex avec des 5050)… par contre attention à la chute de tension dans les câbles à partir de certaines longueurs (la section du câble est alors une donnée importante)

        Bon courage … continuez … 😉
        Plumeau

        1. Effectivement les Mosfet sont une alternative, à vrai dire lorsque j’ai fait le montage j’avais uniquement des UNL sous la main et ça convenait parfaitement à mon application !

          Merci et à bientôt !

  4. Bonjour,

    Super article, je vais me lancer 🙂

    je n’ai pas trouvé où tu as pris ton bandeau de led. Pourrais tu me donner un lien vers un ruban de led qui correspond à ce tuto ?

    Merci.

    Carlito

    1. Bonjour et merci pour ton commentaire !

      J’avais acheté un rouleau de 5m sur le site rubanled.com !
      Tiens moi au courant de ton avancée !

      Maël

  5. Bonsoir moi j’ai le projet d’illuminer ma maquette de la Tour Eiffel je voudrais reconstituer le scintillement de la tour avec à peu près 500 leds , je voudrais leur donner un effet stroboscopique comme sur la vrai tour avec éclairage aléatoire , mais je n’est jamais utiliser un arduino , quel matériel me faut t-il pour brancher mes 500 leds ? Merci de vos réponses

    1. Bonsoir,

      Le même système que j’ai utilisé pourra fonctionner (avec plus de ULN par contre 😀 ), attention à la consommation des 500 LEDs, une alimentation dédiée devra être utilisée ! 🙂

      1. merci , donc cela veut dire qu’il est préférable d’utiliser un arduino MEGA ? et si j’ai bien compris mes leds je les branches en série ? 500 leds combien de résistances ? je suis un peu perdu quelle alimentation me conseillerai tu ?
        merci

        1. Non une Arduino Uno suffit, puisque seul 4 fils vont y être branchés. (3 sorties PWM et GND)

          Quel type de LEDs veux tu utiliser ? Un bandeau ?

          Concernant l’alimentation, ça va dépendre de la consommation de tes LEDs..

          1. des led diode ou alors des leds type cms 0805 ou 1206 a souder
            étant donné qu’il y a 500 leds je n’arrive pas a me faire le schéma dans ma tête pour relier toute ces leds entre elles et ensuite vers l’arduino
            pour l’alimentation je pense que cela sera en 12V

            je veux reproduire ceci ( a regarder a partir de 1 minute 15 )
            https://www.youtube.com/watch?v=cneZy-PGeUE

            merci

  6. a oui d’accord merci je pense que je le ferrai faire par un pro car cela me dépasse et ce n’est plus de mon ressort ( j’ai aucune base en électronique )
    merci

    1. Bonsoir je suis en train de me prendre tout ca par contre j ai trop d attente pour le uon2803 donc je vais me tourner sur un mosfet mais quel mosfet prendre pour un ruban de 5m qui doit avoir a peu pres 300led type 5050

  7. Bonjour bon apres avoir trouver des uln2803 j ai tester cela marche mais la luminositer des mes led sont tres faible comment cela ce fait il svp

    1. Merci de faire un petit effort sur l’orthographe 🙂

      Si elles ne s’allument pas assez, c’est qu’il n’y a tout simplement pas assez de puissance ! 🙂

  8. j’ai resolu mon soucis mais malheuresement j’attends un autre arduino celui la a griller surment mon transfo etait trop puissant , par contre en prennant un transfo de 9v 1A tout en laissant l’arduino connecté en usb pc ?

  9. Ah mince cela ne m’arrange pas car mon arduino est pilotée via logiciel en usb , peut-on dans ce cas allimenter l’ULN sur une alim indépendante ? Si oui de combien svp

  10. Bonjour; apparemment cela ne gène personne mais, sur ordi, le texte du code est tout coupé à droite et donc inutilisable.
    De plus je n’ai qu’une bande de 5m de leds blanches que je voudrais faire clignoter; vous n’auriez pas la version « allégée ». Merci d’avance

    1. Bonjour Christian,

      Logiquement si vous faites un Copier/coller, vous aurez tout le code, sinon donnez moi votre adresse mail et je vous l’envoie !

      Maël

  11. Bonjour Maël, merci pour cet article.

    Dans le cadre d’un projet je souhaiterais allumer 2 rubans de Led adressable chacun de 350mm indépendamment et en chenillard.
    Je compte prendre celle-ci  » Addressable RGB 60-LED Strip, 5V, 1m  » avec une carte arduino un shield ethernet je souhaiterais savoir si je peux connecter les deux parties de Led 350mm + 350mm à la même carte arduino sans problèmes ? et aussi j’aurais besoin de quoi comme matériels de plus pour mon installation svp ?

    1. Bonjour ! Merci pour votre commentaire !

      Alors il y a 6 sorties PWM sur une Arduino UNO donc c’est bon, vous pourrez piloter le rouge / vert / bleu en x 2 ! Après il faudrait calculer la consommation des LEDs pour faire une alimentation spécifique pour les bandeaux 🙂

      Maël

  12. Bonjour Maël,
    J aimerai rajouter deux bp sur ton programme, un pour changer la fonction d allumage (mode 1 = on, mode 2= clignote, mode 3= variation etc…)
    Et un autre bp pour changer la couleur pendant l exécution des fonctions d allumage, est ce possible, si oui une idée de code ?
    Merci à toi.

    1. Bonjour,

      Oui sans problème, le mieux serait d’utiliser un switch classique (DIP 4 par exemple pour avoir 16 configurations possibles) et utiliser la fonction « switch/case » dans votre code Arduino !

  13. Bonjour,

    Je débute en domotique. Pouvez-vous m’expliquer la signification ou plutot la différence d’un ruban à leds et d’un ruban à leds adressables ?
    Si je comprend bien le terme les leds pour un ruban adressable peuvent être alllumées indépendament des autres.
    Et c’est ce qui permet de faire un chenillard par exemple, non ?

    Amicalement,

  14. Bonjour,

    Je suppose que la broche vcc du ruban led ne consomme par beaucoup de courant vu que le courant consommé par les leds passe par les trois autre fils.
    est ce correct ?

  15. Bonjour,

    Merci pour ce tutoriel !

    Je souhaitais savoir si la bande LED que tu avais utilisée te permettait de contrôler chaque LED individuellement (par exemple n’allumer qu’une seule LED sur l’ensemble du bandeau). Je débute dans le domaine et j’avoue avoir du mal à comprendre la différence entre bande LED « adressable » et « dimmable ». Est-ce la même chose ? Auquel cas, les bandes LED dimmables vendues dans le commerce permettent-elles toutes un contrôle individuel des LED ? Le cas échéant, ton système permettrait-il ce contrôle individuel ?

    Je te remercie pour tes lumières (si tu me passes l’expression 🙂 ) !

    Basile

    1. Bonjour Basile,

      Merci pour ton commentaire, alors ici il s’agit d’un bandeau à LEDs non adressable individuellement ! Plus simple à programmer donc 🙂
      Par contre, nous avons du ruban à LEDs Neopixel, les LEDs se programment individuellement.

      Typiquement, tu peux utiliser cette ligne de code : strip.setPixelColor(n, red, green, blue);

      Elle permet de modifier l’état d’une LED. Le premier paramètre détermine la position de la LED à modifier. Les paramètres suivants définissent l’intensité lumineuse de chaque couleur primaire. A 0, la couleur est éteinte et à 255 la couleur est à sa luminosité maximale. En jouant avec l’intensité lumineuse de chaque couleur, tu peux obtenir des couleurs que tu veux et le rendu est plutôt sympa.

      Si ça t’intéresse, je pourrais faire un article sur le ruban à LED neopixel !

      Maël

      1. Bonjour Maël,

        Merci pour cette réponse !

        J’ai parcouru le site d’Adafruit et les bandeaux Neopixel ont l’air aqsssez différents des autres bandeaux, notamment la question de l’alimentation qui m’est apparue assez complexe, et ce spécialement lorsqu’on souhaite piloter plusieurs bandeaux…

        Un petit tutoriel sur le ruban Neopixel pourrait donc être assez intéressant ! 🙂 D’autant qu’il n’en existe pas vraiment à ma connaissance.

        A bientôt et merci !

        Basile

  16. Bonjour,

    Merci pour votre tuto, mais y’a t-il un autre circuit intégré compatible pour le ULN 2803 ? Vu que sur votre site, il est en rupture de stock 🙁

    Merci 🙂

  17. Salut! Merci beaucoup pour ce tuto vraiment très intéressant!
    Moi qui pensait utiliser l’arduino pour faire saturer des transistors qui eux même laisseraient passer le courant pour aller alimenter mon ruban, tu me sauves d’un encombrement assez conséquent à coté du petit CI proposé 😀

    Cependant je me pose une question,
    si j’envoie les PWM sans envoyer le VCC, les LEDS s’allumeront elles? Ou est-ce que je peux mettre les PWM à l’état HIGH pour déjà décider la couleur et ensuite, envoyer le VCC pour allumer?
    Exemple:
    je décide de la couleur en jouant avec le RGB donc met les PWM en high, puis ensuite, je fais un effet strobe avec le VCC.

    Et une autre question,
    comment se fait-il que le ruban ne doit pas être raccordé au GND?
    Le courant passe comment dans le ruban?

    En tout cas encore merci pour ton article!

    1. Bonjour et merci Viktor pour ton commentaire !
      Alors pour répondre à tes questions, attention, il n’y a pas de puissance qui transitent dans un signal PWM ! Donc il y a besoin d’alimenter le ruban soit par l’Arduino si le ruban n’est pas trop grand, soit par un bloc secteur externe (solution la plus pertinente pour éviter des problèmes de chauffe).

      Pour la masse, effectivement, il n’y a pas besoin de la relier sur mon ruban mais ça peut différer selon les modèles !

      A bientôt,
      Maël

      1. Merci de votre réponse!
        Effectivement ce que j’avais pu comprendre c’est que les pwm ne servent qu’à décider de la couleur des leds et compte alimenter mon ruban par source externe mais alors pourquoi brancher les pwm sur un amplificateur?

        1. L’ULN 2803 est également un inverseur pour la programmation soit plus facile à comprendre, ici il sert d’interface de puissance (puisqu’il peut sortir jusqu’à 500mA) alors que les broches d’une carte Arduino sortent 20mA..

  18. Bonjour,

    Mon ruban à également une télécommande.
    Je peux tout aussi bien piloter mes led via l’arduino PWM et également me servir de la télécommande ou celle-ci ne prendra plus effet ?

    Merci

      1. Merci Maël pour votre réponse.

        Le programme actuel ne fonctionne pas sur mon soft arduino.
        Peut-être a t’il changer depuis la publication ?
        Il me dit à chaque fois que la variable « … » n’est pas déclarer etc…

  19. Bonjour et merci pour votre réponse.

    Donc la télécommande fonctionnera mais le programme de l’arduino PWM tourne en continu donc si admettons j’appuie sur la couleur bleu de la télécommande, je n’aurais pas uniquement le bleu qui va s’éclairer, j’aurais toujours le programme qui tournera ?
    Et actuellement, le ruban de LED est toujours branché au secteur, et pour l’activer j’appuie simplement sur le bouton ON de la télécommande.
    Maintenant si je met l’arduino, il va falloir que je débranche entièrement la prise du secteur, le bouton ON/OFF de la télécommande ne prendra pas effet je suppose ?

    Merci de m’éclairer sur ces sujets-ci.

  20. Bonjour , est ce que je peux faire la méme chose avec strip rgb 220v pas 12v , qiels sont les changements que je doit faire au schéma , merci d’avance.

    1. Bonjour,

      Bien sur, il faut toujours que les masses soient reliées entre elles. Ensuite, on ne va pas prendre le VIN venant de l’Arduino mais directement depuis votre alimentation (pensez à réaliser une alimentation à découpage).

      Maël

  21. Bonjour,

    J’ai lu pas mal de commentaires, mais je ne suis que novice dans le monde de l’arduino.

    Y a t’il une limite de puissance quant au branchement de ruban led 5050 sur l’arduino ? Je voudrais une puissance de 300W voir 500W.
    Quel composant ai-je besoin pour une telle puissance ?

    Merci d’avance

  22. Bonjour
    Y a-t-il moyen d’utiliser un module arduino pour faire varier la couleur des leds RVB en fonction de la fréquence d’une musique en utilisant un micro ?
    Merci d’avance pour votre réponse.

  23. Salut je voulais savoir si tu savais comment faire pour un bandeau commander par un système de bus, c’est à dire qu’au lieu d’avoir un câble pour chaque couleur, j’en ai un seul. C’est à dire que sur le connecteur du bandeau, on a une borne positive, un négatif avec le ground, et ce dernier cable pouvant commander la couleur, la luminosité (par la fréquence), etc.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *