orgue digitale / multiplexage de boutons

Bonjour à toutes et tous,

mon projet consiste à pouvoir lire 128 boutons avec un arduino

l'idée est d'utiliser un cd4051 qui mettrait la broche 'enable' d'un cd4067 à low et ainsi je pourrai lire les 16 boutons du 4067.

En mettant 8 x 4067, je pourrai ainsi lire mes 128 boutons

Est-ce que cela pourrait fonctionner ? Est-ce la bonne méthode ou y-a t-il plus simple ou encore est-ce complètement utopique

le but est de piloter 128 sonorités en envoyant des codes midi au PC, sur lequel tourne un programme d'émulation d'orgue liturgique

Merci à celles et ceux qui prendront le temps de me lire et de me répondre

Mutzik:
Bonjour à toutes et tous,

mon projet consiste à pouvoir lire 128 boutons avec un arduino

l'idée est d'utiliser un cd4051 qui mettrait la broche 'enable' d'un cd4067 à low et ainsi je pourrai lire les 16 boutons du 4067.

En mettant 8 x 4067, je pourrai ainsi lire mes 128 boutons

Est-ce que cela pourrait fonctionner ? Est-ce la bonne méthode ou y-a t-il plus simple ou encore est-ce complètement utopique

le but est de piloter 128 sonorités en envoyant des codes midi au PC, sur lequel tourne un programme d'émulation d'orgue liturgique

Merci à celles et ceux qui prendront le temps de me lire et de me répondre

Bonsoir
Il y a eu aujourd’hui sur ce forum une discussion relevant peu ou prou de ton problème (expandeurs I/O)

Regarde ce sujet dedié
aux expandeurs sur le blog de Hbachetti

Bonjour,
le + simple selon moi :
Shifting In & the CD4021B

8 x 4067

Donc 32 GPIOS. Une MEGA ?

Et câbler les boutons en matrice ?

Avec 8 lignes et 16 colonnes ?

Il faut écrire sur les colonnes et lire les lignes, ou l'inverse.

Avec un expander 16 bits (MCP23017) et un expander 8 bits (MCP23008), c'est tout.
Les 2 sont I2C.

Mais c'est faisable aussi avec deux 4067.

Le principe :

de la colonne 1 à 8 :
écrire 1 sur la ligne
lire la colonne (un seul mot de 16 bits)
si un bit est à 1, cela dit quelle touche est appuyée

Tu pourras même savoir si plusieurs boutons sont appuyés en même temps, sauf si tu le fais avec des 4067.

Bonjour à tous,

Une réponse un peu tardive (déplacement) mais je tenais à vous remercier pour vos réponses.
Je crois que je vais me diriger vers la solution de hbachetti, la latence n'étant pas trop importante pour mon besoin.

Le besoin suivant est d'allumer une led sous le bouton qu'on vient d'activer, mais chaque chose en son temps, sauf si une possibilité que vous connaissez me permet (facilement) de faire les 2

Encore merci et bonne continuation. Je vous tiendrai au courant de l'avancée du projet, j'ai beaucoup de choses à apprendre (à 63 piges) et à intégrer

Bertrand