Arduino Forum

International => Français => Topic started by: Senescence on Nov 20, 2013, 09:34 pm

Title: Contrôler des LEDS ?
Post by: Senescence on Nov 20, 2013, 09:34 pm
Bonjour à tous,

Je me présente, je suis musicien et je gère de l'électronique sur scène et j'ai pour objectif de toujours rendre l'électronique musicale plus visuelle et plus humaine. Pas question de rester bloquer derrière un ordinateur.
Et je travaille sur un projet de controleur d'effet utilisant le Leap Motion ...
Mais j'aimerais le rendre encore plus visuel, avec un objet couvert de LEDs qui montrerait le déplacement de la main au dessus du Leap Motion. J'ai pensé chercher du coté de l'Arduino. Mais c'est tout nouveau pour moi et je lis beaucoup de tutos mais ça reste encore obscur.

L'idée c'est de récupérer le signal du Leap motion pour allumer des petites barres de LEDS.
1. Plus la main est proche du Leap Motion plus les LEDs brillent fort.
2. Les barres de LEDs s'allument en fonction du déplacement de la main. Cette dernière étape a, je vois, été réalisée (en gros) par quelqu'un ici (vidéo) : http://thesis.diegozaks.com/2013/09/30/finger-tracking-led-light-up-using-processing-arduino-leap/

Maintenant je ne sais pas trop vers quel matériel me tourner. Quels types de barres de LEDs, comment réaliser le montage, alimenter les LEDs, etc.
Si quelqu'un ici a des pistes, je suis preneur.
Au lieu d'une LED par point de mapping, je pensais allumer une petite barre de 4 ou 6 LEDs (pour plus de visibilité sur scène).  Et avec bien plus de points mappés. Les barres de LEDs, une par une, ou deux par deux, s'allument en suivant le déplacement de la main au dessus du contrôleur ...

Je prends toute idée de matériel, de cablage de tout ça ... Et après je me lance au bidouillage pour que ça réponde à ce que je cherche.
Mais ma première étape c'est le matériel, l'alimentation des LEDs et leur connection à l'arduino.

Merci pour toute idée !
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 20, 2013, 10:02 pm
Bonsoir

Un truc qui marche bien, ce sont les LEDS RGB adressables.
C'est à dire qu'elles sont associées soit sur un circuit imprimé, soit dans le chip LED avec un circuit de contrôle qui permet de piloter les 3 composantes RGB en 256 niveaux chacun, soit théoriquement 16 millions de couleurs.

2 types de controle existent :
- mono fil (type contrôleur WS2812)
- de type SPI à 2 fils (type contrôleur WS2801, WS2811 ou LDP8806) : plus fiable sur longue distance

Tu peux trouver :
- des leds individuelles à monter sur circuit imprimé : www.adafruit.com/products/1379
- des NeoPixel chez Adafruit qui ont déjà un petit circuit et tu peux cabler comme tu veux. C'est la mode du "Wearable Electronics" pour faire des habits de lumière qui clignotent partout : http://www.adafruit.com/products/1260
- des petits barreaux, matrices, etc .. pré-assemblés encore chez Adafruit : http://www.adafruit.com/category/37_168
- Des bandeaux souples jusqu'à 5m : chez Adafruit ou sur ebay. Compter environ 15 à 30€ du mètre avec 30, 60 ou 144 LEDs par mètre.
- Des gros pixels de 12mm ou 30mm

Quelques recherches eBay par exemple :
http://www.ebay.fr/sch/i.html?_sacat=0&_from=R40&LH_BIN=1&_nkw=addressable+rgb+led&LH_PrefLoc=2&_sop=15
http://www.ebay.fr/sch/i.html?_odkw=addressable+rgb+led&LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_trksid=p2045573.m570.l1313.TR0.TRC0.Xaddressable+rgb+led+strip&_nkw=addressable+rgb+led+strip&_sacat=0
http://www.ebay.fr/sch/i.html?_odkw=addressable+rgb+led+strip&LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_trksid=p2045573.m570.l1313.TR0.TRC0.Xaddressable+rgb+led+12mm&_nkw=addressable+rgb+led+12mm&_sacat=0
http://www.ebay.fr/sch/i.html?_odkw=rgb+led+pixe+30mm&LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_trksid=m570.l3201&_nkw=rgb+led+pixel+30mm&_sacat=0


Un Arduino peut facilement gérer jusqu'à 250 LEDs
Après c'est la mémoire et le temps de rafraichissement qui posent problème.

Y'a de quoi s'amuser.
Title: Re: Contrôler des LEDS ?
Post by: AlienArea51 on Nov 20, 2013, 10:05 pm
Je confirme ;)
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 20, 2013, 10:10 pm
Merciiiiiii !!!

