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.
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
- Teensy 3.2 Board > Tutorial: Start mit Teensy MIDI
- Infrarot-Abstandssensor
- Transistoren (FETs, z.B. IRF640)
- Externes Netzteil (12V – Ist nur für die externen Lampen aus Schaltung 2, das Teensy muss weiterhin per USB versorgt werden.)
- 12V Lampen
Schaltplan
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 freundlicherweise 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
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
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