Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


projets:teensymiditouchcontroller:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
projets:teensymiditouchcontroller:accueil [2015/04/01 10:18]
resonance
projets:teensymiditouchcontroller:accueil [2015/04/23 13:00] (Version actuelle)
resonance [Touches tactiles en Midi]
Ligne 1: Ligne 1:
-====== Controleur Midi avec touches tactiles ======+====== Touches tactiles en Midi ====== 
 + 
 +{{:projets:teensymiditouchcontroller:ecran249.png?nolink&600|}} 
 + 
 +{{tag>teensy teensyduino midi capacitif}} 
 + 
 +====Description ===== 
   * Porteur du projet : [[user:arbuste]]   * Porteur du projet : [[user:arbuste]]
   * Date : 22/12/2014   * Date : 22/12/2014
   * Licence : libre !   * Licence : libre !
   * Contexte : installation utilisant le midi comme interface de commande    * Contexte : installation utilisant le midi comme interface de commande 
-  * Fichiers : ...+  * Fichiers : {{:projets:test_touch_teensy.pd.zip|}}
   * Lien : [[http://collectif-arbuste.com/2015/01/26/le-pianofictile/|Pianofictile]]   * Lien : [[http://collectif-arbuste.com/2015/01/26/le-pianofictile/|Pianofictile]]
  
-===== Description ===== + 
-{{youtube>3qXYvioCboo?medium}} +{{ youtube>3qXYvioCboo?large }} 
-{{:projets:install_view.jpg?200|}}+
  
 Hommage aux pianistes anonymes qui improvisaient les bandes sons des films muets, instrument intelligent, capricieux et difficile à cerner, entre classicisme et intelligence artificielle, le PIANOFICTILE utilise le son et la lumière pour intervenir sur l’espace qui l’entoure, créer des fragments fictionnels et poétiques. Ce piano hybride conçu par le Collectif Arbuste est augmenté d’un tableau de bord aux fonctions mystérieuses. Évocation des vieux pianos bastringues des westerns et du cinéma muet, il révèle des propriétés acoustiques bizarroïdes et inouïes, déclenche des sections de dialogues et autres ambiances, influe sur l’éclairage de l’espace. Hommage aux pianistes anonymes qui improvisaient les bandes sons des films muets, instrument intelligent, capricieux et difficile à cerner, entre classicisme et intelligence artificielle, le PIANOFICTILE utilise le son et la lumière pour intervenir sur l’espace qui l’entoure, créer des fragments fictionnels et poétiques. Ce piano hybride conçu par le Collectif Arbuste est augmenté d’un tableau de bord aux fonctions mystérieuses. Évocation des vieux pianos bastringues des westerns et du cinéma muet, il révèle des propriétés acoustiques bizarroïdes et inouïes, déclenche des sections de dialogues et autres ambiances, influe sur l’éclairage de l’espace.
Ligne 18: Ligne 25:
 ===== Matériaux ===== ===== Matériaux =====
  
-une carte Teensy 3.1\\+  * une carte Teensy 3.1\\
  
-un [[https://www.tindie.com/products/loglow/teensy-31-breakout/|Teensy 3.1 breakout]], qui permet d'exploiter facilement toutes les "pins" de la carte Teensy. Ceci n'est pas obligatoire, mais certaines pins sont **sous** la carte et sont complexes à relier à des fils car en SMD, le breakout (qui peut s'acheter monté avec une teensy) règle ce problème en rendant accessibles toutes les pins de la carte.\\+  * un [[https://www.tindie.com/products/loglow/teensy-31-breakout/|Teensy 3.1 breakout]], qui permet d'exploiter facilement toutes les "pins" de la carte Teensy. Ceci n'est pas obligatoire, mais certaines pins sont **sous** la carte et sont complexes à relier à des fils car en SMD, le breakout (qui peut s'acheter monté avec une teensy) règle ce problème en rendant accessibles toutes les pins de la carte.\\
  
-cable usb micro-B: [[http://www.pjrc.com/store/cable_usb_micro_b.html]]+  * cable usb micro-B: [[http://www.pjrc.com/store/cable_usb_micro_b.html]]
  
-OPTIONNEL (mais très fortement conseillé): un adaptateur de ce type [[http://www.pjrc.com/store/cable_usb_micro_b.html]] car la fiche micro usb sur la carte teensy tend à facilement s'arracher au fil des manipulations.+  * //OPTIONNEL// (mais très fortement conseillé): un adaptateur de ce type [[http://www.pjrc.com/store/cable_usb_micro_b.html]] car la fiche micro usb sur la carte teensy tend à facilement s'arracher au fil des manipulations.
  
-fil de montage\\+  * fil de montage\\
  
-pièces de cuivre, ou bandes d'adhésif conducteur (cuivre, aluminium,...), ou pièces métalliques\\+  * pièces de cuivre, ou bandes d'adhésif conducteur (cuivre, aluminium,...), ou pièces métalliques\\
  
-potentiomètres (10K)\\+  * potentiomètres (10K)\\
  
-interrupteurs momentanés ou switches\\+  * interrupteurs momentanés ou switches\\
  
-12 résistances (par controleur construit)  de 10K en SMD (montage sur surface) de format 1206 (de ce type: [[http://www.gotronic.fr/art-10-resistances-cms-10k-8486-227.htm|resistance 10K en 1206]] ). celles ci sont un peu difficile à souder car très petites, mais restent avantageuses de par le gain de place qu'elles permettent.+  * 12 résistances (par controleur construit)  de 10K en SMD (montage sur surface) de format 1206 (de ce type: [[http://www.gotronic.fr/art-10-resistances-cms-10k-8486-227.htm|resistance 10K en 1206]] ). celles ci sont un peu difficile à souder car très petites, mais restent avantageuses de par le gain de place qu'elles permettent.
 ===== Tutoriel ===== ===== Tutoriel =====
  
Ligne 50: Ligne 57:
  - 8 entrées analogiques qui lisent des potentiomètres et envoient des Control Change (CC) MIDI\\  - 8 entrées analogiques qui lisent des potentiomètres et envoient des Control Change (CC) MIDI\\
  - 4 entrées digitales qui envoient des Control Change\\  - 4 entrées digitales qui envoient des Control Change\\
- 
- 
  
  
 **1- DESIGN D'UN PCB:** **1- DESIGN D'UN PCB:**
- 
 en utilisant Fritzing ( [[http://fritzing.org|Fritzing]] ), j'ai conçu un petit circuit imprimé pour pouvoir disposer de petits borniers à vis pour connecter plus facilement les câbles qui partiront vers les touches tactiles, les potentiomètres et les footswitches que l'on compte utiliser. en utilisant Fritzing ( [[http://fritzing.org|Fritzing]] ), j'ai conçu un petit circuit imprimé pour pouvoir disposer de petits borniers à vis pour connecter plus facilement les câbles qui partiront vers les touches tactiles, les potentiomètres et les footswitches que l'on compte utiliser.
  
Ligne 62: Ligne 66:
 (Le design ne respecte surement pas toutes les règles de design d'un circuit imprimé et est surement loin d'être parfait / optimisé, mais je suis musicien, pas ingénieur). (Le design ne respecte surement pas toutes les règles de design d'un circuit imprimé et est surement loin d'être parfait / optimisé, mais je suis musicien, pas ingénieur).
  
-Le circuit vu dans Fritzing: +Le circuit vu dans Fritzing:\\ 
- +{{:projets:touch_board_1_circuit_imprime_.png?800|}}
-{{:projets:touch_board_1_circuit_imprime_.png?200|}} +
- +
-Le circuit une fois reçu, et monté: +
- +
-{{:projets:pcbs.jpg?200|}}+
  
-**2- MONTAGE DES COMPOSANTS SUR LA CARTE:**+Le circuit une fois reçu, et monté:\\ 
 +{{:projets:pcbs.jpg?800|}}
  
 +**2- MONTAGE DES COMPOSANTS SUR LA CARTE:**\\
 Commencer par les résistances smd de 10K: poser un peu de soudure sur un des plots carrés qui leurs sont destinés, placer la résistance et souder un de ses cotés sur le plot en appuyant doucement dessus, lorsqu'elle est placée, souder l'autre côté de la résistance. Commencer par les résistances smd de 10K: poser un peu de soudure sur un des plots carrés qui leurs sont destinés, placer la résistance et souder un de ses cotés sur le plot en appuyant doucement dessus, lorsqu'elle est placée, souder l'autre côté de la résistance.
  
Ligne 77: Ligne 78:
  
  
-Voilà la carte montée: +Voilà la carte montée:\\
 sur la photo ci-dessous, les 12 entrées pour les touches tactiles sont en haut. Sur la droite se trouvent les 4 entrées digitales, et en bas les borniers vers les 8 entrées analogiques. Pour les entrées digitales et analogiques: le 3.3V est marqué "+", l'entrée est au centre du bornier marquée par son numéro, et la masse est marquée "gnd" et se trouve sur la droite. sur la photo ci-dessous, les 12 entrées pour les touches tactiles sont en haut. Sur la droite se trouvent les 4 entrées digitales, et en bas les borniers vers les 8 entrées analogiques. Pour les entrées digitales et analogiques: le 3.3V est marqué "+", l'entrée est au centre du bornier marquée par son numéro, et la masse est marquée "gnd" et se trouve sur la droite.
  
Ligne 99: Ligne 99:
 v1.0, December 17 2013 v1.0, December 17 2013
 by Yann Seznec www.yannseznec.com by Yann Seznec www.yannseznec.com
- 
 modified by Matthieu Pernaud for teensy 3.1 and for different purposes: modified by Matthieu Pernaud for teensy 3.1 and for different purposes:
  
Ligne 115: Ligne 114:
 - no system for sending touch pin as CC - no system for sending touch pin as CC
 - the CC assignments are sort of random, probably should have another array for them - the CC assignments are sort of random, probably should have another array for them
- 
 */ */
  
 /* TOUCHPINS - send midi notes */ /* TOUCHPINS - send midi notes */
- 
 int const numTouchPins = 12; // number of pins to use as touchpins, sending note values int const numTouchPins = 12; // number of pins to use as touchpins, sending note values
 int touch[numTouchPins]; int touch[numTouchPins];
Ligne 131: Ligne 128:
  
 /*ANALOG PINS*/ /*ANALOG PINS*/
- 
 int const numPins = 8; //  number of analog inputs  int const numPins = 8; //  number of analog inputs 
 int currentVal[numPins]; int currentVal[numPins];
Ligne 139: Ligne 135:
 }; };
 int analogstartcc = 50; // MIDI CC number to start from. int analogstartcc = 50; // MIDI CC number to start from.
- 
- 
  
 int const numDigPins = 0; // number of digital pins to send note values int const numDigPins = 0; // number of digital pins to send note values
Ligne 150: Ligne 144:
   48,50,51,53,55,57}; // which midi notes to send from the digital pins selected above   48,50,51,53,55,57}; // which midi notes to send from the digital pins selected above
 int digInput[numDigPins]; int digInput[numDigPins];
- 
  
 int const numDigPinsCC = 4; // number of digital pins to send CC int const numDigPinsCC = 4; // number of digital pins to send CC
Ligne 160: Ligne 153:
  
 int digInputcc[numDigPinsCC]; int digInputcc[numDigPinsCC];
- 
- 
- 
- 
  
 // the MIDI channel number to send messages on // the MIDI channel number to send messages on
- 
 const int channel = 1; const int channel = 1;
- 
- 
  
 void setup() { void setup() {
- 
   pinMode(10, INPUT_PULLUP);   pinMode(10, INPUT_PULLUP);
   pinMode(11, INPUT_PULLUP);   pinMode(11, INPUT_PULLUP);
   pinMode(12, INPUT_PULLUP);    pinMode(12, INPUT_PULLUP); 
   pinMode(24, INPUT_PULLUP);   pinMode(24, INPUT_PULLUP);
- 
   Serial.begin(38400);   Serial.begin(38400);
- 
 } }
  
 void loop() { void loop() {
-   
-   
   //  touch sending notes   //  touch sending notes
-   
   for (int i = 0; i < numTouchPins; i++) {   for (int i = 0; i < numTouchPins; i++) {
     touch[i] = touchRead(touchpin[i]);      touch[i] = touchRead(touchpin[i]); 
Ligne 213: Ligne 193:
  
   }   }
-   
   */   */
-  
- 
 // digital pins sending notes // digital pins sending notes
 //  for (int i = 0; i < numDigPins; i++) { //  for (int i = 0; i < numDigPins; i++) {
Ligne 230: Ligne 207:
  
   //// digital pins sending CC   //// digital pins sending CC
- 
   for (int i = 0; i < numDigPinsCC; i++) {   for (int i = 0; i < numDigPinsCC; i++) {
     if (digitalRead(digitalpincc[i]) == 1 && currentDigcc[i] == 0) {     if (digitalRead(digitalpincc[i]) == 1 && currentDigcc[i] == 0) {
Ligne 243: Ligne 219:
  
 //// analog pins //// analog pins
- 
   for (int i = 0; i < numPins; i++) {   for (int i = 0; i < numPins; i++) {
- 
     newVal[i] = analogRead(analogPins[i]);     newVal[i] = analogRead(analogPins[i]);
-     
     if (abs(newVal[i] - currentVal[i])>3)      if (abs(newVal[i] - currentVal[i])>3) 
     {     {
Ligne 253: Ligne 226:
       currentVal[i] = newVal[i];       currentVal[i] = newVal[i];
     }       }  
-     
- 
   }   }
      
Ligne 261: Ligne 232:
   delay(5);    delay(5); 
 } }
- 
 } }
- 
- 
 </code> </code>
  
Ligne 287: Ligne 255:
 voilà un patch Pure Data pour tester la carte (avec le code ci dessus uploadé): voilà un patch Pure Data pour tester la carte (avec le code ci dessus uploadé):
  
-{{:projets:test_touch_teensy.pd.zip|}}+  * {{:projets:test_touch_teensy.pd.zip|}}
  
 +===== Photos =====
 +{{:projets:backmess.jpg?800|}} {{:projets:controleurface.jpg?800|}} {{:projets:pianocloseup.jpg?800|}}
  
-quelques photos de notre réalisation: 
- 
-{{:projets:backmess.jpg?200|}} 
- 
-{{:projets:controleurface.jpg?200|}} 
- 
-{{:projets:pianocloseup.jpg?200|}} 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== Photos ===== 
  
-{{tag>[teensy teensyduino midi]}} 
/home/resonancg/www/wiki/data/attic/projets/teensymiditouchcontroller/accueil.1427876336.txt.gz · Dernière modification: 2015/04/01 10:18 de resonance