(http://thmb.inkfrog.com/thumbn/chrisguo1002/0811b2-4.jpg)

ça c'est PARFAIT !

Quel est le souci avec la mémoire et le taux de rafraichissement ?
Et saurais tu m'expliquer comment cabler ça avec l'arduino (quel board d'ailleurs ?) et comment l'alimenter ?

Merci mille fois pour ton aide !
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 21, 2013, 06:18 pm
Voici un autre exemple en vidéo de ce que je veux faire :

http://www.youtube.com/watch?v=6Fyv95ohkxg (http://www.youtube.com/watch?v=6Fyv95ohkxg)

J'ai encore du mal à finir ma liste de matériel pour controler 3 bandes de LEDs ...  :~
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 21, 2013, 08:52 pm
Ben si tu l'as déjà fait, c'est bon ?  :smiley-mr-green:

Sinon, la photo que tu a mise n'est pas un produit prêt à l'emploi. Ce qui t'apparait en bande est en fait une bande de stockage. Ce qui est vendue sur ce produit ce sont des chips LEDs. Donc un composant CMS a souder sur quelque chose.
Si tu veux du bandeaux de LEDs comme sur cette video il faut utiliser le 2eme lien "addressable rgb led strip"

Aujourd'hui, le 1er lien renvoi vers une annonce ou tu peux choisir plusieurs choses. Notamment "5m WS2811 Digital LED strip (white)"
Il s'agit donc d'un bandeau de 5m a fond blanc avec des RGB avec le contrôleur WS2811 intégrée.
Il existe en version waterproof et non-waterproof. En version waterproff, le bandeau de led est dans un étuit transparent souple qui peut se couper comme le bandeau lui même à n'importe quelle taille. Attention parce qu'aux extrémité, ce n'est plus waterproof. Si tu as besoin de waterproof il faut isoler proprement les extrémités.
C'est le modèle 30 LED par mètre soit un total de 150 LED sur 5m.
A toi de voir si la densité te convient puisqu'il existe aussi 60 ou 144 LED par mètre. Le prix suit ...

Ce type de bandeau peut se controler avec une simple Arduino UNO.

Attention toutefois à l'alimentation.
150 LEDs RGB ca consomme si tu allume tout en blanc. 20mA par LED mais x3 parqu'il y a 3 LEDs (R, G, B) dans le chip.
Total 150 * 3 * 0,02 = 9A !!!!!
Il te faut donc au minimum un alim 10A/50W sous 5V
http://www.ebay.fr/sch/i.html?_odkw=power+supply+5V+50W&LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_trksid=p2045573.m570.l1313.TR0.TRC0.XAC%2FDC+power+supply+5V+50W&_nkw=AC%2FDC+power+supply+5V+50W&_sacat=0

Si tu peux, prend un peux plus : 15A pour avoir de la marge.

Cette alim permettra aussi d'alimenter l'Arduino MAIS il ne faut pas cabler :
Code: [Select]
ALIM -> Arduino -> LED
L'Arduino ne supporterait pas le passage des 9A.
IL faut donc faire une derivation :
Code: [Select]
ALIM -+---> Arduino
      \---> LED


Une broche sortie numérique (Digital Output) sur l'Arduino et la lib Adafruit NeoPixel : https://github.com/adafruit/Adafruit_NeoPixel

Voilà pour ce qui de commander les LED

Maintenant le Leap Motion....
Malheureusement lui il est USB, il lui faut un driver qui n'existe que pour PC ou MAC.
Donc je pense : No Way

Il te faudra donc aussi un PC/Mac avec un soft pour traiter le LeapMotion (je suppose que d'ailleurs le traitement des données du Leap Motion demande pas mal de capacité, au dela de ce que peux faire un Arduino.
Il te faudra donc une appli PC/Mac (environnement de dev a définir - que sais tu faire dans ce domaine) qui communique avec l'Arduino.
Au minimum Arduino branché en USB vu comme un port série -> échange de messages et ordres donnés par l'appli PC pour controler les LEDs. SI besoin, passage en Ethernet, Wifi ou Bluetooth

Je ne sais pas si j'en ai dis trop et que tu étais déjà ok, ou si j'ai pu aider...

Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 21, 2013, 09:26 pm
Merci 1000 fois ! Ton aide m'est très précieuse et me permet d'y voir plus clair dans le matériel.
Coté Leap Motion, j'en fais mon affaire. Il me sert à controler le son sur scène, donc il est bien branché en USB au mac.
Et dans le MAC, j'utilise Processing qui me permettra de renvoyer les données à l'Arduino pour controler les LEDs.

Des strips de 4m c'est trop pour moi.
J'aimerais 3 strips d'un mètre de ce type donc :

(http://i.ebayimg.com/00/s/MTYwMFgxNjAw/z/BHgAAMXQdGJR0bra/$T2eC16JHJGEFFm088J-VBR0br,PdZw~~60_57.JPG)

1M 60LEDs/M WS2811 Led Digital strip light Dream RGB Individually Addressable 5V

Donc pour ces 3 strips en parallèle, peux tu me donner plus de précision sur le montage avec l'Arduino et l'alim ? J'avoue que ces histoires d'alim me dépassent encore ...
Ça fait donc 3x60 = 180 LEDs à alimenter !


L'arduino sera branché en USB donc j'imagine que ça suffit à l'alimenter. Et ensuite je dois comprendre le montage pour alimenter les strips.

Merci encore ...
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 21, 2013, 09:53 pm
Tu peux couper comme tu veux
Si tu achete un strip de 5m tu auras un meilleur prix. Tu coupe 3 morceaux de 1m et il t'en reste 2 pour autre chose.

Tu veux la meme chose sur les 3 strips ou differents ?
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 21, 2013, 09:59 pm
L'idée c'est que tous les strips réagiront de la même façon mais, dans l'idéal, certains avec un léger délai à l'allumage et à l'extinction mais bon, dans un premier temps, faire marcher tout le monde en même temps, ce sera déjà bien.
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 23, 2013, 10:45 am
Salut,
Désolé, le vendredi soir c'est télé :)

Ci dessous un gros plan sur un bandeau de LED. Il s'agit d'un modèle 30 LEDs par mètre mais le 60 LEDs par mètre est similaire, juste les lEDS sont plus serrées. Comme tu peux le voir :
- Il y a un sens (indiqué par la flèche)
- un petit symbole de ciseaux qui indique que tu peux coupe à cet endroit là. Tu as un point de coupure comme celui-ci après chaque LED : donc tu peux vraiment couper un grand bandeau comme tu veux.

Tu va donc avoir N bandeaux qui vont diposer de 3 pins de chaque coté :
- Coté "entrée" : VCC (=+5V), DI (=Data Input), GND (=GND ;))
- Coté "sortie" : VCC, DO (=Data Out), GND

Les VCC et GND peuvent être reliés en série (je ne représente qu'un fil mais cela concerne VCC et GND) :
Code: [Select]
ALIM ----> Bandeau 1 -----> Bandeau 2 ----> Bandeau 3
Ou bien en étoile (appelé aussi parallèle ou dérivation)
Code: [Select]

       /--> Bandeau 1
ALIM --+--> Bandeau 2
       \--> Bandeau 3


Ceci est vrai pour les Alims indépendemment de la suite ci-dessous car contrairement au Data, les alims n'ont pas de sens (il n'y a pas de VCC Out ou de VCC In).
A toi de choisir le mode le plus facile à cabler.
Pour le cablage des alims, il faudra prendre du cable suffisant. Palons donc un peu d'ampères

Chaque composant LED RGB contient 3 LEDS : Rouge, Vert, Bleu. Chacun de ces LEDs consomme au maximum 20mA. Ti tu allume la LED en blanc (Rouge vert et bleau à fond) la LED RGB consomme 60mA. Si tu allume tes 180 LEDs en blanc, même un fraction de seconde, tu va consommer : 10,8A
1) Il te faut une alim suffisante. On applique un facteur de sécurité (derating) qui consiste à prendre une alim surdimensionné pour éviter les surchauffe. Donc vise une alim délivrant 15A sous 5V c'est à dire 75W.
Je ne trouve pas sur ebay de 75W. Après 50W, on saute direct à 100W : http://www.ebay.fr/sch/i.html?_odkw=power+supply+5V+AC%2FDC+100W&LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_trksid=p2045573.m570.l1313.TR0.TRC0.Xpower+switching+supply+5V+AC%2FDC+100W&_nkw=power+switching+supply+5V+AC%2FDC+100W&_sacat=0

2) Il faut câbler avec du fil adapté.
Si tu câble en étoile, chaque bandeau nécessite seulement 3.6A (60 LEDs). Je ne vais pas te parler en mm2 de section, plus simplement, tu prend du câble électrique à 2 fils comme on utilise couramment pour l'électricité standard (lampe de chevet, appareils électroniques, ...). Il s'agit de câble normalement ok jusqu'à 10A.
Si tu câble en série, le premier câble entre l'Alim et le 1erbandeau va prendre tout le courant. Il faut donc un cable plus costaud. Tu peux prendre le type utilisé avec les appareils électrique plus consommateur type appareils avec prise de terre (ordinateurs, prise électriques avec terre, ...) qui est normalement certifié pour 16A. Pour les suivants, tu peux redescendre au cable 10A puisque le courant diminue.

3) Tu dois alimenter les LEDs directement à partir de l'Alim, pas à travers l'Arduino.

