Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| 
                    projets:p6:accueil [2016/05/13 10:54] resonance [Schéma électronique]  | 
                
                    projets:p6:accueil [2016/05/13 23:42] (Version actuelle) resonance [Boîtier]  | 
            ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== P6 ====== | ====== P6 ====== | ||
|   * Porteur du projet : Jérôme ([[user: |   * Porteur du projet : Jérôme ([[user: | ||
| - | * Date : 02/2016 - ... | + | * Date : 02/2016 - 06/16 | 
| * Licence : libre ! | * Licence : libre ! | ||
| * Contexte : Projet de contrôleur MIDI | * Contexte : Projet de contrôleur MIDI | ||
| - | * Fichiers : ... | + |    | 
| + |     * [[materiel: | ||
| + |     * [[materiel: | ||
| + |     * [[materiel: | ||
| + |     * Programmation avec une [[materiel: | ||
| + |    | ||
| Ligne 10: | Ligne 15: | ||
| ===== Description ===== | ===== Description ===== | ||
| - | Contrôleur MIDI réalisé avec des capteurs piézo-électriques. | + | Contrôleur MIDI réalisé avec six capteurs piézo-électriques.  | 
| + | {{: | ||
| - | ===== Schéma électronique ===== | + | L' | 
| + | Voir aussi notre page sur les [[materiel: | ||
| - | ===== ===== | + | |
| + | ===== Circuit électronique  | ||
| + | Le circuit est vraiment très simple, il s'agit plus ici de proposer un kit modulaire qui facilite la connection et simple à fabriquer. Par exemple on pourrait imaginer mettre deux ou trois contrôleurs comme ceci pour augmenter le nombre de touches. | ||
| + | |||
| + | Avec deux résistances (1MΩ et 1KΩ) et une diode Zener 5V1, le signal d'un piézo peut être utilisé par un micro-contrôleur Arduino ou Teensy. Les résistances lissent un peu le signal et la diode limite la tension du capteur. Car ce type de capteur génère de l' | ||
| + | |||
| + | ==== Schéma ==== | ||
| + | {{: | ||
| + | |||
| + | |||
| + | ==== Carte ==== | ||
| + | {{: | ||
| + | ===== Moulage silicone ===== | ||
| + | Les capteurs piézo sont sensibles à la vibration de la surface sur laquelle ils sont posés. On peut les utiliser en tant que microphones. Un projet de cinq documentaires autour de la musique à Marseille utilise cette technique : [[http:// | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | Dans un premier temps, il faut créer une forme très simple en 3D, voir six pour aller plus vite. | ||
| + | {{: | ||
| + | |||
| + | ++++ Code OpenScad | | ||
| <code cpp> | <code cpp> | ||
| // P6 project | // P6 project | ||
| Ligne 55: | Ligne 83: | ||
| } | } | ||
| </ | </ | ||
| + | ++++ | ||
| + | |||
| + | Ensuite, il faut déposer du silicone dans les trous de la forme et laisser sécher une journée. On peut imaginer colorer le silicone à cette étape. | ||
| ===== Boîtier ===== | ===== Boîtier ===== | ||
| + | Le boîtier est configurable avec OpenScad. L' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | |||
| + | ++++ Code OpenScad | | ||
| + | <code cpp> | ||
| + | /* | ||
| + | * P6 Box | ||
| + | * Laser cuttable box for 6 piezo sensors | ||
| + | * | ||
| + |  * http:// | ||
| + | * GNU/GPLv3 license | ||
| + | */ | ||
| + | |||
| + | /////////////////////////////////////////////// | ||
| + | thickness = 3; // épaisseur contreplaqué de 3mm | ||
| + | piezo_r = 23; // rayons des trous pour les piezo | ||
| + | margin = 10; // marges | ||
| + | nblayers = 8; // 8 couches | ||
| + | |||
| + | grid_unit = margin + piezo_r * 2;   | ||
| + | length = 3*grid_unit+margin;// | ||
| + | width = 2*grid_unit+margin;// | ||
| + | height = nblayers * thickness; //24mm | ||
| + | $fn = 90; | ||
| + | |||
| + | |||
| + | /////////////////////////////////////////////// | ||
| + | p6_3d(); // 3d view | ||
| + | //p6_dxf(); // export to dxf | ||
| + | |||
| + | |||
| + | /////////////////////////////////////////////// | ||
| + | module p6_dxf(){ | ||
| + |     for (layer=[0: | ||
| + |         // | ||
| + |         x=(layer%2)*(width+margin); | ||
| + |         y=round(layer/ | ||
| + |         z=(layer*thickness)-height+1; | ||
| + |         rotate([0, | ||
| + |         // | ||
| + |           | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | module p6_3d(){ | ||
| + |       | ||
| + |       | ||
| + |     // | ||
| + | // Holes | ||
| + | difference() { | ||
| + |         plate(height);  | ||
| + |         plate_drills(3*thickness+0.05, | ||
| + |         piezos(2*thickness); | ||
| + |         wires(6*thickness); | ||
| + | pcb(); | ||
| + |         translate([margin, | ||
| + |             plate(4*thickness, | ||
| + |         translate([margin, | ||
| + |             text(" | ||
| + |         plate_drills(4*thickness+0.05, | ||
| + | } | ||
| + |      | ||
| + | difference(){ | ||
| + |         plate_drills(4*thickness, | ||
| + |         plate_drills(4*thickness+0.05, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | /////////////////////////////////////////////// | ||
| + | module piezos(h=thickness, | ||
| + | {         | ||
| + | z = height - h; | ||
| + |     for (row=[1: | ||
| + |         for (col=[1: | ||
| + |             translate([col*grid_unit-piezo_r , | ||
| + |             cylinder(h=h+0.05, | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | module plate(h=thickness, | ||
| + | { | ||
| + |     translate([mink_r, | ||
| + | { | ||
| + |         cube([w-mink_r*2, | ||
| + |         cylinder(r=mink_r, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | module wires(h=thickness, | ||
| + | { | ||
| + | z = height - thickness - h; | ||
| + |     for (row=[1: | ||
| + |         for (col=[1: | ||
| + |             translate([col*grid_unit-piezo_r-w/ | ||
| + |             cube([w, | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | module pcb() | ||
| + | { | ||
| + | w=74; | ||
| + | l=65; | ||
| + | w2=24; | ||
| + | margin=5; | ||
| + |     l2=15+margin; | ||
| + |     translate([(width-w2)/ | ||
| + | difference(){ | ||
| + |         translate([(width-w)/ | ||
| + |         translate([(width-w+20)/ | ||
| + | } | ||
| + | } | ||
| + | |||
| + | module pcb_mount(){ | ||
| + | w=74; | ||
| + | l=65; | ||
| + |       | ||
| + |         translate([(width-w)/ | ||
| + |           | ||
| + |         translate([(width-w)/ | ||
| + |           | ||
| + | } | ||
| + | } | ||
| + | |||
| + | module plate_drills(h=thickness, | ||
| + | { | ||
| + |     translate([width-10, | ||
| + |     translate([margin+2, | ||
| + | } | ||
| + | </ | ||
| + | ++++ | ||
| + | ===== Firmware ===== | ||
| + | Voir la page [[materiel: | ||
| - | ===== Code Arduino  | + | ++++ Code Arduino/Teensy | | 
| <code cpp> | <code cpp> | ||
| /* | /* | ||
| Ligne 109: | Ligne 277: | ||
| } | } | ||
| </ | </ | ||
| + | ++++ | ||
| + | |||
| + | |||
| + | ===== Logiciel ===== | ||
| + | Exemple de réception du MIDI dans Pure Data : | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | ===== Photos ===== | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | // | ||
| + | |||