Punkt.Fizen – Android and Arduino powered Bike Navigation

How does one orient oneself while biking, for example as a tourist? You certainly will read traffic signs, ask people for direction or use a tourist-map. But at least the last example will force you to stop the bike. How could we provide a navigation, where the flow remains undisturbed?
The user will need a very unimposing feedback where to go.

Punkt.Fizn is an Android and Arduino powered bike navigation system. Unlike most navigation systems we didn’t focus on a display. Instead directions will be given only through vibrations in the handlebars. Riding a bike with Punkt.Fizn is like knowing your way already.

Read more »

Breathing Pillow

Guideline
The user should be pleasantly guided to sleep to release him from his everyday stress.

Basic idea
Our pillows will relax the user with a rhythmical movement. We believe the rhythm of the breath can be influenced by the cushions move. The pillow adapts the breathing rate of the user and is then, after a while, replacing the movement of the pillow with a slowing, regular rhythm. This transition will happen smoothly. The user is not aware of a new respiratory rate to impose. The rate should be lowered to a normal breathing pattern during sleep. Once the system detects that the user is asleep the pillow stops breathing.

Read more »

Interaction in physical environment

1.0 Einleitung

Im Rahmen unseres Interaction Design Studiums besuchen wir das Modul Interaction in Physical Environments. In diesem Modul geht es um non-visuelle Interaktion im öffentlichen Raum. Jede Gruppe erhielt einen vorgegebenen Ort und Vibrationsboxen, die das akkustische und taktile Feedback auslösen. Unser Team besteht aus den drei Studenten Christoph Brandin, Michael Fretz und Dondup Shelkar. Als Ort unseres Projektes wählten wir die Tramhaltestelle.

Limmatplatz

Read more »

complex – Visual Event Feedback

complex - laptophalter 1

complex – die moderne Art, Informationen und Events vom Computer zu visualisieren. Tauchen auch Sie ein, in eine neue Welt voller Farben…

Fabian Kuhn und Michael Fretz entwickelten eine Art Ambilight mit Echtzeitfeedback von Ereignissen welche gerade auf dem Computer des Anwenders passieren. Ob Skypenachrichten, Musik oder Emails, wenn irgendwas passiert wird dies Farblich dargestellt.
Erster Laserprototyp
Nach den ersten Versuchen mit Karton und Papier haben wir eine Version in Plexiglas gelasert. Mit dem Epilog Laserschneider konnten wir ohne grossen Aufwand die gewünschte Form aus einer Illustrator Datei ausschneiden. Anschliessend haben wir den ausgeschnittenen Umriss noch in die gewünschte Form gebogen. Nun war es uns möglich, mit diesem ersten Modell des Laptophalters konkretere Versuche zu unternehmen. So konnten wir offene Fragen und Probleme klären, zum Beispiel, wie lange der Halter sein sollte, um die gewünschte Lichtmischung zu erzielen  oder wie die Leuchten platziert sein müssen, damit diese einen möglichst schönen und farblich gut durchmischten Hintergrund erzeugen.
Unter Berücksichtigung dieser Erkenntnisse erstellten wir nochmals einen Kartonprototyp, welcher eine schönere und leichtere Form hatte.

complex - laptophalter 2

Schwarzer Laserprototyp
Tags darauf kauften wir im PerPlex Shop schwarzes Plexiglas in der von uns bevorzugten Dicke. Der nun finale Grundriss wurde wiederum ausgelasert und anschliessend in die gewünschte Form gebogen. Mit dem neuen Objekt aus schwarzen Plexiglas sind wir sehr zufrieden. Die Form funktioniert sowohl als eigenständiges Objekt wie auch als Halter für ein Notebook.

complex - laptophalter 3

Programmierung Teil 1
Nachdem der Laptopständer fertig war, mussten wir uns an die Programmierung machen. Zuerst entschieden wir uns, die Software Growl, welche für Apple verfügbar ist, zu verwenden. Diese fängt verschiedene Events des Computers ab und zeigt diese als Meldung auf dem Bildschirm an. Da Growl keine API zur Verfügung stellt, entschieden wir uns, alle Growl Meldungen an eine e-mail Adresse zu senden und diese anschliessend regelmässig zu überprüfen. Wir verwendeten dazu ein Java Programm, welches Philipp Läubli für uns programmierte. Das Programm prüfte alle 10 Sekunden, ob ein neues Email in der Mailbox vorhanden war. War dies der Fall, so sendeten wir den Inhalt des Mails an ein Processing Programm, mit welchem wir den Inhalt des jeweiligen Mails auslesen konnten und dem Inhalt entsprechend verschiedene Stadien an das Arduino sendeten. Wir stellten jedoch fest, dass dieses Vorgehen eine Verzögerung erzeugte und waren deshalb nicht zufrieden. Kurz vor Feierabend kam die Idee auf, nicht über Growl zu arbeiten, sondern die einzelnen Programme direkt anzusprechen.

Über das Skype Python API konnten wir schnell und einfach die Events von Skype abfangen. Vom Python Programm war es dann ein Leichtes, eine Verbindung zu Arduino herzustellen. Nun konnten wir die Skypenachrichten direkt nach dem absenden visuell darstellen.

