Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
collabsynth:triggerwand [2022/05/05 13:01] – fmas | collabsynth:triggerwand [2022/05/10 14:17] (aktuell) – [Umsetzung] fmas | ||
---|---|---|---|
Zeile 41: | Zeile 41: | ||
===== Umsetzung ===== | ===== Umsetzung ===== | ||
- | Während der Umsetzung haben wir uns dafür entschieden, dass wir vorerst auf die Farbkodierung zu verzichten. Somit erhöht sich die Anzahl der Sensorpositionen von zwei pro Arduino auf bis zu sechs pro Arduino. Auf diese Weise konnten wir einen Prototypen mit 16 Sensorpositionen (d.h. 16 Fotoresistoren) mit nur 3 Arduinos bauen: | + | Während der Umsetzung haben wir uns dafür entschieden vorerst auf die Farbkodierung zu verzichten. Somit erhöht sich die Anzahl der Sensorpositionen von zwei pro Arduino auf bis zu sechs pro Arduino. Auf diese Weise konnten wir einen Prototypen mit 16 Sensorpositionen (d.h. 16 Fotoresistoren) mit nur 3 Arduinos bauen. Statt einem Mikrocontroller als USB-Host verwenden wir nun einen Raspberry Pi um die Werte von den verschieden Arduinos bzw. Sensoren zu aggregieren und zu verarbeiten. |
{{ : | {{ : | ||
- | Prototyp eines Sensormoduls: | + | Das Bild zeigt die Rückseite des ersten Triggerwand-Protoypen. Wir haben eine 8x2 Matrix aus Fotoresitoren gebaut, welche einfach direkt in die Pappwand gesteckt haben. Bisher ist es möglich einen externes Gerät zur Sounderzeugung via MIDI anzusteuern. |
- | {{ : | + | |
+ | ==== Prototyp eines Sensormoduls | ||
+ | {{ : | ||
+ | Die Sensoren sollen flexibel auf einem Untergrund befestigt werden können. | ||
+ | |||
+ | ==== Platinenaufbau ==== | ||
+ | {{ : | ||
+ | In der auf dem Bild abgebildeten Version der Schaltung ist noch ein Fehler enthalten, da wir vergessen haben die Fotoresitoren in einer Voltage Divider Schaltung mit den Arduinos zu verbinden. ((https:// | ||
+ | |||
+ | ==== Code ==== | ||
+ | https:// | ||
+ | |||
+ | Unsere Software-Implementierung besteht aus zwei Teilen: C++ Code, der auf dem Arduino läuft und Python Code, der auf dem Raspberry Pi läuft. | ||
+ | |||
+ | Während der Arduino-Code recht simpel ist und auch so bleiben wird, entwickeln wir die Raspi-Code noch weiter. | ||
+ | Der Rapsi-Code ist modular und konfigurierbar konzipiert. Aktuell gibt es Module für folgedne Zwecke: | ||
+ | * Auslesen der Sensordaten | ||
+ | * Verarbeitung der Sensordaten (aktuell Transformation in MIDI Noten) | ||
+ | * Aktuell sind ein einfaches Keyboard und ein einfacher Sequencer implementiert | ||
+ | * Ansteuern des externen MIDI-Gerätes | ||
+ | * Visaulisierung des Sensor-Werte-Matrix im Terminal | ||
+ | |||
+ | ===== Ausblick ===== | ||
+ | |||
+ | * Hardware | ||
+ | * Erweiterung auf 48 Sensoren (bspw. 5x8 oder 3x16, ist aber flexibel) | ||
+ | * Bau von 5 weiteren Arduino-Boards | ||
+ | * Prototyp zu robustem Aufbau | ||
+ | * Transfer auf einen anderen Untergrund | ||
+ | * Fixierung der Platinen, Kabel, etc. | ||
+ | * Experimentieren mit verschiedenen Beleuchtungssituationen | ||
+ | * Software | ||
+ | * Robostere Datenverabeitung (bspw. adaptives Clusteringverfahren zur bestimmung der Trigger-Schwellwerte) | ||
+ | * Ziel ist es, dass sich das System permanent an veränderte Lichtverhältnisse anpassen kann | ||
+ | * Sounderzeugung vollständig auf dem Raspi (oder leistungsfähigerem Computer, falls notwendig) | ||
+ | * Hier müssen wir uns noch damit auseinandersetzen, | ||
+ | * Automatische Zuordnung von I2C-Adressen via eines Konfigurationsmodus, | ||
+ | |||
- | Der aktuelle Platinenaufbau: | ||
- | {{ : | ||