====== Teensy 4 faders midi ====== * Porteur du projet : ErikM + Eric (reso-nance) * Date : 10/12/2014 - 20/02/2015 * Licence : libre ! * {{:projets:teensy-4faders-midi:4fadersuc33.zip|fichier dxf et gcode}}, {{:projets:teensy-4faders-midi:control-in-midi.pd|test [ctlin] pure data}} * [[http://www.erikm.com/]] ===== Description ===== {{:projets:teensy-4faders-midi:4faders-1.jpg|}} 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 - [[http://uk.rs-online.com/web/p/potentiometers/2499367/| 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 [[projets:teensy2.0shield:accueil|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 ==== {{:projets:teensy-4faders-midi:faderuc33.gif|}} ==== le boitier ==== {{:projets:teensy-4faders-midi:controleur4xfaderuc33.gif|}} ==== Le patch teensy ==== Apres avoir installé Teensyduino, ci-dessous le patch à téléverser : #include // 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 ==== {{:projets:teensy-4faders-midi:4faders-2.jpg|}} {{tag>teensy fraiseuse controleur D.I.Y. midi}}