Si tu compte alimenter ton Arduino via le port USB du Mac, rien de plus a faire pour l'Arduino.
Si tu compte utiliser une liaison sans fil (bluetooth, wifi ou ethernet parce que l'alim ne passe pas par Ethernet) ou si ton Arduino est loin du Mac, il faudra considérer alimenter l'Arduino depuis l'Alim 5V des LEDs, en étoile par rapport aux bandeaux (même si les bandeaux sont eux même alimentés en série, l'Arduino doit être en étoile) :

Code: [Select]
ALIM -+--> Bandeau 1 -----> Bandeau 2 ----> Bandeau 3
      \--> Arduino

       /--> Bandeau 1
ALIM --+--> Bandeau 2
       +--> Bandeau 3
       \--> Arduino



La suite ci-dessous ...
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 23, 2013, 10:47 am
Maintenant parlons des Data.

Pour que l'Arduino pilote un bandeau de LED il suffit de 2 choses :
- 1 signal numérique (digital output) qui rentre dans le DI (Digital Input) du bandeau
- que le GND de l'Arduino soit relié au GND du/des bandeaux. Donc surtout si ton Arduino est alimentée par l'USB, il faudra quand même une liaison entre le GND de l'Arduino et le GND de l'Alim des LED. Il ne passe pas beaucoup de courant, donc un petit fil suffira. Le même que celui que tu utiliseras pour le signal numérique ("fil de câblage électronique")

