Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


projets:brutbox:v1: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:brutbox:v1:accueil [2017/04/10 18:42]
resonance [BrutBox V1]
projets:brutbox:v1:accueil [2019/10/04 19:44] (Version actuelle)
resonance [Matériel]
Ligne 4: Ligne 4:
 Tous les fichiers de fabrication sur notre [[https://git.framasoft.org/resonance/brutbox|git.framasoft.org/resonance]]. Tous les fichiers de fabrication sur notre [[https://git.framasoft.org/resonance/brutbox|git.framasoft.org/resonance]].
  
-{{:projets:brutbox:v1:bb-logo.jpg?800|}}+{{:projets:brutbox:v1:bb-logo.jpg?400|}}
  
 ===== Électronique =====  ===== Électronique ===== 
Ligne 14: Ligne 14:
   * Capteurs : distance (x2), luminosité LDR (x2), potentiomètre (x2), pression (x1) et bouton d'arcade (x2)   * Capteurs : distance (x2), luminosité LDR (x2), potentiomètre (x2), pression (x1) et bouton d'arcade (x2)
   * Prise USB A (x8) et B (x8)   * Prise USB A (x8) et B (x8)
 +  * {{ :projets:brutbox:v1:liste_achat_brutbox_-_feuille_1.pdf |liste/liens indicatifs d'achats}}
  
 <WRAP important 80% center>**Prises USB** : on utilise les broches +, - et  D+.</WRAP> <WRAP important 80% center>**Prises USB** : on utilise les broches +, - et  D+.</WRAP>
Ligne 139: Ligne 140:
 </code> </code>
 ++++ ++++
 +
 +=== Utiliser deux CC par entrée analogique pour avoir 1023 valeur au lieu de 127 ===
 +
 +ensuite dans puredata il faudra combiner les deux valeurs
 +
 +{{:projets:brutbox:v1:screen_shot_10-17-17_at_12.11_pm.png?nolink|}}
 + 
 +
 +++++ teensy 8 control - 16 cc midi  |
 +<code cpp>
 +// the MIDI channel number to send messages
 +const int channel = 1;
 +
 +//Definir les sorties en fonction des canaux midi
 +const int cc_A=8; const int cc_Abis=18;  // A = pour l'entrée physique A0
 +const int cc_B=7; const int cc_Bbis=17;  // B = pour l'entrée physique A1 ...etc
 +const int cc_C=6; const int cc_Cbis=16;
 +const int cc_D=5; const int cc_Dbis=15;
 +const int cc_E=4; const int cc_Ebis=14;
 +const int cc_F=3; const int cc_Fbis=13;
 +const int cc_G=2; const int cc_Gbis=12;
 +const int cc_H=1; const int cc_Hbis=11;
 +
 +
 +void setup() {}
 +
 +int previous_n0a = -1; int previous_n0b = -1;
 +int previous_n1a = -1; int previous_n1b = -1;
 +int previous_n2a = -1; int previous_n2b = -1;
 +int previous_n3a = -1; int previous_n3b = -1;
 +int previous_n4a = -1; int previous_n4b = -1;
 +int previous_n5a = -1; int previous_n5b = -1;
 +int previous_n6a = -1; int previous_n6b = -1;
 +int previous_n7a = -1; int previous_n7b = -1;
 +
 +elapsedMillis msec = 0;
 + 
 +void loop() {
 +  // only check the analog cc_s 50 times per second (20ms),
 +  // to prevent a flood of MIDI messages
 +  if (msec >= 20) {
 +    msec = 0;
 +    int n0a = analogRead(A0) / 100;
 +    int n0b = analogRead(A0) - n0a*100;
 +
 +    int n1a = analogRead(A1) / 100;
 +    int n1b = analogRead(A1) - n1a*100;
 +    
 +    int n2a = analogRead(A2) / 100;
 +    int n2b = analogRead(A2) - n2a*100;
 +
 +    int n3a = analogRead(A3) / 100;
 +    int n3b = analogRead(A3) - n3a*100;
 +    
 +    int n4a = analogRead(A4) / 100;
 +    int n4b = analogRead(A4) - n4a*100;
 +
 +    int n5a = analogRead(A5) / 100;
 +    int n5b = analogRead(A5) - n5a*100;
 +    
 +    int n6a = analogRead(A6) / 100;
 +    int n6b = analogRead(A6) - n6a*100;
 +
 +    int n7a = analogRead(A7) / 100;
 +    int n7b = analogRead(A7) - n7a*100;
 +
 +    // only transmit MIDI messages if analog cc_ changed
 +    //       usbMIDI.sendControlChange(cc, value, channel);
 +
 +    // control change
 +    if (n0a != previous_n0a) {
 +      usbMIDI.sendControlChange(cc_A, n0a, channel);
 +      previous_n0a = n0a;
 +    }
 +
 +    if (n0b != previous_n0b) {
 +      usbMIDI.sendControlChange(cc_Abis, n0b, channel);
 +      previous_n0b = n0b;
 +    }
 +    
 +    // control change
 +    if (n1a != previous_n1a) {
 +      usbMIDI.sendControlChange(cc_B, n1a, channel);
 +      previous_n1a = n1a;
 +    }
 +
 +    if (n1b != previous_n1b) {
 +      usbMIDI.sendControlChange(cc_Bbis, n1b, channel);
 +      previous_n1b = n1b;
 +    }    
 +
 +    // control change
 +    if (n2a != previous_n2a) {
 +      usbMIDI.sendControlChange(cc_C, n2a, channel);
 +      previous_n2a = n2a;
 +    }
 +
 +    if (n2b != previous_n2b) {
 +      usbMIDI.sendControlChange(cc_Cbis, n2b, channel);
 +      previous_n2b = n2b;
 +    }    
 +
 +    // control change
 +    if (n3a != previous_n3a) {
 +      usbMIDI.sendControlChange(cc_D, n3a, channel);
 +      previous_n3a = n3a;
 +    }
 +
 +    if (n3b != previous_n3b) {
 +      usbMIDI.sendControlChange(cc_Dbis, n3b, channel);
 +      previous_n3b = n3b;
 +    }    
 +
 +    // control change
 +    if (n4a != previous_n4a) {
 +      usbMIDI.sendControlChange(cc_E, n4a, channel);
 +      previous_n4a = n4a;
 +    }
 +
 +    if (n4b != previous_n4b) {
 +      usbMIDI.sendControlChange(cc_Ebis, n4b, channel);
 +      previous_n4b = n4b;
 +    }   
 +
 +    // control change
 +    if (n5a != previous_n5a) {
 +      usbMIDI.sendControlChange(cc_F, n5a, channel);
 +      previous_n5a = n5a;
 +    }
 +
 +    if (n5b != previous_n5b) {
 +      usbMIDI.sendControlChange(cc_Fbis, n5b, channel);
 +      previous_n5b = n5b;
 +    }   
 +
 +    // control change
 +    if (n6a != previous_n6a) {
 +      usbMIDI.sendControlChange(cc_G, n6a, channel);
 +      previous_n6a = n6a;
 +    }
 +
 +    if (n6b != previous_n6b) {
 +      usbMIDI.sendControlChange(cc_Gbis, n6b, channel);
 +      previous_n6b = n6b;
 +    }   
 +
 +    // control change
 +    if (n7a != previous_n7a) {
 +      usbMIDI.sendControlChange(cc_H, n7a, channel);
 +      previous_n7a = n7a;
 +    }
 +
 +    if (n7b != previous_n7b) {
 +      usbMIDI.sendControlChange(cc_Hbis, n7b, channel);
 +      previous_n7b = n7b;
 +    }   
 +
 +  }
 + 
 +  // 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>
 +++++
 +
  
 ==== Pure Data ==== ==== Pure Data ====
/home/resonancg/www/wiki/data/attic/projets/brutbox/v1/accueil.1491842525.txt.gz · Dernière modification: 2017/04/10 18:42 de resonance