display22 - Labor für Interaktion

Archive for the 'Arduino' Category

Workshopwoche im Studiengang Medien-Design/Zeitbasierte Medien der FH Mainz

Samstag, Februar 2nd, 2008

am 18.03. und 20.03.2008

Im Rahmen der Workshopwoche zum Auftakt des Sommersemesters 2008 bieten wir wieder einen Workshop für die Studierenden des Studiengangs Medien-Design/Zeitbasierte Medien an der FH Mainz an.

Skizzieren in Soft- und Hardware

Gemeinsam mit den Teilnehmern entwickeln wir simple interaktive elektronische Objekte von der Idee über verschiedene Stufen der Skizzierung bis hin zur Realisierung in Programmierung, Elektronik und Gehäuse. Dazu bedienen wir uns neben Stift und Papier hauptsächlich der Arduino-Entwicklungsumgebung, sowie Platinenlayout- und CAD/CAM-Software. Auf den funktionalen Prototypen folgt dann die Fertigung in Kleinserie auf einer CNC-Fräse, bestehend aus Platine und Gehäuse.

Zeit/Ort:Di 11-15 Uhr; Do 11-17 Uhr im PCP2 (alter)

Benötigte Vorkenntnisse: keine.

Tip: Workshop: Einführung in Processing von Alexandra Egenolf am Mo 10 – 14 Uhr im PCP1 (neuer)

Relevante Links:
Arduino (Entwicklungsumgebung) http://arduino.cc
EAGLE (Platinenlayout) http://cadsoft.de
Sketchup (CAD / Gehäuse) http://sketchup.google.de


Informationen zur Anmeldung sowie das komplette Programm der Workshopwoche

Update 29.02.2008
Der workshop ist ausgebucht. Bitte nicht mehr anmelden!

Ergebnisse Workshop “Interactive Devices”

Dienstag, Mai 8th, 2007

Im Rahmen der Workshop-Woche «digitale Perspektiven» des Studiengangs Medien-Design / Zeitbasierte Medien an der FH Mainz fand im Namen des Labors unter dem Titel “Interactive devices” eine 3-tägige “Einführung in die Erstellung interaktiver Rauminstallationen mit Hilfe der Arduino Hard- und Softwareumgebung” statt.

display22 Workshop