Tu auras 3 bandeaux.

Si tu veux exactement la même chose sur les 3 bandeaux, le montage en parallèle fonctionne si les 3 bandeaux sont proches l'un de l'autre :
Code: [Select]

                               /-> (DI) Bandeau 1
Arduino Dx --------------------+-> (DI) Bandeau 2
                               \-> (DI) Bandeau 3


Si tu veux des choses différentes, tu as 2 solutions :
i) Le chainage en série
Code: [Select]
Arduino Dx  ----> (DI) Bandeau 1 (DO) -----> (DI) Bandeau 2 (DO) ----> (DI) Bandeau 3
ii) 3 commandes séparées
Code: [Select]
Arduino Dx  ----> (DI) Bandeau 1
Arduino Dy  -----> (DI) Bandeau 2
Arduino Dz   ----> (DI) Bandeau 3


Pareil, suivant le câblage, l'un peut être plus ou moins facile.
Attention dans le cas i) si tu place les 3 bandeaux l'un au dessus de l'autre, pour assurer le cablage en série, celui du milieu doit être dans le sens opposé. Par exemple :
Code: [Select]

Arduino Dx ----------------------> (DI) Bandeau 1 (DO) >-\
                              /--< (DO) 2 uaednaB (DI) <-/
                              \--> (DI) Bandeau 3


Je pense que le i) est le plus simple. un chouia plus de fils mais ça sera plus facile au niveau soft de piloter les 3 bandeaux séparément que comme un seul long bandeau.

J'espère que tout cela continue à éclairer ta lanterne.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 24, 2013, 09:18 pm
Merci mille fois pour ton aide ! Tout ça me parait plus clair à présent.
Je n'ai pas choisi les LEDs dont tu parles mais des strips à 4 pins : 5v - R-G-B. Leur contrôle me parait plus simple.
je vais avoir 3 bandes en parallèle.
Deux contrôlées exactement de la même façon et la 3ème sur un autre contrôle.

Dans un premier temps il va me falloir comprendre comment cabler ce petit monde pour y arriver.
J'ai opté pour un proto shield pour souder tout ça correctement vu que le but est de le trimballer en concerts, faut que ce soit un minimum costaud.

Par anticipation, la question que je me pose est la suivante (en examinant les tutos de code, je ne trouve pas ma réponse) : si j'utilise un programme qui anime les leds, peut-on switcher ce programme pour un autre sur commande ? (midi par exemple)
En fait, elles réagiront toutes de la même façon en permanence mais j'aurai juste besoin de changer leur couleur à certains moments.
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 24, 2013, 10:23 pm
Attention
Ce dont tu parles ne sont pas des LEDs adressables individuellement
Mais tout le bandeau sera à la même couleur.
Il n'y a pas de contrôleur dans chaque LED, donc tout ce que je viens d'expliquer ne te sert à rien mais à rien du tout.
Çà ne fonctionne pas de la même façon.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 24, 2013, 10:48 pm
Non non, j'ai bien fait attention de choisir des leds adressables.
J'ai pris ces bandeaux : http://www.adafruit.com/products/1138 (http://www.adafruit.com/products/1138)

J'ai choisi celles ci parce qu'il y a énormément de tutos pour les utiliser, ça va m'aider à commencer à jouer !  XD
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 24, 2013, 11:34 pm
Si tu as pris celles-ci,  tres bien. Ce sont les mêmes que celles d'eBay. Juste plus chères + ce que les douanes risquent de te réclamer.
Et il y a bien 3 fils. Pas 4.
Pour les tutos, si tu reprends mon 1er post,  c'est chez Adafruit que t'avais déjà orienté. Ils marchent tout aussi bienavec les strips d'eBay.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 25, 2013, 10:11 am
J'ai encore tout confondu ...

