Go Down

Topic: orgue digitale / multiplexage de boutons (Read 178 times) previous topic - next topic

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

Artouste

#1
Mar 20, 2019, 10:41 pm Last Edit: Mar 20, 2019, 10:47 pm by Artouste
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

trimarco232

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

hbachetti

Quote
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.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Mutzik

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

Go Up