Différences
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 Prochaine révision Les deux révisions suivantes | ||
openatelier:projet:platine_sequenceur [2020/09/25 15:56] emoc [Code réception] |
openatelier:projet:platine_sequenceur [2020/09/28 11:29] emoc [Disque] |
||
---|---|---|---|
Ligne 48: | Ligne 48: | ||
==== Schéma ==== | ==== Schéma ==== | ||
- | Dans cette version, 6 phototransistors sont utilisés, sans multiplexeur. A chaque phototransistor est associé deux résistances (en reprenant les valeurs définies dans le projet de Yunchi Luo et Mengliang Yu de l'université Cornell, voir sources en bas de page) | + | Dans cette version, 6 phototransistors sont utilisés, sans multiplexeur. A chaque phototransistor est associé deux résistances (en reprenant les valeurs définies dans le projet de Yunchi Luo et Mengliang Yu de l'université Cornell, voir sources en bas de page) **/!\ dans le montage, le ruban de leds est alimenté séparément pour éviter les parasites** |
{{:openatelier:projet:platine_sequenceur:prototype_002_circuit.png?direct&800|}} | {{:openatelier:projet:platine_sequenceur:prototype_002_circuit.png?direct&800|}} | ||
Ligne 170: | Ligne 170: | ||
<accordion> | <accordion> | ||
- | <panel title="platine_sequenceur_bras_porte_capteur.scad (cliquer pour afficher le code)"> | + | <panel title="platine_sequenceur_003.ino (cliquer pour afficher le code)"> |
- | <code c platine_sequenceur_bras_porte_capteur.scad> | + | <code c platine_sequenceur_003.ino> |
/* | /* | ||
* Platine sequenceur / prototype 002 | * Platine sequenceur / prototype 002 | ||
Ligne 361: | Ligne 361: | ||
==== Code réception ==== | ==== Code réception ==== | ||
- | Le code pure data récupère les données série, et modifie le son en conséquence | + | Le code pure data récupère les données série, et déclenche les sons en conséquence |
+ | |||
+ | {{:openatelier:projet:platine_sequenceur:platine_sequenceur_004_puredata.png?direct&600|}} | ||
+ | |||
+ | {{ :openatelier:projet:platine_sequenceur:platine_sequenceur_004_puredata.zip |}} | ||
+ | |||
+ | ==== Disque ==== | ||
+ | |||
+ | Un modèle de disque 33T à imprimer en A3, à l'échelle avec les 6 pistes correspondant à la position des capteurs. | ||
+ | |||
+ | {{ :openatelier:projet:platine_sequenceur:modele_disque_gradue_a3_2.pdf |}} | ||
+ | |||
+ | Les rythmes sont à dessiner dans le sens inverse des aiguilles d'une montre (lévogyre!), le disque tournant dans le sens des aiguilles (dextrogyre) | ||
+ | |||
+ | Pour mémoire, distances des capteurs avec le centre du disque : 4,7 / 6,4 / 8,1 / 9,7 / 11,3 / 12,9 et les disques font 27,8 cm de diamètre (pour ne pas déborder du plateau, un vinyle format 33t fait 30 cm) | ||
+ | |||
==== Problèmes, améliorations, etc. ==== | ==== Problèmes, améliorations, etc. ==== | ||
- | Le signal des phototransistors est très parasité | + | Le signal des phototransistors est très parasité : \\ |
- | -> alimenter séparément les leds : **testé, et cest beaucoup mieux** | + | -> alimenter séparément les leds : **testé, et c'est beaucoup mieux** \\ |
- | -> utiliser la source de tension de référence 1.1V incluse dans l'arduino pour la capture analogique (plutôt que VCC) | + | -> utiliser la source de tension de référence 1.1V incluse dans l'arduino pour la capture analogique (plutôt que VCC) (pas testé) \\ |
- | -> traiter le signal (moyenne, etc) et envoyer moins de messages série | + | -> traiter le signal (moyenne, etc) : **un lissage 85-15 est appliqué** (voir https://www.openprocessing.org/sketch/686436 ) \\ |
- | -> mesurer les temps pour trouver un timing précis | + | |
+ | Autres améliorations possibles : \\ | ||
+ | -> envoyer des messages série plus courts\\ | ||
+ | -> mesurer les temps pour trouver un timing précis \\ | ||
+ | -> tous les phototransistors ne réagissent pas de la même manière : **réglé en ajoutant des seuils définissables dans le patch pure data** \\ | ||
+ | |||
+ | Ajouter quelques composants complémentaires (on verra plus tard) | ||
+ | * un bouton pour lancer une calibration à n'importe quel moment | ||
+ | * un switch pour basculer de mode "traceur série arduino" / "réception pure data" | ||
+ | * une led pour indiquer tout ça | ||
===== Sources et ressources ===== | ===== Sources et ressources ===== | ||
Datasheet du phototransistor Osram Opto SFH 309 : {{ :openatelier:projet:platine_sequenceur:phototransistor_osram-opto_sfh309.pdf |}}\\ | Datasheet du phototransistor Osram Opto SFH 309 : {{ :openatelier:projet:platine_sequenceur:phototransistor_osram-opto_sfh309.pdf |}}\\ | ||
Utilisation des phototransistors, un bon exemple : https://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2010/yl477_my288/yl477_my288/index.html \\ | Utilisation des phototransistors, un bon exemple : https://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2010/yl477_my288/yl477_my288/index.html \\ | ||
+ | Utilisation basique des phototransistors avec arduino : https://arduino103.blogspot.com/2017/12/comment-utiliser-un-photo-transistor.html \\ | ||
+ | Groove Pizza : https://apps.musedlab.org/groovepizza/?museid=ucEbu-1J6& \\ | ||
+ | Pocket Operations, a collection of drum patterns (pdf à télécharger sur https://shittyrecording.studio \\ | ||
+ | rhythm patterns : https://www.ethanhein.com/wp/2013/my-collection-of-transcribed-rhythm-patterns/ \\ | ||
+ | Drum machine patterns : http://808.pixll.de/ \\ |