Der Abschnitt "Physical Computing" war für mich eine willkommene Abwechslung zum Codieren. Die ersten Erfahrungen mit dem Löten haben mir besonders Spaß gemacht. Es war sehr hilfreich, dass man bei dieser Aufgabe physisch und mit den eigenen Händen arbeiten konnte und zum Schluss ein fertiges Endprodukt erhielt. Das hat den Einstieg und das Verständnis für die Elektrotechnik erleichtert, auch wenn das Thema nicht unbedingt zu meinen größten Stärken zählt.
Blinkenlichten
Das Projekt "Blinkenlichten" wurde als großes Gruppenprojekt ausgelegt, wobei wir Arduino-Boards und LED-Lichterketten einarbeiten sollten. Der Kurs teilte sich in verschiedene Gruppen auf, die jeweils eine Idee ausarbeiteten. Als Oberthema wählte der Kurs "Stadt und Straße" und es wurde sich darauf geeinigt, dass als Baumaterial neben den elektrotechnischen Grundmaterialien nur recycelte Materialien benutzt werden dürfen. Des Weiteren sollte die Szene einem Alptraum ähneln, weshalb die Proportionen der Gegenstände bizarr verändert und vertauscht wurden. Die Licht-Farben wurden auf Rot, Blau und Weiß beschränkt, um die Einheitlichkeit zu bewahren.
Erste Ideen und Umsetzung
Die Elektronik
Gemeinsam verkabelten wir die LED-Kette und der PIR-Bewegungssensor mit dem Arduino-Board. Herausfordernd war dabei, zu verstehen, wo welches Kabel in welchen Pin gesetzt werden musste. Auch das Zusammenlöten der Kabel an die Elektroplatte oder den Sensor gestaltete sich teilweise sehr schwierig. Einige Kabel fielen nach dem Löten wieder ab und ließen sich nicht wieder anbringen. Die Lösung des Problems: mehr Hitze und ein neuer, sauberer Lötaufsatz. Nachdem die elektronische Schaltung vollendet war, wurde sie für die zweite Häuserreihe dupliziert.
Der Code
Bei den ersten Zeilen handelt es sich um Definitionen. So werden die 30 LEDs am Pin 3 des Boards angeschlossen, wobei die Helligkeit der Lämpchen das Maximum von 255 betragen. Außerdem wird der LED-Typ beschrieben und die Farbkonstellationen definiert. Der Term CRGB leds [NUM_LEDS] steht für ein Array, in der die LEDs gespeichert werden. Der Sensor ist auf Pin 2 zugeschaltet und übermittelt den Zustand (pirState) „LOW“. Das heißt, dass gerade keine Bewegung erkannt wurde. Durch val wird dieser Zustand gespeichert. Das void setup()startet die Kommunikation zwischen dem Arduino und dem Sensor, wobei Informationen, wie beispielsweise die Übertragungsgeschwindigkeit (9600) festgelegt werden. Des Weiteren werden Infos über die LED-Art, die verwendeten Pins und die Farb-Reihenfolge an die FastLED-Bibliothek weitergeleitet. Als nächstes folgt die „void loop“-Funktion. Hier zeigt die Funktion entweder pirState == LOW oder val == HIGH an. Ändert sich der Zustand von LOW auf HIGH, wurde eine Bewegung auf dem Bewegungssensor erkannt und das folgende Lichtmuster wird abgespielt: Nacheinander laufen alle LEDs durch, wobei jede dritte Lampe blau und die anderen rot aufleuchten. Dies regelt der Ausdruck leds[i] = (i % 3 == 2) ? CRGB (0, 0, 255) : CRGB (255, 0, 0). Durch delay(700) leuchten die Lampen nacheinander auf. Wenn keine Bewegung mehr registriert wird, wird die Lichterkette mit einer Verzögerung von 2,5 Sekunden wieder dunkel. Der pirState wird auf „LOW“ gesetzt und der Kreislauf beginnt von vorne, wenn eine Bewegung erkannt wird.
Fertigstellung und Reflektion
Sobald der Code fertig geschrieben war und die Elektrik funktionierte, starteten wir einen Testlauf und brachten die Arduino-Boards in den Häusern unter. Die Sensoren wurden auf ein Dach am Anfang der jeweiligen Häuserreihe gesetzt und die Technik wurde im Inneren versteckt. Da wir unglücklicherweise die Häuserteile schon zu Beginn aneinandergeklebt hatten, hatten wir Probleme die Lichterkette durch die Häuser zu ziehen. Deswegen schnitten wir als Verbindung kleine Durchgänge in die Wände der Häuser. Dennoch wurden wir rechtzeitig fertig und die kleine Stadt fügt sich sehr gut in die anderen Projekte ein.
Die Aufgabe war definitiv eine Herausforderung, vor allem wegen dem Zusammenspiel von Programmieren, elektrotechnischem Handwerken und sinnvollem Gestalten. Beim nächsten Mal würden wir als Gruppe jedoch einige Dinge anders machen: Zum einen logisch planen, was wir wann machen, um Fehler zu minimieren und somit schneller und einfacher ans Ziel zu kommen. Zum anderen könnte man den Code erweitern, indem man die Lampen nacheinander ausgehen lässt. Eine weitere Kleinigkeit, die ich persönlich nicht bedacht hatte, ist, dass sich das blaue und rote Licht vermischt, da jedes Haus mehrere LEDs beherbergt. Dadurch entstehen Farben wie Pink oder Violett, was der alptraumhaften Grundidee wiederspricht. Wenn mehr Budget und mehr Zeit vorhanden wären, würde ich den Maßstab der Stadt vergrößern, mehr Häuser bauen und in jedem einen Bewegungssensor einsetzen. Die Häuser würden nur aufleuchten, wenn der Betrachter genau vor ihnen steht. Alles in allem war es ein tolles Gruppenprojekt und jede Idee hat die gruselige Stimmung des Szenarios wiedergespiegelt, was auch gezeigt hat, wie gut der Kurs als Team arbeiten kann.