Teensy 4 faders midi

Description

Construction d'un contrôleur midi 4 faders à partir d'un contrôleur défectueux et d'une Teensy2.

Matériaux

Une teensy 2.0, 4 faders (10kΩ - provenant d'une UC33 - specs) et les materiaux du moment, contre plaqué, plaque PVC, tige filetée et écroux de 3mm de diametre.

Tutoriel

  • Repérer les pattes utiles du slider : +/- et signal sur les 8 pattes du slider
  • Souder les sliders sur notre shield Teensy2.0(pour éviter de souder directement sur la Teensy).
  • préparer les pièces du “boitier”
  • monter le tout avec de la tige filetée.
  • téléverser la configuration midi des ports dans la teensy

le slider

le boitier

Le patch teensy

Apres avoir installé Teensyduino, ci-dessous le patch à téléverser :

#include <Bounce.h>
 
// the MIDI channel number to send messages
const int channel = 1;
 
// the MIDI continuous controller for each analog input
const int controllerA0 = 13; // 10 = pan position
const int controllerA1 = 12; // 11 = volume/expression
const int controllerA2 = 11; // 91 = reverb level
const int controllerA3 = 10; // 93 = chorus level
 
void setup() {
}
 
// store previously sent values, to detect changes
int previousA0 = -1;
int previousA1 = -1;
int previousA2 = -1;
int previousA3 = -1;
 
elapsedMillis msec = 0;
 
void loop() {
  // only check the analog inputs 50 times per second,
  // to prevent a flood of MIDI messages
  if (msec >= 20) {
    msec = 0;
    int n0 = analogRead(A0) / 8;
    int n1 = analogRead(A1) / 8;
    int n2 = analogRead(A2) / 8;
    int n3 = analogRead(A3) / 8;
    // only transmit MIDI messages if analog input changed
    if (n0 != previousA0) {
      usbMIDI.sendControlChange(controllerA0, n0, channel);
      previousA0 = n0;
    }
    if (n1 != previousA1) {
      usbMIDI.sendControlChange(controllerA1, n1, channel);
      previousA1 = n1;
    }
    if (n2 != previousA2) {
      usbMIDI.sendControlChange(controllerA2, n2, channel);
      previousA2 = n2;
    }
    if (n3 != previousA3) {
      usbMIDI.sendControlChange(controllerA3, n3, channel);
      previousA3 = n3;
    }
  }
 
  // MIDI Controllers should discard incoming MIDI messages.
  // http://forum.pjrc.com/threads/24179-Teensy-3-Ableton-Analog-CC-causes-midi-crash
  while (usbMIDI.read()) {
    // ignore incoming messages
  }
}

Les faders sont configuré pour envoyer les données midi sur le chanel1, port 10, 11, 12 et 13. a modifier dans la partie haute du patch : the MIDI continuous controller for each analog input

Photos