Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

projets:p6:accueil

Ceci est une ancienne révision du document !


P6

  • Porteur du projet : Jérôme (resonance)
  • Date : 02/2016 - …
  • Licence : libre !
  • Contexte : Projet de contrôleur MIDI
  • Fichiers : …

Description

Contrôleur MIDI réalisé avec six capteurs piézo-électriques. L'idée est de tout pouvoir le reproduire dans un fablab et d'avoir un contrôleur MIDI assez peu cher et configurable. Avec les piézo

Voir aussi notre page sur les Capteurs DIY.

Schéma électronique

Moulage silicone

Code OpenScad

Boîtier

Code OpenScad

Code Arduino

/*
 * P6 project
 * Teensy MIDI with 6 analog sensors
 *
 */
 
boolean DEBUG = false;
 
// Analog sensors
int anaPins[] = {21,20,19,18,17,16}; // analog pins
const int anaNb = 6;
int anaValues[anaNb]; // current analog values
int anaLastValues[anaNb]; // previous analog values
 
// MIDI
const int channel = 1;
int anaCtl[] = {1,2,3,4,5,6}; // midi mapping
 
// Sampling rate
const long interval = 30;
unsigned long currentMillis;
unsigned long previousMillis = 0;
 
void setup() { 
  if (DEBUG) Serial.begin(9600);
} 
 
void loop() {
  currentMillis = millis();
  if(currentMillis - previousMillis >= interval) {
      previousMillis = currentMillis;
      for (int i = 0; i < anaNb; i++) {
        anaValues[i] = analogRead(anaPins[i]) / 4 ;
        if (anaValues[i] != anaLastValues[i]) {
           usbMIDI.sendControlChange(anaCtl[i], anaValues[i], channel);
           if (DEBUG)Serial.print(anaValues[i]);
           if (DEBUG)Serial.print("\t");
           anaLastValues[i] = anaValues[i];
        }
 
      }
      if (DEBUG)Serial.println();
   }
 
  // MIDI Controllers should discard incoming MIDI messages.
  while (usbMIDI.read()) {
  }
}
/home/resonancg/www/wiki/data/attic/projets/p6/accueil.1463130298.txt.gz · Dernière modification: 2016/05/13 11:04 de resonance