====== BrutBox V1 ====== La Brutbox v1.0 est basée sur une carte Teensy 2.0 et 8 capteurs simples (mono signal). ===== Matériaux ===== * Carte [[https://www.pjrc.com/store/teensy.html|Teensy 2.0 ]] * Bois CP de 3mm * Cuivre pour PCB * Capteurs (distance, luminosité LDR, potentiomètre, pression et bouton d'arcade) * Prise USB A et B (8 de chaques) * Visseries ===== Logiciel ===== * Version Festival Noga à Nimes Decembre 2016 : {{:projets:brutbox:v1:brutbox122016.zip|brutbox122016}} * Version Espace Gantner Février 2016 : {{.:bb-2016-02-29-gantner.zip|bb-2016-02-29}} ===== Teensy Firmware ===== Code Teensy pour recevoir huit capteurs analogiques et envoyer les informations en MIDI : \\ ++++ teensy-8-in.ino | // the MIDI channel number to send messages const int channel = 1; // the MIDI continuous controller for each analog input const int controllerA0 = 1; // const int controllerA1 = 2; // const int controllerA2 = 3; // const int controllerA3 = 4; // const int controllerA4 = 5; // const int controllerA5 = 6; // const int controllerA6 = 7; // const int controllerA7 = 8; // void setup() { } // store previously sent values, to detect changes int previousA0 = -1; int previousA1 = -1; int previousA2 = -1; int previousA3 = -1; int previousA4 = -1; int previousA5 = -1; int previousA6 = -1; int previousA7 = -1; elapsedMillis msec = 0; void loop() { // only check the analog inputs 50 times per second, // to prevent a flood of MIDI messages if (msec >= 50) { msec = 0; int n0 = analogRead(A0) / 8; int n1 = analogRead(A1) / 8; int n2 = analogRead(A2) / 8; int n3 = analogRead(A3) / 8; int n4 = analogRead(A4) / 8; int n5 = analogRead(A5) / 8; int n6 = analogRead(A6) / 8; int n7 = analogRead(A7) / 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; } if (n4 != previousA4) { usbMIDI.sendControlChange(controllerA4, n4, channel); previousA4 = n4; } if (n5 != previousA5) { usbMIDI.sendControlChange(controllerA5, n5, channel); previousA5 = n5; } if (n6 != previousA6) { usbMIDI.sendControlChange(controllerA6, n6, channel); previousA6 = n6; } if (n7 != previousA7) { usbMIDI.sendControlChange(controllerA7, n7, channel); previousA7 = n7; } } // 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 } } ++++ ===== Teensy PCB ===== Nous utilisons pour le moment, la carte Teensy 2.0 qui permet de convertir en MIDI les données de nos capteurs. En guise de connectique nous avons opté pour des connecteurs USB (pour éviter les faux contacts). **Gravure** :\\ On fait de la gravure a l'anglaise avec une fraiseuse numérique, vitesse 100mm/m, hauteur de passe 0.1mm. Cela prend environ 40 minutes pour faire la carte principale et 10 minutes par plaque USB B. {{.:pcb-teensy-usb-implementation.jpg|}} * **Fichiers actuels** (dxf+cambam+gcode) : {{:projets:brutbox:v1:pcb-brutbox-012016.zip|}} On utilise +, - et **D+** ==== Prise usb A ==== {{:projets:brutbox:v1:screen_shot_12-06-16_at_10.13_am.png?nolink&200|}} D = d+ .. ===== Boîtes ===== Découpe de plaques en bois de 3mm avec une machine à découpe laser. * Boite capteur générique 75x75x60mm : {{.:boite_capteur.ai|}} * Boite mère Teensy 75x90x40mm : {{.:mere-new_75x90x40.ai|}} * Boite mère Teensy longue**(modèle ci-dessous)**{{:projets:brutbox:v1:teensy_v3-brd-ok.ai|}} {{gallery>photos?&crop&lightbox }}