Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2010-05-26 20:55:51 Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Midi + Pure Data + Arduino Mega + Leds



Bonjour;

Je cherche un patch qui permette de contrôler des leds par des signaux midi en utilisant pure data et une arduino méga.

Je m'explique : il faudrait tout simplement que lorsqu'une note est déclenché en midi, une leds qui lui est associée s'allume. Et ce pour 48 notes (donc 48 leds)

J'ai déjà la puce Arduino, mais honnêtement je ne suis pas très doué avec Pure Data... je ne sais pas par où prendre la bête.

Si quelqu'un pouvait proposer un patch qui ferait ce travail, ce serait super !

Pour la partie matérielle, j'imagine qu'il faudra des Mosfet pour ouvrir ou fermer une alimentation extérieure pour les leds... il y aurait un ami de l'électronique pour me conseiller sur les composants à acheter et le circuit à construire ?

Merci !!! smile

Hors ligne

 

#2 2010-05-26 21:54:33 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut,

Peux-tu préciser le canal MIDI de la harpe (si je me souviens bien) et les valeurs midi des notes des deux extrêmes dans la tessiture.

Tu peux faire simple en utilisant Firmata, quitte ensuite à développer un code plus léger. Mais tu verras ma dernière suggestion... wink


Il faut initialiser l'arduino pour commencer. Le numéro du port COM sera nécessaire.
Un message [open 4( à l'objet [arduino] pour le port COM4 par exemple.

Là, il faut quelques secondes, donc un [delay 5000] en cascade avec le bang qui déclenche le message précédent. Ensuite il faut mettre les pin digitaux en mode 'OUTPUT', tu peux le faire part port (groupes de 8 pins) à la fois. [port 1 255( relié à l'objet [arduino] par exemple pour les huit premiers (le 1 dans le message, le second chiffre c'est en décimal le nombre binaire 11111111 : 1 pour une sortie / 0 pour une entrée).

Ensuite ton entrée midi se fait avec l'objet [notein] avec en argument le canal MIDI en question.
Derrière il faut sans doute faire un truc moins brutal que de coder 48 fois le même machin ou une abstraction qui détecte un note on et allume la LED et au moment d'un note off l'éteint. Ca aussi relié à l'objet [arduino].
On peut imaginer envoyer à un message [digital $1 $2( le canal de l'arduino après transposition du numéro de note vers la sortie et un second argument qui donne 1 si la valeur dynamique de la note est >0 (midi on) et 0 quand la dynamique revient à 0 (midi off). Il faudra un objet [expr ...] et derrière un [pack i i].

Tu peux peut-être essayer de le coder, tu as les grandes lignes. C'est en faisant qu'on apprends et là comme tu as une motivation tu dois pouvoir le faire sans trop de difficultés. Ca c'était la première suggestion.


Côté électronique, quelle est la consomation des LED et combien penses tu en allumer simultanément ?
Un petit machin, genre 2N2222, sera peut-être suffisant pour allumer une ou deux LED à la fois par corde.
Fais attention à ne pas utiliser les sorties RX et TX qui sont connectées à l'USB, elles serviront pour la commande.

Pour finir, une idée comme ça... Peut-être que Puredata n'est pas nécessaire et que tout ceci peut-être incorporé à un code dans l'arduino lui-même... Si tu dois de toute façon relier la harpe à un ordi, tu peux garder de la puissance pour des choses moins triviales que d’allumer des LEDs, non ? Ca c'est la seconde suggestion une fois que la version pilotée par Puredata est fonctionnelle...

Bon courage et je filerai la main si nécessaire...


Dernièrement j'ai fait un truc du genre, pas complètement réussi dans le mode électronique pure, mais pas loin du résultat. Pas de midi dans mon dispositif, mais des flux audio à redresser. Les lecteurs étaient un peu trop cheap et difficiles à contrôler précisément. Sinon ça marchait.
Finalement j'ai mi un ordi avec puredata pour gérer la lecture audio et les éclairages.
Côté lumière 24m de rubans de LEDs en tout. 3 cadres avec 8 fois 1m dans chacun. Un MOSFET dans chaque boîte à lumière et une commande en PWM pour pouvoir varier l'intensité lumineuse.
L'expo est dans le Tarn : St Juéry (à côté d'Albi) jusqu'à la mi juin, et ensuite dans deux autres musées du Tarn.

Dernière modification par pob (2010-05-26 23:31:32)

Hors ligne

 

#3 2010-05-26 22:38:55 Re : Midi + Pure Data + Arduino Mega + Leds

Flokon
membre
Date d'inscription: 2010-02-28
Messages: 11

Re: Midi + Pure Data + Arduino Mega + Leds



je pense également que puredata n' est pas nécessaire pour ton projet  . Comme tu devras de toute façon faire communiquer la carte ardino avec qqch , pourquoi mettre un ordi entre la carte et ton clavier ? Avec un port UART , c' est un jeu d' enfant de faire du MIDI et tu économiseras un langage de prog  . smile

Hors ligne

 

#4 2010-05-26 23:33:44 Re : Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Re: Midi + Pure Data + Arduino Mega + Leds



Merci pour ces réponses.

En effet, les leds sont une idée secondaire dans le projet, je travaille actuellement essentiellement à la création de la matière pour le vjaying (lui aussi en interaction via le midi, avec un petit logiciel gratuit en développement qui utilise des patch Quartz Composer : CoGe, bien efficace et suffisant pour mes besoin, et surtout évolutif...) de ce côté là tout fonctionne très bien et progresse vite. Mais l'idée des leds dont nous avions parlé au départ me semblerai un bon complément, si je trouve le temps de le faire, et comme je ne suis pas programmeur, sans l'aide de personnes vraiment plus calés que moi c'est peine perdu.

Comme maintenant j'ai la carte arduino... c'est vraiment tentant !

La harpe utilise le canal 1 par défaut, ensuite pour les valeurs des deux extrêmes je ne les ai pas sous la main pour le moment, mais j'imagine que dans tous les cas il suffi de mettre un offset pour retomber sur ses pattes.

Pour ce qui est du déclenchement lui-même, c'est vrai que ce serait plus joli avec un contrôle midi note on/off, mais si c'est compliqué, une durée donnée au déclenchement suffira (demi seconde par exemple...) J'aimerai disposer la chaine de led en demi-cercle au sol autour du harpiste, l'ordre des leds suivant celui des cordes.

Je veux bien passer en dehors de pure data, mais alors c'est encore plus abstrait pour moi ^^ ça m'arrangerai d'autant plus que j'ai déjà le logiciel d'image qui tournera sur la machine... mais alors c'est quoi la procédure ? Il faut écrire dans l'arduino les instructions à suivre ? yikes

Je pense mettre des leds blanches avec un angle moyen, dans ce genre :
http://fr.farnell.com/cree/lc513fwh1-60 … dp/1648991

Sur un accord on peut dire qu'il y aura maximum 10 ou 12 leds simultanées je pense. Mais en général, vu que c'est un jeu assez orienté electro, c'est pas mal de note par note.

Je ferais bien un tour dans Tarn voir ton expo ! J'adore la région en plus... mais mon boulot risque de monopoliser le peu de temps qu'il me reste à côté de ce projet (sans parler de mes deux bout de choux qui sont prioritaires sur tout ça ^^) Si tu as des images à montrer, je suis curieux !

Hors ligne

 

#5 2010-05-27 00:11:49 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Oui, c'est bien l'idée, programmer en direct dans Arduino. C'est pas très compliqué, le nombre de fonctions dans le langage est assez limité sans les bibliothèques additionnelles et la fonction à réaliser est assez simple.
Il faut intégrer la librairie midi dans le code.
http://www.arduino.cc/playground/Main/MIDILibrary

C'est pas plus compliqué de faire le note on/note off.

Désolé si je te parle chinois... wink
Je ne te promets pas de te le faire super rapidement, mais si je trouve un moment et un bout de cerveau disponible je me pencherai dessus. Et si quelqu'un d'autre ne te l'a pas fait d'ici là...


L'angle des LEDs me paraît encore un peu étroit. J'en ai du même genre et c'est quand même pas super large...
Il faut penser à prendre les résistances en fonction de la tension d'alimentation de ces petites choses. 5V ou 12V selon l'alimentation que tu utiliseras.
R = (Valim - Vf)/If
Avec des LEDs un peu puissantes c'est risqué pour ne pas utiliser de transistor... Il me semble tout du moins...


Pour l'expo, je viens de mettre quelques trucs sur mon compte Flickr.
http://www.flickr.com/photos/pob31/sets … 019151117/

Hors ligne

 

#6 2010-05-27 03:06:25 Re : Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Re: Midi + Pure Data + Arduino Mega + Leds



Joli boulot ! Bravo ! C'est vraiment l'avenir de la scénographie...

Pour les leds je vais voir, j'ai regardé vite fait tout à l'heure, et j'ai l'impression que ce n'est pas évident de trouver des leds à grand angle et puissantes à la fois (en luminosité). J'utiliserai bien des petite boites translucides blanches pour faire diffuseur, mais trouver 48 boites comme ça sans me ruiner... faut voir.

Donc si je résume il faut une alim autonome pour le circuit led, une alim pour l'arduino (9v), 48 leds, 48 mosfet, et 48 résistances ? Et pour ce qui est des câbles, du tout petit diamètre devrait suffire non ? ça ne posera pas un problème de résistance justement (celle qui seront aux extrémités seront bien à 2m de l'alim...)

J'ai chargée la librairie, et... héhé, oui c'est un peu difficile pour moi, et encore, par chance je maitrise suffisamment l'anglais pour lire les docs ^^ Mais je doute un peu de m'en sortir seul...

Enfin, je disais pareil pour Quartz et finalement je commence à m'en sortir (mais ça reste dans mon domaine de prédilection, l'image... beaucoup plus accessible pour moi que programmation+électronique) Je vais voir.

Merci pour l'aide !

Hors ligne

 

#7 2010-05-27 08:15:54 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Tu dois pouvoir utiliser la même alim pour les LEDs et l'arduino qui a une plage de tension assez large que pour les LEDs. Du 12V pour tout le monde devrait faire l'affaire.
Autrement il y a sans doute une résistance à mettre entre l'arduino et le transistor pour limiter le courant que l'arduino doit fournir.

Pour apprendre le code arduino en commençant à zéro, ça c'est pas mal :
http://www.ladyada.net/learn/arduino/
Mais il y a peut-être l'équivalent en français.


Pour l'angle des LEDs, il faudrait peut-être mettre un coup d'acétone sur le plastique transparent pour le rendre translucide et mieux répartir la lumière... Une idée à tester.

Pour le fil tu peux mettre un truc super fin, même 2m ça ira largement. Un truc toute fois, si tu veux éviter d'avoir un gros touillon de câble, tu peux déjà utiliser une masse commune. plutôt que de tirer 2 fils pour chaque LED. Mais tu as sans doute pensé à coller tout ce bazar sur un support, non ? Ca va faire des paquets de noeuds. Et en plus les fils ne seront pas fixes sur le bornier de l'arduino. Numérote tout ce petit monde !

Hors ligne

 

#8 2010-06-02 15:50:44 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut,

Un début de code...

Il faut la librairie Midi dont je t'ai donné le lien dans le dossier 'library' de ton dossier arduino et que tu câbles un connecteur DIN pour entrer dans l'arduino directement en midi.
http://www.arduino.cc/cgi-bin/yabb2/YaB … 1187962258 (schéma pour l'entrée MIDI sur l'Arduino)
http://www.arduino.cc/playground/Main/I … dware#MIDI (plein de choses)
http://www.arduino.cc/playground/Main/MIDILibrary (à installer)


Je n'ai pas de périphérique MIDI, comme un simple clavier maître, pour le tester. Mais si toi ou d'autres veulent bien y jeter un œil...

Dernière modification par pob (2010-06-02 15:59:05)

Hors ligne

 

#9 2010-06-03 00:12:04 Re : Midi + Pure Data + Arduino Mega + Leds

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut Pob,

tu saurais dire où se fournir en rubans de LEDS?


La route est longue mais la voie est libre

Hors ligne

 

#10 2010-06-03 01:20:14 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut,

J'ai un ami qui me les envoie depuis Shanghai où il vit.
Autrement on peut aussi passer par eBay et tout compte fait, ce n'est pas toujours beaucoup plus cher que de passer par cet ami.

Chercher "LED strip" avec la couleur (de préférence en anglais), le type de LED voir leur densité (150 ou 300)
Il y a différents types :
basse luminosité - type 3528
haute luminosité - type 5050
Ensuite la densité change 30 ou 60 LED au mètre (codé "150" ou "300" LED pour 5m)
Et puis les couleurs voire le RVB pour les 5050.
Et il y a d'autres trucs comme une enveloppe silicone, un enrobage silicone et un adhésif 3M super costaud au dos.
En général l'alimentation est en 12V, je n'ai rien vu d'autre d'ailleurs.

Oli tu en as besoin de beaucoup ?

Dernière modification par pob (2010-06-03 01:43:02)

Hors ligne

 

#11 2010-06-03 03:23:45 Re : Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Re: Midi + Pure Data + Arduino Mega + Leds



Yeah ! Génial ! Merci beaucoup !

Et j'ai plein de nouvelles questions passionnantes (c'est vaguement ironique)

J'ai ajouté la library et uploadé le code dans la carte, pour ça tout est ok...

Pour le moment je n'ai pas de fiche DIN sous la main, je vais en commander une. Je ne suis pas sûr d'avoir bien compris comment relier l'entrée Midi du shéma à l'Arduino. Je pense avoir compris qu'il y avait le +5 et le ground, mais à quoi doit être relié la fiche qui va vers Arduino (avec un cœur ^^) les entrées RX (0), TX (1) ? (et oui, je suis encore perdu!)

Et puis concernant le circuit des leds lui-même, si je comprends bien il faudra trois fils par led ? Un pour le +5 qui rentrera en C dans le transistor et sur lequel se trouvera la led, un pour le GND qui sortira du E du transistor, et un pour la commande qui entrera en B du transistor ? Avec une résistance avant la led et une autre avant l'entre B du transistor. Le mieux est donc de garder tous les transistors groupés près de la carte, et d'envoyer juste les 2 fils d'alim vers la led (C et E). Dis-moi que j'ai suivi, please ^^ Un petit schéma serait super... comme au collège !

Donc ça veut dire que j'aurais tout un tas de fils qui seront raccordés au +5 et GND de l'arduino, et ensuite une myriade d'autre qui partiront de chaque sortie de l'arduino pour les commandes...

Si j'ai à peu près saisi jusque là, je résume mes questions, qui concernent surtout les connexions : sur quelles entrées de l'arduino dois-je raccorder l'entrée midi (du schéma que tu as donné en lien). Et ensuite, quelles sorties de l'arduino dois-je utiliser pour envoyer les 48 signaux on/off vers le entrées B de chaque transistor (il me semble me rappeler que ce sont les PWM 2 à 13, plus les digital 22 à 53, mais j'ai un doute)

Si j'arrive à faire quelque chose qui marche, et je l'espère, tu sera bien sûr crédité au générique du spectacle ! Comme... ingénieur programmeur Arduiniste ^^

Hors ligne

 

#12 2010-06-03 11:25:15 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut,

Tu as presque répondu à toutes tes questions tout seul !

Pour l'entrée RX, C'est marqué sur la sérigraphie. wink Il faut prendre la 0, à côté des PWM.

Ensuite pour les sorties de commande, j'ai utilisé dans ce que je t'ai envoyé les pins de 6 à 13 (chez les PWM), de 14 à 21 (bloc communication) et de 22 à 53 (bloc digital) En gros presque tout le monde. Normalement il est possible de convertir les 'Analog In' en digital, mais là à moins d'avoir besoin de récupérer des entrées ou sorties numériques ou de rajouter des cordes à la harpe, c'est pas nécessaire...

Pour les transistors tu prendras plutôt la masse et le +12V de l'alim qui sert aussi l'arduino. Ca évitera de tirer sur le module de régulation de l'alimentation de ce petit arduino...

Pour l'entrée Midi, l'optocoupleur est lui relié au +5V de l'arduino.

Ci-joint un croquis.
Ce que je n'ai pas représenté c'est la connexion entre l'alimentation et l'arduino. Fais d'abord un test de la connexion Midi, par exemple la sortie 13 (à voir à quelle corde elle correspondra quand tu auras réglé l'offset en modifiant le programme) a une LED connectée sur le circuit imprimé. Ca permet de contrôler.
Ensuite fait un canal de LED avec le transistor et vérifie à nouveau. Et ensuite tu pourras te lancer dans les 47 autres... bon courage ! wink

http://codelab.fr/up/MidiHarpArduinoLed.gif

Hors ligne

 

#13 2010-06-03 14:29:36 Re : Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Re: Midi + Pure Data + Arduino Mega + Leds



C'est parfait, bon ben j'ai tout saisi cette fois, ça devrait être bon, je passe commande des composants manquants et je teste tout ça (au clavier midi pour commencer, on ne pourra pas re-travailler avec la harpe avant mi-juin)

Et puis après je me mets à la soudure en série... Ok pour les led branchées directement sur l'alim, c'est plus simple en plus... Merci beaucoup pour les schémas !

PS : joli ton lien vers les sténopés, amateur de photos au vieux 6x6 je ne peux qu'apprécier le rendu si particulier de ces clichés... les enfants d'aujourd'hui feront peut-être la même chose dans 20 ans avec des vieux capteurs cmos dans des boites ^^

Hors ligne

 

#14 2010-06-09 05:16:44 Re : Midi + Pure Data + Arduino Mega + Leds

Lhenndyn
membre
Date d'inscription: 2010-01-22
Messages: 20

Re: Midi + Pure Data + Arduino Mega + Leds



Snif, j'y arrive pas...

J'ai monté les deux circuits, tout semble ok, mais il ne se passe rien quand j'essaie de contrôler les leds via le midi (un clavier maitre). Le montage côté leds semble être ok, je l'ai testé avec un simple blink et ça fonctionne bien, le transistor fait son boulot. Pour ce qui est de l'entrée midi par contre, je ne sais pas comment la tester, pour être sûr qu'elle marche (j'ai vérifié le circuit plusieurs fois, et tout semble bon, j'avais un doute au sujet du sens de branchement sur la fiche DIN, mais j'ai trouvé la réponse en parcourant d'autre forum... donc je ne vois pas ce qui n'irait pas...)

