Hallo Folks!
Vorab: Ich bin ein Arduino-Newbie. Vor allem was Programmierung angeht. Aber ich bin kein Newbie, was Schaltungs- und Elektronikbasteleien angeht (also auch den Bau von kleineren Geräten und Tools mit Lötkolben etc.
Ich beginne also gerade erst, mit diversen Arduino-Boards zu expermintieren und zu lernen.
Was Musik-Elektronik angeht, bin ich als Besitzer eines semiprofessionellen DAW- und Homerecording-Studios hingegen kein Anfänger mehr.
Trotzdem: Je weniger Fachchinesisch hier gesprochen wird, desto leichter komme ich damit klar.
Das Problem / die Aufgabenstellung:
Ich plane, etwas zu entwickeln und - sofern nicht zu kompliziert - zu bauen, was auf der Bühne zum Einsatz kommen soll. Grob gesagt ein "physical-action to midi-interface". Simpelstes Beispiel: Auf der Bühne wird eine Tür geöffnet und geschlossen. Beim Öffnen der Tür soll ein Soundfile über die Bühnen-PA abgespielt werden (z.B. Türquietschen und hereinwehender Wind), wenn die Tür in's Schloß fällt, soll ein anderes File (Tür-zu-Geräusch) von der Tongebenden Quelle (Rechner des Theaters mit Studiosoftware) getriggert werden und über die PA ertönen.
Über die Technik auf seiten der Tonquelle (Theater-Ton-Rechner, Hardware, Software) muss man sich hier keine Gedanken machen.
Was ich suche bzw. bauen mag, betrifft vielmehr die Hardware & Software und Verbindung/Signalwege der Teile, die auf der Bühne (verborgen) im Bühnenbild untergebracht werden und vor allem das Arduino-Modul, welches letzlich die Signale der Signalgeber von der Bühne in Midi-Daten übersetzt.
Es braucht also grob gesagt drei Haupt-Komponenten:
- physischer Signalgeber (Lichtschranke, Taster, Schalter) mit oder ohne kleines Arduino-Board (nano o.ä.); vermutlich incl. Stromquelle (Batterie/Netzteil) zum Verbau im Bühnenbild. Hierbei ist ein wenig zu bedenken, dass die Signalverbindung (siehe nächster Punkt) von diesem Schalter (Sender) bis zum Empfänger durchaus sehr lang werden kann (z.B. von der Bühnenbild-Tür durch den Bühnenboden bis zur Rechnereinheit der Tonanlage des Theaters in der Unterbühne oder sogar noch weiter in einen anderen Server-Raum des Theaters über Haustechnik-intern bereits verbaute Wege, wie z.B. Mikrofonleitungen etc.); zu schwache Ströme wären hier nicht gut, da schon etwas Strecke gemacht werden muss.
- Signalverbindung von diesem "Signalgeber" über simple Verbindung (z.b. Klinkenkabel, wie für Mikros). Hier ist wie gesagt zu beachten, dass die zu überbrückende Strecke durchaus lang werden kann und dass bestenfalls vorinstallierte Wege im Theater, wie z.B. Mikrofonanschlüsse oder andere Steuerkabelwege oder zumindest deren DIN-Stecker-Norm verwendet werden können sollten.
- Signalempfänger (Arduino-Modul) mit Eingang (oder noch besser mehreren Eingängen für diese Signalverbindung(en) und Ausgang zur Befehlsweiterleitung in die Anlage (zum Rechner bzw. in das Rechnernetzwerk der Tonanlage des Theaters. Die Ausgabe-Information sollten hierbei programmierbare Midi-Controller-Werte/Daten sein und der hardwareseitige Ausgang sollte ein Anschluß für Midi 5Pin DIN sein.
Gehen wir nur einmal davon aus, dass
- verschiedene Signalgeber verwendet werden können sollen (Lichtschranke, Magnetkontakt, Lichtschranke etc.)
- der Signalempfänger 4 Eingänge hat (also 4 verschiedene Signalgeber [s.o.] zugleich angeschlossen werden können).
Die Programmierung des Arduino-Signalempfängermoduls sollte dann so flexibel sein, dass man nicht nur vier verschiedene Signalgeber gleichzeitig anschliessen kann, die auf 4 unterschiedlichen Empfangs-Kanälen den Schaltzustand EIN/AUS in der Ausgabe auf 4 verschiedene Ausgangs-Midi-Kanäle mit AN (Befehl/Controllerwert 127) und AUS (Befehl/Controllerwert 0) abbilden, sondern denen man z.b. auch andere Channel- und Controller- und Schaltzustandwerte als Ausgabe beliebig zuweisen kann.
Beispiel:
Am Empfängermodul sind alle vier Signalgeber angeschlossen.
Nr.I ist ein Türkontakt und soll auch wie oben beschrieben je nach Schaltzustand immer im Wechsel die beiden Sounds abspielen.
Nr.II ist eine Lichtschranke auf der Bühne. Jedesmal, wenn jemand sie durchläuft, soll ein anderer, zuvor festgelegter Sound abgerufen werden. Beim ersten Mal der Sound mit dem Controllerwert 12, beim zweiten mal der, mit Wert 97, beim dritten mit Wert 73 u.s.w.. Oder auch beim ersten Durchqueren Standard-Midi-Instrument 01, Tonhöhe D2, beim zweiten Standard-Midi-Instrument 05 mit Tonhöhe G1 etc.
Die Ausgabe soll also eine beliebig variierbare, zuvor programmierbare oder festlegbare Dateninfo nach Midi-Standard sein (Kanal, Instrument, Tonhöhe, Tonlänge, Velocity etc. - je mehr Midi Parameter, desto besser), die in Reihe nacheinander abgearbeitet wird, oder sich zyklisch wiederholt oder evtl. sogar einem Zufallsmuster innerhalb einer zuvor definierten Wertebreite von 0 - 127 entspricht.
Nr.III ist ein Schalter auf der Bühne, der auf Druck einen bestimmten Sound immer wieder abspielen soll, sooft der Schalter betätigt wird.
Nr.IV soll nun alle übrigen Schalter in einer Wechselschaltung AN oder AUS, also aktiv/inaktiv oder entschärft/scharf stellen soll.
Ich hoffe, ich habe das einigermaßen verständlich beschrieben.
Jetzt meine Frage:
Mit welchen Boards, Shields und Sketches liesse sich das realisieren? (Es geht hier natürlich eher um Arduino-Module, die letzlich in Gehäusen mehr oder minder fest verbaut und verlötet werden, nicht nur um ein Lehrprojekt am Steckboard).
Wer hat schon mal etwas Ähnliches mit Arduino-Modulen gebaut? (Hilfreich wären dann natürlich auch Links zu Bezugsquellen und Tutorials für den Zusammenbau/die Programmierung etc.)
Wer hat Ideen dazu oder wäre sogar bereit, mir seine Baupläne dazu zu übersenden?
Wenn jemand so etwas schon einmal mit mehr als 4 Signalgebern gebaut hat, dann natürlich ruhig auch gerne her mit den Ideen/Plänen. Die Zahl Vier bezog sich nur auf das Beispiel. Ich freue mich auch über Ideen/Tips zu einem solchen Projekt mit mehr oder weniger "Kanälen".
Ich bin für jede Idee, jeden Hinweis, jede Sketch, jeden Tip und jeden Bauplan dankbar ... und wenn's zum Erfolg führt, dann gibt's für Interessierte auch mal Freikarten, sofern ich das ganze zum Laufen bringen kann!