Anthrophobia

Anthrophobia – Licht- und Toninstallation – Ein Teensy-MIDI-Projekt

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.


Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


Funktionsweise

Ein Infrarot-Entfernungssensor agiert als Input. Darüber wird dann das jeweilige Verhalten ausgelöst. Hierbei Leuchten die LEDs oder Lampen unterschiedlich auf und es wird per USB-Midi ein Midi-Signal an einen Computer oder Synthesizer gesendet.

Bauteile

Schaltplan

Schaltung 1 zur Verwendung von LEDs.
Schaltung 2 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 »Arduino Projekte Volume 1« an!

  • Die beliebtesten Arduino-Projekte von StartHardware
  • Inklusive Schaltplan, Beschreibung und Code
  • Arduino-Schnellstart-Kapitel
  • Kompakter Programmierkurs


2 Gedanken zu „Anthrophobia – Licht- und Toninstallation – Ein Teensy-MIDI-Projekt“

  1. Also so wie in Bild 2 dargestellt, dürfte der Teensy bei Anschluss des externen Netzteils mit 12V gleich in Rauch aufgehen, denn der verträgt in der Version 3.2 lediglich 5V. Also das sollte vielleicht mal korrigiert werden. Und dann vermisse ich die Klangerzeugung, also weder bei der Hardware noch im Programm wird darauf eingegangen, obwohl das in der Projektbeschreibung explizit drin steht.
    Wäre schön, wenn mir das mal jemand erklären könnte. Danke

    1. Hallo Lupin, danke für deine Frage. 12 Volt wären für das Teensy wirklich zu viel. In der Schaltung werden mit den 12 V nur die Lampen aus Schaltung 2 betrieben. Das Teensy läuft weiterhin per USB. Die Klangerzeugung passiert per USB-Midi mittels einer Synthesizer-Software (z. B. Garage-Band, Ableton Live, Logic). Das habe ich jetzt alles noch mal explizit dazu geschrieben und auch den Projekttitel angepasst. Danke für deinen Hinweis und alles Gute, Stefan

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.