J'ai lu tellement de choses que hier soir, un peu tard, je n'avais plus idées tout à fait claires.
Bref j'ai pris ces bandes, sur ebay vu que je pouvais encore annuler ma commande, on va bien voir ... Et du coup, je peux appliquer tes conseils ci dessus  XD


J'ai fait des schémas de mon montage, ça a l'air plutot simple en fait.

Maintenant, il va falloir trouver comment les contrôler, et sachant que je bosse avec du midi, ça va pas être facile ...
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 25, 2013, 09:48 pm
Pas de panique. Mais je croyais que tu avait pris des bandeaux à 4 fils : 12V, Rouge, vert, Bleu qui ne sont pas adressable LED par LED.

Bon, l'inconvénient d'eBay c'est le délai. Généralement 3 semaines pour venir de Chine. Adafruit est plus cher mais plus rapide.

Schémas ? Tu veux qu'on vérifie ?

Je croyais que tu voulais piloter cela par LeapMotion depuis Processing ?
Dans processing tu peux communiquer avec ton Arduino relié par USB ou bien par Ethernet ou Wifi ou Bluetooth.
Et pourquoi pas par MIDI ?
Il y a un shield MIDI pour Arduino mais ce n'est pas sorcier à fabriqué soi même si tu es pas trop manchot avec un fer à souder : une embase DIN 5broches, 2 résistances, un opto-coupleur car tu n'as besoin que de recevoir (MIDI IN).
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 25, 2013, 10:21 pm
Merci pour tes réponses !

Alors je reprends parce que mes idées partent dans tous les sens et ça devient un peu le foutoir dans ma tête  :smiley-red: :P

On a donc :

Leap Motion - > Midi Bridge - > Ableton Live (pour controler le son) ça ... c'est fait et ce n'est rien à faire.

Ensuite, là où sont mes interrogations, c'est le contrôle des LEDs.
Parce que soit l'arduino peut comprendre le midi et l'utiliser pour contrôler les LEDs ... auquel cas il n'y a besoin d'aucun branchement en midi ... on peut faire :

Midi Bridge / Ableton - > Arduino - > Leds ... ça direct par l'USB (avec un soft genre MidiSerial qui adresse les signaux midi vers l'arduino à travers l'USB)

Sinon, il faut convertir le midi en d'autres DATA ... avec processing donc :
Midi Bridge / Ableton - > Processing - > Arduino - > Leds


En fait, dans l'idéal, il faudrait que l'arduino puisse écouter certains channels midi et utiliser les valeurs (0-127) pour allumer les LEDS ou controler la puissance d'éclairage ...

Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 25, 2013, 11:00 pm
Tu peux effectivement facilement associer une led à une note et utiliser la vélocité pour piloter la luminosité.
Pour la couleur ? 3 notes (une pour rouge, une pour bleue, une pour vert ?)
Ou alors note pour la led, vélocité pour la couleur et aftertouch pour la luminosité....

Si MidiSerial te permet d'envoyer sur l'USB vers ton Arduino sans passer par du hard supplémentaire, super.
Sinon, comme je te l'ai dis, mettre une réception MIDI sur une arduino c'est top facile, ce qui permet de déporter l'Arduino où tu veux.

Au fait, tu ne t'y connaitrait pas en MIDI via Bluetooth sur Mac ?
Y'a notre pote William qui cherche à faire communiquer un montage Arduino MIDI (pédale d'effet) avec son MAC via Bluetooth.
C'est ici : http://forum.arduino.cc/index.php?topic=200166.0
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 25, 2013, 11:13 pm
J'avoue que j'ai l'habitude faire communiquer les appareils en wifi et me suis peu essayé au bluetooth mais je vais jeter un oeil.
A priori, sur mac, tous les appareils communiquant en bluetooth et capables d'envoyer du MIDI ou OSC sont reconnus nativement par les ports MIDI.

Les notes, ça ne me suffira pas.
En effet, le midibrige qui chope les data du leap motion n'envoie que des CC 0-127 ... pas des notes ON/OFF ... Ça pourrait, potentiellement ... Mais il serait hyper complexe (et inutile pour moi) de coder des signaux midi assignés à la position des mains. Il est bien plus simple de faire un CC qui court de 0 à 127 de gauche à droite et un autre de bas en haut. Ça me permet d'obtenir un controle en X-Y et c'est déjà beaucoup ...
Alors bon, on pourrait imaginer convertir les notes en CC mais là ça devient casse tête ...

Moi ce serait vraiment un Control Change pour choisir quelle LED (donc 127 LEDs potentiellement) et un autre CC pour la luminosité.
Dans l'idéal, la couleur changerait avec un Note On par exemple mais ça, ce n'est pas ma priorité ... Si déjà j'arrive à faire ce que je veux tout en blanc, pour ce projet là, c'est chouette.

