Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

projets:teensy-4faders-midi:accueil

Ceci est une ancienne révision du document !


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 de la teensy

D'apres le patch Teensy4malinette, les faders sont configuré pour envoyer les données midi sur le chanel1, port 10, 11, 12 et 13.

le slider

le boitier

Le patch teensy

Apres avoir installé Teensyduino, ci-dessous le patch à téléverser : <code c> #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
}

} </ code>

Photos

/home/resonancg/www/wiki/data/attic/projets/teensy-4faders-midi/accueil.1424369172.txt.gz · Dernière modification: 2015/02/19 19:06 de resonance