Besoin d'aide pour contrôleur MIDI à base d'Arduino.

Bonjour à toutes et à tous !!

ça y est je me lance (il faudra bien un jour) je pose ma (ou plutôt mes) questions !

J'ai réaliser (en copiant un code sur le net) un contrôleur MIDI avec 5 potentiomètres à glissière et 3 boutons histoire de voir si j'étais capable de faire fonctionner Arduino avec mon logiciel de MAO (Reason de PropellerHead) et miracle j'ai réussi !! :smiley:

Seulement, il m'en faut toujours plus et là, c'est le drame !

J'aimerais rajouter des entrées analogique pour pouvoir y brancher 8 potentiomètre à glissière, 8 potentiomètre rotatif et 8 ou 12 boutons poussoir.

J'aimerais dans un premier temps de l'aide sur l'utilisation d'un multiplexeur de type HEF4051 (c'est tout ce que j'ai trouvé dans mes vieux appareil de récup), savoir comment il fonctionne, comment intégrer (et quoi intégrer) dans le code pour l'utiliser.

J'ai réaliser un petit schéma sur Fritzing, est-ce que quelqu'un pourrait me dire si je suis sur la bonne voie ou si j'ai fait des erreurs ...

En espérant avoir été assez clair, merci d'avoir eu le courage de me lire jusqu'au bout !!

oui c'est un moyen de "rajouter" des pins - cf Arduino Playground - 4051

Oui tu est sur la bonne voie !
En revanche ce n'est pas forcément une bonne idée d'utiliser les 4051 pour multiplexer les entrées digitales.
Tu risque de manquer des appuis, d'autant qu'il te reste suffisamment d'entrées pour ne pas avoir à les multiplexer. On utilise plutôt des registres à décalages (74HC595) pour ce genre d'applications
Pour rappel tes entrées analogiques peuvent aussi êtres utilisées comme entrées/sorties digitales.

Merci Bouault ! J'avais justement trouvé une paire de 74HC595 dans une vieille platine CD mais en regardant sur Google je ne voyais jamais de schéma avec un HC595 et des potentiomètre donc je pensé qu'il ne pouvais traiter que le signal numérique (d'où le choix des 4051 qui eux ont été récupérer dans une table de mixage).

Au niveau des entrées numérique des multiplexeurs, j'ai vue que je n'avais pas brancher correctement au sorties numérique de l'Arduino. Il faut normalement les brancher en parallèle ? (Les entrées numérique (S0) des multiplexeurs sur une sortie numériques de l'Arduino (3 par exemple), les entrées (S1) des multiplexeurs sur une autre sortie de l'Arduino, et ainsi de suite tout en parallèle)

Il ne me reste plus qu'à refaire mon schéma avec des HC595 à la place des 4051 et à apprendre à modifier un code pour intégrer les multiplexeurs ! :slight_smile:

Encore merci ! Et bon lundi !!

Bonjour,

Il manque des résistances de pullup sur tes boutons.

Hé non, tu n'as pas bien lu le message de "bouhault".

Il parle des entrées digitales (boutons poussoirs ou inters), pas analogiques (potentiomètres).

Bonjour Kamill et Bilbo !

Kamill : Je dois mettre une résistance entre le +5v et chaque boutons ?

Bilbo : Désolé c'est le matin, erreur de ma part ... Donc pour les potentiomètres je garde les 4051 et pour les boutons je dois mettre des HC595 si j'ai bien compris ?

Désolé je suis vraiment novice en Arduino !! :smiley:

Oui, une résistance d'environ 10k entre le point chaud du bouton (celui relié au multiplexeur) et le +5.
Je ne suis pas du tout convaincu que l'utilisation de HC595 soit une bonne solution.

Merci Kamill pour ta lumière ! Je dormirais moins bête ce soir ... :slight_smile:

Et pour les multiplexeurs, je garde donc mes 4051 pour les potentiomètres et je mets des HC595 pour les boutons ?

J'ai entendu parlé du HC4067 aussi, serait-il plus adapté à mon projet ?

Moi je garderai des 4051 pour tout
En utilisant des HC4067, tu pourrais réduire le nombre de circuit, mais le principe reste le même, c'est à toi de voir.
Est ce que tes poussoirs sont à enclenchement ou a appui temporaire? Dans ce dernier cas il faudrait prévoir des leds pour afficher l'état.

C'est ce que je me suis dit car j'ai que des 4051 sous la main j'ai réussi à en récupérer 4 que j'ai souder sur des circuit plus gros car ils sont touuuuuuuut petit les 4051 que j'ai trouvé. Mes boutons seront à appui temporaire.

Pour les leds par contre je peux utiliser un HC595 ? Est-ce vraiment obligatoire ces leds ?

Oui, le HC595 est une bonne solution pour les leds. Il faut faire attention au courant disponible en sortie.

Ce n'est pas moi qui peut dire si les leds sont obligatoires. C'est une question d'ergonomie. Est ce que tu as besoin de connaitre l'état ?

Pas vraiment, ça serait juste un petit truc en plus mais je peux m'en passer.

Pour le courant disponible je pensais rajouter un régulateur de tension 7805 pour alimenter tout les potentiomètre qui serait brancher sur le Vin de l'Arduino, je devrait récupérer le +9v de l'alim pour alimenter le 7805 logiquement ?

Pour alimenter tes potentiomètres tu n'as pas forcément besoin d'une alim supplémentaire.
Ca dépend de la résistance de tes potentiomètres. Si ce sont des potentiomètre de 10K, ça te fait une charge totale de 10K/16=625Ω soit 8mA
Maintenant si ce sont des potentiomètres de 100Ω, c'est une autre histoire...

Il faut ajouter l'alim des 4051 qui est de 50mA max par boitier, ce qui fait 208mA (grand max). ce qui est supportable pour l'alim de l'arduino.

Non ça sera uniquement des 10KOhms pour les potentiomètre à glissière et rotatif, pour les résistance de "pull up" également.

Voici le schéma :

Je devrais être pas trop mal je pense ?

Ca me parait bien.
Il serait quand même bon d'ajouter quelques condensateurs de découplage.

Aux arrivé d'alim de chaque 4051 ?

oui, un 100nF par boitier ou pour 2 boitiers. tu peux aussi ajouter un 47µF avec un 100nF en parallèle pour l'ensemble.

Comme ceci ?