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

Avant de contrôler mon synthé avec plusieurs potentiomètres, je dois déjà pouvoir en lire un.

Le montage

La valeur du potentiomètre n’a aucune importance. 2k, 10k, 100k, 500k, utilisez ce que vous avez sous la main.

Lecture sur 10 bits

Les entrées analogiques de l’ardunio convertissent le voltage (0 à 5 volts) en un nombre de 10 bits, soit de 0 à 1023. Le programme suivant affiche la valeur du potentiomètre branché sur la broche A0 sur le moniteur série.

void setup() {
  Serial.begin(9600);
}

void loop() {
  int currentValue = analogRead(A0);
  Serial.println(currentValue);
  delay(10);
}

Conversion en 7 bits

Les messages MIDI auront une valeur comprise entre 0 et 127, soit 7 bits. Pour passer de 10 bits à 7 bits on peut diviser par 8. (Diviser par 2 revient à “retirer” un bit). Ou alors on peut faire plus rapide en décalant de 3 bits vers la droite.

Serial.println(currentValue >> 3);

Références

  1. Le code de cet article est sur github
  2. Le potard est ici utilisé comme un diviseur de tension

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