15 jours pour comprendre les contrôleurs MIDI - Jour 12

Aujourd’hui on voit en pratique comment brancher deux potentiomètres sur une unique entrée analogique de l’arduino.

Le montage

Les potentiomètres sont branchés aux entrées 0 et 1 du CD4051 (respectivement broches 13 et 14).

La sortie du CD4051 est branchée sur l’entrée analogique A0 de l’arduino.

Un condensateur de 100 nF relie la broche 16 du CD4051 au ground. Il n’est pas indispensable, mais recommandé.

Comme il n’y a que deux potentiomètres, je n’ai branché qu’une seule ligne de sélection : la broche 8 de l’arduino contrôle le bit de sélection A (broche 11) du CD4051.

Les deux autres bits de sélection B et C du CD4051 sont inutilisés dans ce montage et sont donc reliés au ground pour être mis à 0.

Le code

La broche 8 de l’arduino est utilisée pour contrôler le CD4051 et est donc déclarée en OUTPUT. Je met aussi en route le moniteur série pour pouvoir afficher les mesures des deux potards.

const int total_pots = 2;

void setup() {
  pinMode(8, OUTPUT);
  Serial.begin(9600);
}

Avec digitalWrite(8, i) on sélectionne tour à tour l’entrée n°13 du mux (quand i == 0) et l’entrée n°14 (quand i == 1).

void loop() {
  for(int i = 0; i < total_pots; i++) {
    digitalWrite(8, i);
    int value = analogRead(A0);
    Serial.println("Pot_" + String(i) +  ":" + String(value));
    delay(50);
  }
}

On peut maintenant utiliser deux potards sur une seule entrée de l’arduino.

Références

  1. Le code de cet article est sur github
  2. Datasheet CD4051

Cet article fait partie d’une série :

  1. Envoyer une note par le cable MIDI
  2. Lire un potentiomètre
  3. Lire un potentiomètre II
  4. Régler le problème de fluctuation
  5. Envoyer le message Control Change
  6. Six potentiomètres
  7. Six potentiomètres - Code objet
  8. Prototype en carton
  9. Surveiller la consommation
  10. Une solution hardware au problème de fluctuation ?
  11. Multiplexeur
  12. Multiplexeur II
  13. Multiplexeur III