Go Down

Topic: Contrôler des LEDS ? (Read 18968 times) previous topic - next topic

Senescence

#15
Nov 25, 2013, 10:11 am Last Edit: Nov 25, 2013, 10:32 am by Senescence Reason: 1
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 ...

barbudor

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).

Senescence

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 ...


barbudor

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

Senescence

#19
Nov 25, 2013, 11:13 pm Last Edit: Nov 25, 2013, 11:17 pm by Senescence Reason: 1
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 ...

barbudor

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.



Senescence

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 !

Senescence

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.

barbudor

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.

Senescence

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.


Senescence

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 !

barbudor


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.

Senescence

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 !

Senescence

#28
Dec 10, 2013, 05:47 pm Last Edit: Dec 10, 2013, 05:55 pm by Senescence Reason: 1
Ç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 ...

Senescence

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.

Go Up