Multiplexeur III
15 jours pour comprendre les contrôleurs MIDI - Jour 13
Suite logique de l’article d’hier, voyons comment généraliser le contrôle de plusieurs potentiomètres sur une seule entrée de l’arduino.
Le montage
C’est le même qu’hier mais on ajoute des potards et on utilise tout les bits de sélection.
Reliez jusqu’à 8 potards au CD4051. Pour ce test je me contente de trois potards sur les broches n°13, 14, et 15 du CD4051.
Pour les bits de sélection, reliez la broche n°8 de l’arduino à la broche n°11 du CD4051 (bit de poid faible), puis la broche n°9 de l’arduino à la broche n°10 du CD4051, et enfin la broche n°10 de l’arduino à la broche n°9 du CD4051 (bit de poid fort).
Sélection des potentiomètres
On pourra penser à plusieurs manière d’allumer/éteindre les bits de sélection du
CD4051, mais
l’arduino nous fournit la fonction bitRead(value, position)
qui est idéale
pour mettre à jour ces trois bits. Cette fonction renvoie la valeur
du bit (0 ou 1) dans le nombre value qui se trouve à la position position.
const int total_pots = 3;
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop() {
for(int i = 0; i < total_pots; i++) {
digitalWrite(8, bitRead(i, 0));
digitalWrite(9, bitRead(i, 1));
digitalWrite(10, bitRead(i, 3));
int value = analogRead(A0);
Serial.println("Pot_" + String(i) + ":" + String(value));
delay(500);
}
}
La lecture des 3 potards en image :
Références
Cet article fait partie d’une série :
- Envoyer une note par le cable MIDI
- Lire un potentiomètre
- Lire un potentiomètre II
- Régler le problème de fluctuation
- Envoyer le message Control Change
- Six potentiomètres
- Six potentiomètres - Code objet
- Prototype en carton
- Surveiller la consommation
- Une solution hardware au problème de fluctuation ?
- Multiplexeur
- Multiplexeur II
- Multiplexeur III
- Moniteur MIDI
- Le bilan
Commentaires
Pas encore trouvé de solution simple et non-invasive pour avoir des commentaires sur le blog. En attendant vous pouvez laisser votre Commentaire sur mastodon@lkdjiin