Technische Umsetzung: verwendete Hard- und Software

Hardware

Nach längerer Suche nach der geeigneten Hardware und Sensorik haben sich am Ende folgende Komponenten durchgesetzt:

  • Arduino Duemilanove
  • Devantech SRF05 Ultraschallsensor
  • natürlich ein halbwegs brauchbares Notebook auf dem die Daten verarbeitet werden
  • Lautsprecher und Mischpult

Arduino Duemilanove:

Das Arduino-Board war die erste Komponente, die feststand. Die Sensoren werden hierüber mit Spannung versorgt. Der wichtigere Teil der Aufgabe den das Arduino-Board hat, ist aber die Verarbeitung der Sensorwerte. Diese werden in der Open-Source-Arduino-Software ausgelesen und anschließend, da ja die Entfernung zur Wand, wo die Sensoren angebracht sind, gemessen werden soll, in cm umgerechnet und so an MAX/MSP weitergegeben. (siehe Kapitel Arduino).

SRF05 Ultraschallsensor:

Den anfänglichen Überlegungen nach, sollte das HMI mit Infrarotsensoren umgesetzt werden. Der Grund, warum schließlich doch Ultraschallsensoren verwendet wurden, ist zum einen das sehr gute Preis-/Leistungsverhältnis und zum anderen die Reichweite, die die SRF05 aufweisen. Diese wird von den meisten Infrarotsensoren nicht erreicht und beträgt bis zu 4 Metern bei einer Genauigkeit von 1 cm, was für diesen Zweck mehr als ausreichend ist.Ausserdem hat der SRF05-Sensor den Vorteil, im 1 Pin-Mode betrieben werden zu können, was die Hälfte an Leitermaterial für die Signalleitungen erspart.

1 Pin-Modus und 2 Pin-Modus:

Entfernungsmessung via Ultraschall funktioniert in der Regel so, dass ein Ultraschallsignal ausgesendet wird, an einem Objekt reflektiert und das reflektierte Signal wieder empfangen wird. Die Zeit, die zwischen Senden und Empfangen des Signals vergangen ist wird gemessen und aufgrund der Tatsache, dass die Schallgeschwindigkeit bekannt ist (343 m/s), kann auf einfache Art und Weise die Entfernung errechnet werden.

Nun wird aber in aller Regel bei Ultraschallsensoren ein Pin für das Senden und einer für das Empfangen verwendet. Dies ist zwar beim SRF05 auch möglich, aber nicht unbedingt notwendig. Er kann also mit nur einem Pin als Signalpin betrieben werden. Dieser wird sozusagen nach jedem Sendevorgang auf Empfang umgestellt und umgekehrt. Dies soll in den folgenden Abbildungen veranschaulicht werden.

2 Pin-Modus 1 Pin-Modus

Natürlich braucht es für die Funktion auch eine Verbindung der Sensoren und des Arduino-Boards. Wie das funktioniert, zeigt die folgende Abbildung. Es wurden hierfür die digitalen Pins 3 bis 7 verwendet.

 

Software

Nachdem die Hardware funktioniert werde ich mich jetzt der Software zuwenden. Zur Verarbeitung der Messdaten wurde, wie bereits erwähnt, Arduino verwendet. Für die Realtime-Soundbearbeitung standen Processing und MAX/MSP zur Auswahl, wobei ich mich nach längerem hin und her für letztere entschloss.