complex - laptophalter 4
Programmierung Teil 2
Nach der Entscheidung, die einzelnen Programme mit Python direkt anzusprechen, schauten wir verschiedene APIs diverser Programmhersteller genauer an. So kamen zu den Programmen, welche Events auslösen, noch Last.FM und E-mail dazu. Bei Last.FM entschieden wir uns, den Wechsel zwischen verschiedenen Musiktracks zu visualisieren. Ausserdem überprüften wir in der Mailbox, ob ein neues Mail eingetroffen war. War dies der Fall, so sendeten wir ein Signal an das Arduino.

Downloads

Dokumentation
Projektwebseite

Ideogen – Würfel dir deinen Videoclip

Das Projekt Ideogen befasst sich mit einer speziellen Art der Steuerung eines Programms. Mit Hilfe eines Würfels soll eine Eingabe gesteuert werden.

Ideogen in Action

Wieso ein Würfel? Ein Würfel hat etwas unberechenbares, ein Würfel lädt zum Spielen ein, ein Würfel ist eine ungewohnte Art zur Steuerung eines Programms. Und schliesslich „würfelt“ unser Programms auch einen Videoclip zusammen.

Auf unserem Würfel sollte nicht klar erkennbar sein, welche Funktion welchen Prozess auslöst, deshalb ist die Würfeloberfläche mit speziellen Tags versehen. Diese werden mit reacTIVision und einer externen Webcam gescannt und entsprechend interpretiert. Nach der Erkennung eines Tags wird im Programm eine entsprechende Funktion ausgelöst. Die Funktionen sind unterschiedlich und beinhalten Video- und Audioverarbeitung. Ziel ist es, einen Videoclip zu produzieren, in dem man einfach würfelt. Bei den Videofunktionen werden einerseits einzelne Bilder geladen oder man wird von einer zweiten Webcam gefilmt. Die gefilmten Aufnahmen werden als MovieClips gespeichert. Sind mehrere Video vorhanden, werden diese gemixt. Bei den Audiofunktionen wird bei einer Funktion eine Audioaufnahme über ein Mikrophon erstellt. Diese wird nach 5 Sekunden gestoppt und eine AIF Datei daraus erstellt. Eine weitere Audiofunktion ist das zufällige Abspielen einer Audiodatei. Am Ende wird aus all den zusammen gewürfelten Funktionen ein VideoClip produziert und abgespielt.

Ziel des Projektes

Bei unserem Projekt haben wir kein fix fertiges Endprodukt vor Augen gehabt. Viel mehr sollte eine flexibel erweiterbare Videoclipmaschine
erstellt werden. Diese Videoclipmaschine sollte viele in den letzten Tagen gelernte Elemente beinhalten.

Ideogen Table

Ideogen in Action

Fazit
Unsere Idee, die unterschiedlichen erlernten Funktionen von MAX MSP / Jitter / reacTIVision zu verwenden, konnten wir realisieren. Wir
konnten Videotracking, Audio- und Videoverarbeitung verbinden. Das Speichern von einzelnen Audio und Videodateien funktioniert ebenfalls.

Max MSP Ideogen

Printscreen aus einer MAX MSP Datei. Alle MAX MSP Dateien zum downloaden findet man hier:

MAX MSP Dateien

Physical Computing AC – Motor und Servo

Als kleine Übung zum Thema AC Motor haben wir versucht verschiedene drehbare Dinge herzustellen und zu steuern. Resultat war ein Rasierer welcher auch perfekt Papier schneiden konnte. :-)
Physical Computing Rasierer

Als etwas anspruchsvollere Übung konstruierten wir einen Kran mit einer Seilwinde. Dabei kann der Kranarm über einen analogen Drehknopf bewegt werden und über den Mac wird die Seilwinde bedient. Für das Bewegen des Armes verwendeten wir einen Servo-Motor und für die Seilwinde einen AC-Motor.

Schema MAX MSP Lift Steuerung

Schema in MAX MSP

daka_lift.jpg

Seilwinde in Bewegung

Daka Seilwinde

Seitenansicht Seilwinde

Daka Liftsystem

Daka

Physical Computing

Das neue Modul Physical Computing bringt die Schnittstelle zwischen Mensch und Maschine noch ein wenig näher. Mithilfe von MAX MSP und dem DaKa, einem Lowcost USB-Interface machten wir unsere ersten Erfahrungen.

Physical Computing MAX MSP

Zusammen mit Gabriel Süss habe ich eine kleine Steuerung zusammengestellt welche sich durch ein Handklatschen eingeschaltet und abgeschaltet wird. Zwei LEDs fangen dann abwechslungsweise an zu blinken. Im gleichen Zug beginnt auch eine LED Abfolge abzulaufen was ein Durchlaufen eines Lichtes simuliert.
Die Geschwindigkeit des Ablaufes wird durch einen Lichtsensor geregelt.

Physical Computing Licht Sensor

Physical Computing Bewegungs Melder PIR

Nach dieser kleinen Übung haben wir im Klassenverband gearbeitet und haben eine kleine Steuerung für unseren für den nächsten Tag angekündeten Apero erstellt.

Physical Computing DaKa

Eine gute Übersicht über das Projekt findet man auf der offiziellen Projektwebseite der ZHDK
http://iad.projects.zhdk.ch/physicalcomputing/seminare/physical-computing-primer-hs08/dokumentation-hs08/dokumentation-nino/