Projet midi.

Bonjour les savants,
Dans le cadre de l'apprentissage de la zikmu aux "petits";
J'ai un clavier qui sort du midi.
Il y a au total 84 touches, en face desquelles je compte mettre 60 leds bicolores.
Le but: Récupérer le on/off des 24 premières touches; et avec le on/off de chacune de ces touches, allumer 5 groupes de 7 leds.
Actuellement ça fonctionne avec un gros bricolage (filasso-mécanique)
http://hpics.li/452e5e0
Le nouveau clavier ne permets plus les palpeurs; qui de toutes façons ne prenaient pas les noires.
Les questions:

  • De quel genre de matos je vais avoir besoin ?
    Sachant que 5 * 7 * 20 mA = 700 mA (ce qui n'est pas rien), et qu'il va falloir 24 entrées ????
    Un topo généraliste serait le bien venu.
    Genre: UNO (ou autre ?)->shield (de la mort)-> transistors (de la bonne ethnie)
    Question subsidiaire: Où trouver de la bonne doc sur le (les ) shield midi ?
    Merci d'avance.

Un shield et la doc qui va avec: SparkFun MIDI Shield - DEV-12898 - SparkFun Electronics
Concernant le MIDI je ne rien sous la main actuellement mais je regarde chez moi ce soir. En même temps c'est pas vraiment compliqué et il y a des librairies qui existent. Après c'est simple de récupérer le code de la touche et son état.
Concernant le matos je pense qu'une poignée de registres à décalages devraient permettre la gestion des LEDs. Pour éviter d'arriver au 700mA, personnellement je multiplexerais l'affichage comme ça il n'y aurait qu'une LED allumée à la fois (enfin je dis une cela dépend du mode de multiplexage, tu pourrais grouper les LED par paquets et les multiplexer par 8 aussi bien).

Carolyne:
Bonjour les savants,
Dans le cadre de l'apprentissage de la zikmu aux "petits";
J'ai un clavier qui sort du midi.
Il y a au total 84 touches, en face desquelles je compte mettre 60 leds bicolores.
Le but: Récupérer le on/off des 24 premières touches; et avec le on/off de chacune de ces touches, allumer 5 groupes de 7 leds.
Actuellement ça fonctionne avec un gros bricolage (filasso-mécanique)
http://hpics.li/452e5e0
Le nouveau clavier ne permets plus les palpeurs; qui de toutes façons ne prenaient pas les noires.
Les questions:

  • De quel genre de matos je vais avoir besoin ?
    Sachant que 5 * 7 * 20 mA = 700 mA (ce qui n'est pas rien), et qu'il va falloir 24 entrées ????
    Un topo généraliste serait le bien venu.
    Genre: UNO (ou autre ?)->shield (de la mort)-> transistors (de la bonne ethnie)
    Question subsidiaire: Où trouver de la bonne doc sur le (les ) shield midi ?
    Merci d'avance.

pour injecter du midi vers arduino, pas besoin de grand chose (les gens serieux comme moi vont mettre un optocoupleur)
ensuite detecter du note on/off avec la/les lib midi, ce n'est pas les exemples qui manquent
et pour finir sur les commandes de leds bicolores :
tu a déjà du stock ? en 2 ou 3 pattes ?

Tiens un cadeau:

Cette nana fait des trucs qui devraient te plaire. Même si elle n'est pas adepte comme toi des montages "en l'air".

OUCH ! du MIDI sans optocoupleur ? C'est contraire à la norme...

fdufnews; Artouste, merci pour les liens. (je n'y suis pas encore allée)
24 entrées !!! Mais je vais pas bien moi !:blush: :grin:
Les leds, je ne les ai pas encore. En fait, je n'ai rien :smiley: Vu que la UNO que j'ai elle est prise; et que la "due", elle est: "not sync" (morte)
Il faut que j'étudie bien le pb, because: Je voudrais ne faire qu'une seule commande à BE.electron...
@XavierMiller: Je mettrai de l'opto, j'en ai en pagaille.
Mais une UNO va t-elle être suffisante, sachant que je voudrais aussi y ajouter un truc comme ça:
http://hpics.li/7720804
C'est une sorte de "marche forcée" pour allumer les 5 groupes de 7. Et ça sort pas du midi, mais sur 12 fils.
Je vois d'ici le code de ouf qu'il va falloir pondre ]:smiley: Va y avoir aussi du TTL à prévoir.

Utilise des registres à décalage (74HC165, 74HC595) en cascade, pour faire de la communication série / parallèle.

Tes: 74HC165, et 74HC595, ne sont pas dans l'annuaire.
En registres, il y a 7491 (entrée et sortie série) Bon ou pas bon ?
Et 598; 599; et de 821 à 826. Les 10 bits marchent-ils aussi en 8 bits ?
Le seul exemple que j'ai trouvé (dans le dossier d'install) , envoie du midi, mais n'en récupère pas.
Please... :stuck_out_tongue: Faites péter du lien. :stuck_out_tongue:
Aparté: je me demande quel intérêt il y a, à inverser la sortie (c'est pour pouvoir la remettre à l'endroit avec des inverseurs ? :roll_eyes:)

Tu te moques de moi ? Ces registres à décalage existent et servent à convertir des signaux série en parallèle et vice-versa (8 bits par puce).

Ils sont utilisés intensivement dans les projets MIDIbox par exemple :wink:

Mes annuaires ne seraient pas à jour ? Ces histoires de multiplexages me parraissent relativement complexes.
J'étudie donc aussi la possibilité de piloter le basar avec un mini pc (et en basic Loool ! ) sortie sur le port série. (ce qui va quand même impliquer de remettre la série en //. grrr...)

Dans les liens que je te donne, tu as même un exemple tout fait pour midifier un clavier. Que veux-tu de plus ?

un exemple tout fait pour midifier un clavier

Mais il est déjà "midi" le clavier; ce qu'il me faut c'est de quoi récupérer les infos.

Ah, je n'avais pas compris cela, vu que tu parlais de "palpeurs" sur le clavier.

Pour récupérer les infos, le MIDI, c'est du serial à 31250 bauds, c'est encore facile à récupérer.

Tiens des liens que je t'avais promis sur le MIDI
Le site de référence http://www.midi.org/index.php et la page sur le protocole Specs
et d'autres
Somascape : MIDI Ways - Guide to the MIDI 1.0 technical specification
Introduction to MIDI (Musical Instrument Digital Interface)

Les messages MIDI ont tous le bit 7 à 1, les données sont en 7 bits (bit 7 à 0).

Si l'on suppose que le canal MIDI est 1 (donc 0), les messages à regarder sont 0x90 puis un byte pour la note, puis un byte pour la vélocité (note on), et 0x80 puis un byte pour la note, puis un byte pour la vélocité (note off).

Un message "Note On" avec vélocité 0 signifie "Note Off".

Carolyne:

un exemple tout fait pour midifier un clavier

Mais il est déjà "midi" le clavier; ce qu'il me faut c'est de quoi récupérer les infos.

la lbrairie midi comporte des exemples facilement adaptables pour jouer avec de la reception midi par arduino (midi_inputs , midi_callbacks) )
http://sourceforge.net/projects/arduinomidilib/files/Releases/Arduino_MIDI_Library_v3.2.zip/download
apres pour les leds , soit du basique registre à decalage genre 595 , soit plus evolué de la led adressable (WS2801par exemple)

Carolyne:
Ces histoires de multiplexages me parraissent relativement complexes.

Là des exemples pighixxx.com
Les fichiers peuvent être téléchargés. Sur la gauche de la page de loin en loin il y a un lien pas très visible de la forme Set 1 (Card 1,2,3). Les vues sont groupées par 3 en général. Très bien fait et très clair.
L'auteur en a fait un livre pour ceux qui seraient intéressés http://smartmaker.com/index.php/abc-arduino-basics-connections-book.html

Aaaah...! Miam miam les liens...Vous allez avoir la paix un moment. le temps que j'épluche tout ça.
Merciiii.
Edit: Super ! J'ai tout pris en pdf.
Donc, si j'ai compris, les shield midi, ne décodent pas. Ils donnent les infos sous forme binaire ou hexa.

Tu n'as pas besoin nécessairement d'un shield MIDI, une entrée et sortie série suffisentt amplement.