Reste le code, peut-être qu'il y a un truc qui ne va pas... je n'ai pas trop compris le rôle de l'offset : il permet de décaler la plage de note, pour la caler sur celle de la harpe, c'est bien ça ? J'ai tenté plusieurs valeur (10, 20, 30), pour essayer de l'aligner sur mon clavier, sans succès... donc je ne pense pas que le problème sois dû à un "hors plage"...
Je n'ai pas non plus saisi exactement à quoi sert le delay...

Bref, je vais essayer de lire un peu plus en détail les doc de la banque midi, mais là, après quelques heures de recherche en vain, je dois dire que je suis un peu fatigué ^^

Si tu as une idée de la source probable du problème...

Merci merci

Hors ligne

 

#15 2010-06-09 11:58:32 Re : Midi + Pure Data + Arduino Mega + Leds

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: Midi + Pure Data + Arduino Mega + Leds



Salut,

Je vais te préparer un truc pour tester l'entrée MIDI.


Je viens de voir que sur mon schéma, la résistance qui va au +5V de l'Arduino n'et pas spécifiée, c'est 3,3kOhm, celle qui est en dessous de 100kOhm.

J'ai trouvé un autre optocouleur dans mes affaires, pas trop différent je crois. Je vais faire le montage et tester avec un contrôleur MIDI que j'ai. C ne sera pas des notes midi, mais je vais faire clignoter un truc ! Tant qu'on peut faire clignoter des trucs, on fait de l'électronique. Je vais voir si les diodes que j'ai ici peuvent faire également l'affaire et les résistances aussi.


Je te tiens au courant de ce que je trouve...

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024