GMU:Arduino Workshop/Projekte: Difference between revisions

From Medien Wiki
m (added arduino category)
 
(No difference)

Latest revision as of 14:34, 7 June 2010

Projektdokumentation des Kurses GMU:Arduino Workshop

Johannes Deich: Der frühe Vogel

Lichtwecker

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

RIMG0093

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

Project
Error creating thumbnail: File missing
Board Configuration

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

Error creating thumbnail: File missing
Arduino_rc


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

Sequencer




Daniel Huhndt: Blindenstock

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

Distanz Sensor

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);
}