Je n'ai aucune idée du code à faire avaler à l'Arduino pour qu'il écoute des channels midi spécifiques et analyse les valeurs des Control Change ...  :~

Question subsidiaire : aurais tu quelque part un tuto pour le montage du port MIDI IN sur l'arduino (sachant que ça s'adresse à un GRAND débutant  ]:D) je peux toujours en monter un, ce ne sera pas perdu ...
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 26, 2013, 09:39 pm
J'espère que tu as quand même un peu des doigts pour douder.

je te conseille de faire l'emplette d'un "shield" d'expérimentation tel que : http://www.gotronic.fr/art-kit-proto-shield-proto-uno-18748.htm
sur lequel tu pourras souder :
- Le connecteur vers les leds (connecteur à 2 points par bandeau : GND et Dx. Utiliser des connecteurs avec détrompage pour ne pas se planter sur le sens tel que :
      - sur le shield : http://www.gotronic.fr/art-connecteur-l002-5848.htm
      - sur le cable : http://www.gotronic.fr/art-boitier-nsk254-2b-15397.htm + contacts (par 10) : http://www.gotronic.fr/art-10-contacts-nsk254-0-171.htm

- L'interface MIDI IN
      - 1 Embase DIN : a monter sur le boitier puis tirer les fils vers le shield : http://www.gotronic.fr/art-embase-pb545-4763.htm
                  il existe aussi des embases pour Circuit imprimé mais pas trouvé chez GoTronic : https://www.sparkfun.com/products/9536 (Mais ne vas pas l'acheter chez SParkfun, tu trouveras certainnement une boutique française qui a çà si tu préfère)
      - 2 résistances 220 ohms 1/4 ou 1/2W : http://www.gotronic.fr/art-10-resistances-1-4w-220-8486-2568.htm
      - 1 opto coupleur rapide tel que http://www.gotronic.fr/art-optocoupleur-grand-gain-6n138-2346.htm
Le schéma de MIDI IN est ci dessous

Cela veut dire que tu va connecter l'entrée MIDI à la broche de réception série de ton Arduino (RX) et que les données MIDI seront à recevoir avec "Serial" : Le même "Serial" que tu as peut être utilisé pour communiquer avec le terminal Arduino.
Mais pour le MIDI il faudra faire "Serial.begin(31250);" ce qui fait que le terminal Arduino ne marchera plus car l'interface Série/USB ne peut pas fonctionner à 31250 baud.

Ensuite l'utilisation en soft c'est avec Serial.available() pour savoir si un octet est arrivé, Serial.read() pour lire les octets.
Si tu ne le connais pas, il faudra apprendre le protocole MIDI et analyser octet par octet pour trouver les commandes CC ou program change ou notes, etc ... Le numéro de canal est sur 4 bits dans la commande, donc il faut analyser les octets pour savoir s'ils sont pour toi.

Mais on n'en est pas encore au soft....

Tu as déjà acheté ton Arduino ?
Si tu as une UNO? un seul port série donc tu ne pourra pas faire du debug sur le terminal (Serial.print()) quand tu utiliseras le MIDI.
Sinon la MEGA est surpuissante pour le besoin mais a des ports série supplémentaires ce qui permet de conserver la liaison série/USB avec ton Mac et d'utiliser un autre Serial (Serial1, Serial2 ou Serial3) pour le MIDI.


Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 27, 2013, 12:48 am
Je suis très débrouillard et j'ai déjà soudé pas mal de bidules même si en arduino, c'est nouveau pour moi.
J'ai pris ce qu'il faut pour ajouter un port midi à mon UNO ... mais je vais déjà essayer de faire tout passer par l'USB ... Avec un Midi-Serial virtuel, ça devrait le faire.
Le souci étant que souvent, on a très peu de temps pour installer notre config sur scène et faire les balances et un cable de moins à trimballer et installer, c'est toujours ça ... Déjà qu'on a une tripotée d'instruments + toute la partie électronique et qu'on est une vraie plaie à sonoriser.
Je lis qu'on envoie très bien le midi vers l'Arduino à travers l'USB ... donc dans un premier temps, je vais essayer ça !
J'ai pris un protoshield ... Celui de chez adafruit ...
Donc je vais déjà essayer avec un breadboard et une fois que ça fonctionne, je vais installer tout ça sur le protoshield !
Je n'ai plus qu'à tout recevoir et comprendre les branchements ... notamment l'alim en 5V, 15A sur le proto ... c'est encore obscure avec les notices à télécharger mais ça risque d'être plus clair une fois que je l'aurai sous les yeux !
Je connais assez bien le protocole midi mais il va falloir que je m'y replonge ...
Merci pour toute ton aide !
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 29, 2013, 01:24 pm
Petite mise à jour matos : je me suis également attrapé une petite teensy 3.0.
Parce que je lis qu'elles ont (pour mon projet en tout cas) l'immense avantage de se comporter, sur commande, comme un appareil midi.
Du coup, on oublie le midi bridge, le MidiSerial et tout le bordel ...Si ça marche directement comme ça, c'est formidable. Et il y a des tonnes de tutos sur le midi avec teensy.
Elle pourra recevoir les data direct depuis Ableton Live ce qui me retire une sacrée épine du pied.
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Nov 29, 2013, 08:48 pm
Oui mais la lib Adafruit pour piloter les NeoPixel ne marche pas sur Teensy 3.0.

La lib Adafruit NeoPixel contient de l'assembleur AVR (Atmega) or Teensy 3.0 est équipée d'un processeur ARM.

Il va te falloir trouver une lib adaptée à Teensy 3.0.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Nov 29, 2013, 11:02 pm
J'en ai trouvé.
Je vais essayer les deux, pour expérimenter et finir par comprendre par moi même  :D

C'est ce qui est chouette avec tout ce petit matos, de pouvoir faire des essais.

Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 09, 2013, 07:18 pm
Me revoici, avec tout mon matos entre les mains et prêt à faire des essais avec teensy et arduino.

Mais je veux être sûr de ne pas me planter dans les branchements élémentaires.

D'abord j'ai une alim (voir photo jointe) ... Et la question toute bête que je me pose, c'est à propos du GND ... Je n'ai quasi aucune prise avec terre, est-ce que ça change quelque chose de ne pas l'utiliser ?
En outre, si j'ai bien saisi, j'utilise +V pour le câble 5V des rubans LEDs et COM pour le GND.

On m'a aussi recommandé d'ajouter un capaciteur entre l'alim et les rubans LEDs pour éviter les surtensions ... (photo jointe) mais je ne sais pas vraiment où le mettre ...

Autre question : le GND des rubans ET celui de l'arduino/teensy doivent être tous reliés au -V de l'alim, c'est bien ça ?


Merci pour toute aide !
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Dec 09, 2013, 09:34 pm

D'abord j'ai une alim (voir photo jointe) ... Et la question toute bête que je me pose, c'est à propos du GND ... Je n'ai quasi aucune prise avec terre, est-ce que ça change quelque chose de ne pas l'utiliser ?

On parle de terre effectivement (Earth) pas de GND.
C'est quand même plus prudent sur une alim comme celle-ci d'avoir la terre.

Quote

En outre, si j'ai bien saisi, j'utilise +V pour le câble 5V des rubans LEDs et COM pour le GND.

Oui.
Et bien ne pas confondre la terre de la 1ère question avec le GND de la basse tension.

Quote

On m'a aussi recommandé d'ajouter un capaciteur entre l'alim et les rubans LEDs pour éviter les surtensions ... (photo jointe) mais je ne sais pas vraiment où le mettre ...

En bon français on appelle ceci un condensateur.
Normalement il y en a déjà sur ta carte Teensy.
Ca ne mange pas de pain d'en ajouter un. Il doit être au plus prêt de la carte Teensy.
La broche marqué du signe - (bande noir) c'est le GND et l'autre au +5V

Quote

Autre question : le GND des rubans ET celui de l'arduino/teensy doivent être tous reliés au -V de l'alim, c'est bien ça ?

Le GND des rubans et celui de la Teensy doivent être reliée au GND/COM de l'alim.
La notation -V est réservée pour une alimentation négative. Par exemple une alim pourrait te fournir +5V, -5V et un GND...

ATTENTION : Il y a un réglage de la tension de sortie (+V Adj). Avant de brancher quoique ce soit, assure toi avec un voltemètre d'avoir 5.0V à +/- 0,1V. A revérifier ensuite en charge.

Comme discuté précédemment, si cette alim doit aussi alimenter la Teensy, tu câble en étoile au départ de l'alim :
- Une paire +5V et GND vers les leds
- Une paire +5V et GND vers la teensy.
Comme les GND sont reliés au niveau de l'alim, tu n'a plus besoin que du signal de commande des LEDs entre la Teensy et les LEDS.

Si la teensy est alimentée par USB, alors tu relies:
- Une paire +5V et GND vers les leds
- Une paire signal de commande et GND de la Teensy vers les LEDs

N'hésite pas à faire un petit dessin si pas clair.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 09, 2013, 10:03 pm
Merci. J'avais donc à peu près tout bien compris.
J'ai essayé avec les lib arduino et teensy pour le moment je n'allume pas la moindre LED.
ça a clignoté au début et puis ... plus rien !
Je vais réessayer de tout reprendre à tête reposée demain.

Merci beaucoup pour ton aide précieuse !
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 10, 2013, 05:47 pm
Ça marche ! En fait j'utilisais un ruban de LEDs qui doit être défectueux parce qu'il n'allume ... RIEN DU TOUT !
Mais mes autres rubans répondent bien ...
Etrange ...
Un petit contrôle au voltmètre et j'ai bien du courant dans tout le ruban ...
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 10, 2013, 06:20 pm
Bon, ce doit être ma faute en fait.
Parce que tout fonctionne sur l'arduino ... Et ensuite, en essayant sur Teensy et en étant très prudent sur les branchements, je crois que j'ai grillé les rubans un à un ... Plus aucun ne fonctionne ...
je ne saisis pas.
je ne suis sans doute pas doué pour ça.
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Dec 10, 2013, 09:11 pm
Ca me parait difficile de griller les rubans juste par soft.
A moins de dépasser 6V ou d'inverser la polarité, çà doit résister.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 10, 2013, 09:20 pm
Je n'ai pas dépassé 5V. J'ai ajusté l'alim à 5 et j'ai laissé le multimètre dessus pour guetter les changements ... ça ne varie pas d'un poil ...   :smiley-roll:


Après quelques tests ... Seule la première LED de chaque ruban est foutue ... Je suis un peu rassuré mais je ne saisis vraiment pas quel est le souci avec Teensy.
Title: Re: Contrôler des LEDS ?
Post by: barbudor on Dec 15, 2013, 02:06 pm
Bizarre que la 1ere led soit grillée
Si elle est morte, le signal ne devrait pas la traverser pour atteindre les suivantes...
Comportement identique tant en UNO que Teensy ?
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 15, 2013, 02:13 pm
En effet, le signal ne passe pas. J'ai viré la première LED.
Sur teensy pour le moment je n'arrive à rien du tout. Toutes mes tentatives aboutissent au même résultat : première LED grillée. Je vais poster une photo de mon montage quand j'ai le temps. Je dois avoir omis un détail.
Title: Re: Contrôler des LEDS ?
Post by: AlienArea51 on Dec 15, 2013, 06:36 pm
bonsoir
@Senescence
Bon courage pour ton montage !
@barbudor
Merci pour avoir lancé le petit S.O.S concernant mon post ;)
CDT
William
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 17, 2013, 04:55 pm
Salut salut,

