Wie kann ein simpler Messwert, etwas in meiner Ausstellungssituation verändert? In diesem Beitrag schauen wir uns an wie wir serielle Daten eines Arduino Sensors in Max MSP hinein ziehen können. Dies ist Hilfreich als Basis für Interaktion in Ausstellungen, eigene Instrumente zu bauen oder in Performaces eine Möglichkeit zur Interaktion mit unterschiedlichsten Medien zu haben. In diesem Recipie zeigen wir dir wie die Basis funktioniert um aus einem Microcontroller Unit (Arduino) und einem Sensor ein selbstgebautes Interface wird um den Messwert in Max MSP weiter zu verarbeiten.

Wieso sind Sensorwerte Interessant?

Das Messen und gezielte einsetzen von Sensorwerten in deiner Ausstellung erlaubt dir deine Installation, deine Performance oder deine Ausstellungssituation im Allgemeinen interaktiver zu machen. Ein Video z.B. kann dadurch in der Ausstellungssituation einen performativen Charakter bekommen.  Was wenn zum Beispiel dein Video beim betreten eines Laufbandes abgespielt wird und das Laufband eine Videoaufnahme auslöst? Genau geschieht in der Arbeit von Kim Da Motta: «How would I walk, had I never seen a woman walk?

How would I walk, had I never seen a woman walk?

Jede Person hat eine individuelle Gangart. Diese dient der “gait recognition” (Gangarterkennung) als biometrisches Erkennungsmerkmal. Ergänzt werden kann deren Ergebnis mit dem System der “automated gender recognition”, das Personen ins binäre System Mann/Frau einteilt. Diese Prozesse basieren auf Datensets – Sammlungen annotierter Bild-/Videodaten, die dem Training von KI-Algorithmen dienen.

Kim da Motta kritisiert die automatisierte binäre Geschlechtszuschreibung. Sie problematisiert, dass “gait recognition” in Verbindung mit “automated gender recognition” zu einer invasiven Überwachungsmethode führt und Datensets nie divers genug sein werden. Die Autorin stellt die strikten KI-Algorithmen dem fluiden Gender gegenüber.

Die Videoarbeit besteht im Bild aus found footage aus wissenschaftlichen Datensets, Bildschirmaufnahmen und eigenem Material, im Ton aus Datenset-Informationen und Musik. Besuchende der Ausstellung lösen beim Gehen auf einem Laufband sowohl die Arbeit als auch eine Videoaufnahme aus. Diese Videos bilden ein erneutes Datenset. Später sind die Überwachungsvideos auf der Installationsrückwand zu sehen.

Serielle Daten in Max MSP

Serielle Daten sind Daten die dein Arduino Board mit Hilfe eines Sensors misst und in diesem Fall über USB (Universal Serial Bus) an den Computer weiter sendet um dort etwas auszulösen. Im Prozess von Kim`s Arbeit hat sie sich einen Zugang zu Ihrem Laufband verschafft um darin einen Rotary Encoder Sensor zu verbauen.

Einmal installiert registrierte dieser Sensor, die Umdrehungen des Laufbands. Alles was wir in diesem Recipie tun, ist einen Sensorwert abzufangen und ihn in unserem Patch nutzbar zu machen: z.B. ein Video zu spielen oder zu Manipulieren, einen Sound zu generieren oder eine Grafik auszulösen.

Vorbereitung

Bill of Material

  • Arduino Board
  • Sensor
  • Breadboard
  • Jumperwires
  • USB Kabel

Software

Aufbau

Du verbindest dein Arduino mit deinem Sensor. In unserem Beispielcode nutzen wir einen Ultraschall Sensor bei Kim haben wir einen Rotaryencoder verwendet. Du kannst hier jeden Arduino kompatiblen Sensor verwenden. Alles was durch Sensoren Messbar ist, kann somit als Daten Input in Max MSP verwendet werden: Du willst deine Installation über UV Strahlung, CO2 Wert, Bodenfeuchtigkeit, Distanz zum Objekt, Bewegung eines Objekts usw. ansteuern? Kein Problem.

Code

Github Repository – Download

Hier kannst du die Code Beispiele für die beiden Beispiele herunter laden:

Du nimmst dir die entsprechende .ino Datei und lädst den Code auf dein Arduino hoch. Beide Beispiele heissen so ähnlich: «3_Arduino2Max_Sensorname.ino».

Code Upload

Eine Anleitung für den Upload findest du hier. Nachdem du den Code hochgeladen hast clicke auf die Lupe der Arduino IDE und schau dir den Output deines Sensors an.

Troubleshooting Serial Monitor:

Falls dein Programm im Serial Monitor nur komische Zeichenfolgen wiedergibt. Schau an ob die Baudrate des Serial Monitor mit der Baudrate deines genutzten Sketches übereinstimmt.

Code für andere Sensoren

Falls du einen eigenen Sensor anstelle der beiden Beispiele nutzten möchtest gibt es 2 wichtige Dinge zu beachten:

Serial Print

Schreibe den Code des Sensors so um, dass dieser nur die Sensorwerte via Serial.print herausspielt. Wir brauchen wirklich nichts anderes als diesen so herauszulesen damit er im Serial Monitor sichtbar wird.

Baude Rate

Um die Daten im Anschluss im Maxpatch lesen zu können müssen wir uns die Baude Rate unseres Serial Ports merken. Diese findest du in der Setup Sektion des Arduino Sketches.

Max MSP

Endlich kommen wir zum Hauptdarsteller in diesem Recipie: Max MSP.

Ich gehe davon aus, dass dein Arduino Sensor einen Datenstrom mit Messwerten produziert, die in deiner Arduino IDE im Serial Monitor sichtbar sind…

Denn diese Daten werden wir nun in Max MSP abgreifen.
Wichtig: Schliesse den Serial Monitor and der Arduino IDE und öffne erst danach Max MSP.

Öffne den Maxpatch in Max MSP

Im Github Repository findest du den Maxpatcher:

Nach dem du den Patcher geöffnet hast solltest du folgendes sehen:

Dieser Patch basiert auf diesen beiden Tutorials / Blogposts:

Um ein Verständis zu bekommen wie diese Methode im Maxpatch funktioniert, schaut ihr euch am besten folgendes Video kurz an:

Fazit

Diese Methode Serielle Daten zu erzeugen kann sehr hilfreich sein, um diverse Projekte zu realisieren und eure Projekte zu einem «expanded» Media Erlebnis machen.

Falls du noch auf der Suche nach inspiration bist, was mit Max MSP alles machbar ist empfiehlt sich diese Seite:

  • Instructables