Anzeige

Anthrophobia – Licht- und Toninstallation

Wir als Menschen interagieren mit Objekte aus sehr verschiedenen Gründen. Wir drücken den Schalter des Toasters herunter, um Weißbrot zu toasten, wir öffnen die Autotür, um zum Supermarkt zu fahren, wir drücken die Netflix-Taste, um unterhalten zu werden. Doch welchen Grund haben Objekte, um mit uns zu interagieren?

Anthrophobia »The fear of People«beschäftigt sich genau mit dieser Frage. Es handelt sich um eine Licht- und Soundinstallation, die in der Dunkelheit schlummert und nicht gestört werden möchte. Nährt sich eine Person, reagiert sie aggressiv abweisend.

So erhält das Objekt ein Wesensmerkmal und wird zum aktiven Darsteller.

Bauteile

Schaltplan

Schaltung zur Verwendung von LEDs.
Schaltung für 12V Lampen mit externem Netzteil. Die Lampen werden an die Schraubklemmen angeschlossen.

Code

/* Code für Anthrophobia – ein Teensy 3.2 MIDI-Interface */

int theLedPins[] = {2,3,4,5,6,7};     // wo sind die LEDs angeschlossen
int theNotes[] = {52,52,52,52,52,52,90,53};   // definiert, welche Noten gespielt werden
int numOfLeds = 6;
int sensorPin = A1;                   // wo ist der Sensor angeschlossen

int myThresholds[] = {200,300};       // Stufen, an denen die Installation reagiert

void setup() {
  Serial.begin(9600);
  for (int i=0; i<numOfLeds; i++){
    pinMode(theLedPins[i], OUTPUT);   // Leds als Output deklarieren
  }
}


void loop() {
  int myValue = analogRead(A1);  // auslesen des Sensors

  zeigeSensorwert(myValue); // zeigt Sensorwert als Textzeichen im Seriellen Monitor
  
  if (myValue < myThresholds[0]){
    Serial.println("Attractor Mode");
    if (random(100)%5==0){
      int theLED=random(6);
      digitalWrite(theLedPins[theLED], HIGH);
      usbMIDI.sendNoteOn(theNotes[theLED], 127, 1);
      delay(20);
      usbMIDI.sendNoteOff(theNotes[theLED], 127, 1);
      digitalWrite(theLedPins[theLED], LOW);  
    }
  } else if (myValue < myThresholds[1]){
    Serial.println("Detect Mode");
    usbMIDI.sendNoteOn(theNotes[6], 127, 1);
    for (int i=0; i<6; i++){
      digitalWrite(theLedPins[i], HIGH);
    }
    delay(1000);
    for (int i=0; i<6; i++){
      digitalWrite(theLedPins[i], LOW);
    }
    usbMIDI.sendNoteOff(theNotes[6], 127, 1);
    delay(random(5000));
  } else {
    Serial.println("Defense Mode");
    if (random(100)%5==0){
      int theLED1=random(6);
      int theLED2=random(6);
      while (theLED1==theLED2){
        theLED2=random(6);  
      }
      digitalWrite(theLedPins[theLED1], HIGH);
      digitalWrite(theLedPins[theLED2], HIGH);
      usbMIDI.sendNoteOn(theNotes[7], 127, 1);
      delay(random(500)+100);
      usbMIDI.sendNoteOff(theNotes[7], 127, 1);
      digitalWrite(theLedPins[theLED1], LOW);
      digitalWrite(theLedPins[theLED2], LOW);  
    }
  }

  delay(100);
}


void zeigeSensorwert(int theValue){
  Serial.print(theValue);Serial.print("\t");
  for (int i=0; i<theValue; i+=10){
    Serial.print('*');
  }
  Serial.println();  
}

Dieses Projekt ist von Paul Svoboda entwickelt worden, der es StartHardware freundlicher Weise zur Verfügung gestellt hat. 

Hier geht es zur Projektwebsite.


Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book an!

Darin findest du die beliebtesten Arduino-Projekte von StartHardware. Jedes Projekt umfasst Schaltplan, Bauteile, Beschreibung und Code. Für Einsteiger gibt es ein Arduino-Schnellstart-Kapitel und einen kompakten Programmierkurs. Zusätzlich findest du Zwischenkapitel mit Expertenwissen zu den Komponenten, die verwendet werden. Alle Code-Beispiele gibt es natürlich als Download.

Weitere Informationen findest du auf der Produktseite. Klicke jetzt auf den Button, um Details anzusehen.


Welches Projekt würdest du gern auf dieser Seite finden? Worüber soll ich schreiben? *


Stefan Hermann

Ich bin Stefan und arbeite seit 2007 mit Arduino. Als Designer und Produktmanager setze ich das Board in erster Linie zum Bau von Prototypen ein. Hier teile ich meine Faszination und Erfahrung mit dir!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.