Projektdokumentation des Kurses GMU:Arduino Workshop
Johannes Deich: Der frühe Vogel
Mit der Installation „Der frühe Vogel“ wird die Lichtintensität im Raum durch einen hochfrequenten sich wiederholenden Signalton wiedergegeben. Je stärker das Licht zunimmt, desto kürzer wird die Pause zwischen der Wiederholung des Signaltons.
Die Verpflichtung gegenüber den erzwungenen Aufweckprozeduren, so wie wir sie kennen, wird aufgebrochen und neu organisiert. Mit der Bindung an den natürlichen Rhythmus der aufgehenden Sonne, entsteht eine Neue und unbestimmte Art des wach Werdens.
Christian Groß: blinkDrawer(); v0.2
Der blinkDrawer(); in seiner der ersten Version besteht aus 8 LED´s und diese werden zeitversetzt so an und aus geschaltet, dass bei einer Langzeitfotografie Bilder oder Texte entstehen.
Bauteile
- 1 Arduino
- 8 rote Leds
- 9 Wiederstände
- 1 Button
- Kabel
- Batterieanschluss für USBlose Stromversorgung
Software
Die Software ist in Processing programmiert. Mit ihr kann man den Text gestalten, speichern und wieder in das Programm laden. Ist der Text so wie gewünscht, kann man ihn per USB auf den Arduino übertragen und los geht es.
Update
In der Version 0.2 braucht man das Processing Zeichenprogramm nicht mehr, da der Arduino selbst immer wieder neu 9x9 teilige Invader Figuren generiert. Dazu habe ich eine weitere LED und Wiederstand verbaut.
Andreas Vorwerk: midijockey
Ein Interaktive Midijockey. Die rechte Hand steuert die Geschwindigkeit, während die linke Hand die Tonhöhe einer Melodie verändert. Das ganze funktioniert über zwei Photosensoren die durch Interaktion die Melodie verändert und eine Variation zulässt.
Als Basis dient im Arduino-Code eine e-Moll Tonleiter die fortwährend gespielt wird. Der Ton wird über ein Piezo ausgegeben. Durch einen regelbaren Wiederstand lässt sich die Lautstärke einstellen.
Bauteile
- 1x Arduino
- 1x Breadboard
- 2x Widerstände
- 2x Photosensoren
- 1x 25k Ohm Potentiometer
- 7x Steckverbindung
Katarina Sengstaken: Distance Sensing LED Wall Sculpture Art Project
Concept
Using Sonar Range Finder Sensor and BlinkM’s with an Arduino. The concept behind this project is to have the BlinkM's change according to range data from the Sonar Sensor.
This initial project relies on the built in light scripts on the BlinkM's to create a water-like light pattern at the beginning, then as objects or people get closer to the range senor the BlinkM's shift from the water script to another random script, from Random colors, to candle simulation, to bright blue flash. Since the BlinkM is an I2C slave you can connect them all together and plug them into the Analog In 4 and 5 on the Arduino board and once they are named they can receive separate orders while all being connected to each other.
Supplies
- Wire: red, black, yellow, white (you’re going to need approx. 12 feet of wire)
- 1 LED
- 8 BlinkM’s
- 1 LV-MaxSonar®-EZ0™ High Performance Sonar Range Finder
- 2 512 Resistors
- Bread Board
- Arduino
- Balsa Wood of assorted thicknesses
- Vellum: 4 sheets of a heavy weight so it is durable
- Hot Glue Gun
- Tape: electrical, masking
Video
<videoflash type="youtube">GVsAmxjg6N4|400|300</videoflash>
Links
Please Check out my website for the code, pdf downloads, and the data sheets for the devices: Website
Dennis Leitmeyer: Arduinocar
Das Arduinocar ist entstanden bei dem versuch mir eine möglichst einfache, bewegliche Basis, für weitere Roboprojekte zu bauen. Die Steuerung des RC-Autos ist ohne H Brücken und ohne komplizierte Programmierung realisiert. Das funktioniert indem vier Relais vom Arduino auf oder zu geschalten werden können. Diese Relais schließen den Stromkreis der Fernbedienung des RC-Autos.
Sequencer
Daniel Huhndt: Blindenstock
Der Blindenstock misst Entfernungungen vom Benutzer zu Objekten, oder Hindernissen bis zu einem Abstand von 150cm. Als Feedback wird ein Warnton ausgegeben, welcher mit geringer werdendem Abstand schriller wird und in kürzeren Intervallen auftritt. Außerdem geben fünf LEDs Aufschluss darüber, wie weit ein Hindernis entfernt ist.
Bauteile
- 1 Breadboard
- 1 Arduino
- 1 Sharp GP2Y0A02YK0F Distanz Sensor
- 1 Piezo Speaker
- 5 LEDs
- Kabel
- 1 9V Block + Verbindung zum Arduino
Sharp Distanz Sensor für Fritzing
Der Sharp GP2Y0A02YK0F Distanzsensor als Bauteil für Fritzing zum heruterladen:
media:Sharp_GP2Y0A02YK0F.fzpz.zip
Mehr Informationen zum erstellen von eigenen Bauteilen für Fritzing unter:
http://fritzing.org/learning/tutorials/creating-custom-parts/parts-editor/
Code
#define LED1 3 //Rot #define LED2 5 //Orange #define LED3 6 //Gelb #define LED4 7 //Grün #define LED5 8 //Weiß #define DISTANCE 2 // distance Sensor on analog Pin 2 #define SPEAKER 9 // float val = 0; // variable to store the value coming from the distance sensor int tempo = 300; void setup(){ pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED3,OUTPUT); pinMode(LED4,OUTPUT); pinMode(LED5,OUTPUT); pinMode(SPEAKER, OUTPUT); Serial.begin(19200); Serial.println("ready"); } void loop(){ val = analogRead(DISTANCE); Serial.println(val); if (val > 500){ val = 499; } if (val > 400 && val < 500) { digitalWrite(LED1, HIGH); // sets the LED on digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); digitalWrite(LED4, LOW); digitalWrite(LED5, LOW); } if (val > 300 && val < 400) { digitalWrite(LED1, LOW); // sets the LED on digitalWrite(LED2, HIGH); digitalWrite(LED3, LOW); digitalWrite(LED4, LOW); digitalWrite(LED5, LOW); } if (val > 200 && val < 300) { digitalWrite(LED1, LOW); // sets the LED on digitalWrite(LED2, LOW); digitalWrite(LED3, HIGH); digitalWrite(LED4, LOW); digitalWrite(LED5, LOW); } if (val > 100 && val < 200) { digitalWrite(LED1, LOW); // sets the LED on digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); digitalWrite(LED4, HIGH); digitalWrite(LED5, LOW); } if (val > 0 && val < 100) { digitalWrite(LED1, LOW); // sets the LED on digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); digitalWrite(LED4, LOW); digitalWrite(LED5, HIGH); } delay(0); for (int i = 0; i < 1; i++) { playNote(300); } } void playTone(int tone, int duration) { for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(SPEAKER, HIGH); delayMicroseconds(tone/2); digitalWrite(SPEAKER, LOW); delayMicroseconds(tone/2); } } void playNote(int duration) { playTone(2500 - val * 4, duration); }