Voici une photo de mon montage sur Teensy qui me fait griller la première LED du ruban ...
J'imagine qu'il doit y avoir une surtension au branchement mais je n'utilise que le +5V de l'alim pour alimenter le ruban donc c'est étrange ...
GND du Teensy est connecté à GND des LEDs et COM de l'alim.
Le ruban est connecté au PIN 2.
Les PIN 15 et 16 sont connectés ensemble.

Voilà ... je ne trouve pas la source de mon erreur ...

Title: Re: Contrôler des LEDS ?
Post by: barbudor on Dec 18, 2013, 09:07 pm
Comme çà, je ne vois pas
Mais tes contacts ne sont peut être pas fiable. Si la masse entre le bandeau et la teensy se déconnecte, tu peut avoir une tension  flottante sur le DI du 1er chip.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 20, 2013, 03:38 pm
Mais je ne vois pas pourquoi ça arriverait systématiquement sur teensy et jamais sur arduino.

Ma seule explication : le teensy board est foireux et un courant passe dans le pin utilisé.

Je vais essayer de trouver un autre teensy pour voir
Title: Re: Contrôler des LEDS ?
Post by: fdufnews on Dec 20, 2013, 04:45 pm
C'est bien une Teensy 3.0?
D'après la doc les entrées/sorties de la Teensy 3.0 ne sont pas tolérantes à 5V.
De là à se demander si ce n'est pas la sortie de le Teensy qui est morte!!
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 20, 2013, 04:52 pm
Oui 3.0.

Je ne vois sincèrement aucune autre explication.

Il y a forcément une surtension à un moment je pense, pour réussir à griller les LEDs ...

Ou alors quelque chose m'échappe totalement. Mais pourquoi j'arriverais à faire ce que je veux avec l'arduino et le teensy finit immanquablement par me griller les LEDs ... ?  :(
Title: Re: Contrôler des LEDS ?
Post by: fdufnews on Dec 20, 2013, 08:55 pm
Tu ferais bien de tester la sortie du Teensy avec un LED classique et une résistance. Si ça se trouve c'est la sortie du Teensy qui est morte.
Title: Re: Contrôler des LEDS ?
Post by: Senescence on Dec 20, 2013, 08:57 pm
Je pense que c'est ça ! Je vais tenter ça merci !
Title: Re: Contrôler des LEDS ?
Post by: vinc40530 on Apr 05, 2016, 08:05 pm
Salut a tu trouver le soucis ? Car j ai exactement le meme probleme sauf que moi c est l arduino qui me le fait j ai une alim 5v 12A 60w qui m allimente 50 ws2811 et la led 1 reste allumer et fait n importe quoi et ca ma griller deux led les led 1 sur 2 ruban diferent .