Dank einfacher Syntax und guter Dokumentation (http://arduino.cc/) war die Einführung (Linkliste) schon am ersten Tag weitgehend abgeschlossen. Die Tage 2 und 3 wurden von den Teilnehmern bereits zur Erstellung erster Installationen genutzt.

Entstandene Arbeiten in Wort und Bild:

Knight Rider (Daniel Gelhausen)

Basierend auf dem Arduino-Knight Rider Tutorial

display22 Workshop

Servodingens (Daniel Gelhausen)

Servosteuerung in Abhängigkeit eines Lichtsensors

display22 Workshop

Blubbels (Niklas Armbruster)

Flash-Visualisierung in Abhängigkeit eines Lichtsensors

display22 Workshop

display22 Workshop

Headbang-O-Mat 3000 (Pascal Schneider)

Sounderzeugung (Bassdrum & Snare) in Abhängigkeit eines Entfernungsmesser (Kopfabstand) … Video folgt in Kürze …

display22 Workshop

display22 Workshop

Soundgenerator (Marcel Senkpiel)

Soundgenerator mit 2 Potis und LED->Lichtsensor Feedback-loop

display22 Workshop

display22 Workshop

Nordlicht (mit Anna Schoderer)

Batteriebetriebenes Licht mit Kompassmodul und LED Matrix. Helligkeit variiert in Abhängigkeit von abweichender Ausrichtung nach Norden.

display22 Workshop

display22 Workshop

Workshop “Interactive Devices”

Dienstag, Mai 8th, 2007

Arduinoprogrammierung, Breadboards und elektronische Bauteile im Rahmen der Workshop-Woche “digitale Perspektiven” des Studiengangs Medien-Design / Zeitbasierte Medien an der FH Mainz.

Workshop Interactive Devices

Allgemeines und Referenz

Inspiration und Anleitungen

Technology Sketches

Interessante Projekte

Semesterendpräsentation Medien-Design WS2007

Donnerstag, Februar 8th, 2007

Artikel aus der Allgemeinen Zeitung Mainz vom Donnerstag, 1. Februar 2007

Wenn Geräusche sichtbar werden

FBAS (PAL) Composite Signalerzeugung

Montag, Dezember 4th, 2006

Wie sollte ein FBAS Signal aussehen?

http://de.wikipedia.org/wiki/FBAS

http://del.icio.us/display22/tvout

Tips zur Signalerzeugung, Timingfragen, Interrupts

JAVA:
  1. /* Delay for the given number of microseconds.
  2. * From D.Mellis for Arduino
  3. * Assumes a 16 MHz clock.
  4. * Disables interrupts, disrupts millis() if used frequently
  5. * note: digitalWrite() executes in 2.5 microseconds
  6. */
  7. void delayMicroseconds(unsigned int us) {
  8.     // calling avrlib's delay_us() function with low values (e.g. 1 or
  9.     // 2 microseconds) gives delays longer than desired.
  10.     //delay_us(us);
  11.  
  12.     // for a one-microsecond delay, simply return.  the overhead
  13.     // of the function call yields a delay of approximately 1 1/8 us.
  14.     if (--us == 0)
  15.     return;
  16.  
  17.     // the following loop takes a quarter of a microsecond (4 cycles)
  18.     // per iteration, so execute it four times for each microsecond of
  19.     // delay requested.
  20.     us <<= 2;
  21.  
  22.     // account for the time taken in the preceeding commands.
  23.     us -= 2;
  24.  
  25.     // disable interrupts, otherwise the timer 0 overflow interrupt that
  26.     // tracks milliseconds will make us delay longer than we want.
  27.     cli();
  28.  
  29.     // busy wait
  30.     __asm__ __volatile__ (
  31.         "1: sbiw %0,1" "\n\t" // 2 cycles
  32.         "brne 1b" : "=w" (us) : "0" (us) // 2 cycles
  33.     );
  34.  
  35.     // reenable interrupts.
  36.     sei();
  37. }


das Problem beim Timing von Interupts beim AVR ist, das der beim Interupt gerade laufende Befehl noch zu Ende abgearbeitet wird. Das kann dann 1, 2 oder 3 Takte dauern. Das habe ich in einem Video-Projekt mal folgendermassen gelöst. -- http://www.mikrocontroller.net/topic/27194#206416

@willi: Dein Ansatz ist schon fast perfekt, die Unsauberkeit mit den verdrehten Rücksprungadressen hast du ja selbst erwähnt. Ich habe das Problem dadurch gelöst dass ich den avr kurz (ca. 1us) vor dem nächsten Zeilenbeginn schlafen schicke, damit kommt der nächste Int. bzw. Syncbeginn mit einer konstanten Verzögerung. -- http://www.mikrocontroller.net/topic/27194#206419

Die Vor, Haup und Nachtrabanten sind ja nun sequenziell immer gleich bei der V-Sync. Diese müssen nun auch immer genau 1024 takte ergeben. das sieht so aus: -- http://www.4freeboard.to/board/thread.php?postid=165811#post165811 -- http://www.4freeboard.to/board/thread.php?postid=165845#post165845

Alarm v2

Dienstag, November 28th, 2006

Alarm v2 enthält zwar etwas weniger Technik als sein Vorgänger, dafür aber erheblich mehr Stil. Verpackt in einen liebevoll umgafferten Pappwürfel ruht es geduldig. Erkennt der integrierte Entfernungsmesser jedoch eine Annäherung auf 50cm oder weniger, springt der Lautsprecher in Aktion. Dieser erzeugt einen nostalgisch 8bit-artigen Ton, moduliert in Abhängigkeit der gemessenen Entfernung.

videoclip

Bestandteile:
Arduino USB Board
Maxbotix Ultraschall Entfernungsmesser
PC Speaker