ÜBUNG #5

(Abgabe bis Sonntag 10 November 2019, 20:00 Uhr)

ETextil Tooling: Herstellen und Verwenden von eigenen Werkzeugen

Diese Übung besteht aus 3 Teilen:

  • 1) Herstellen von eigenen Werkzeugen
  • 2) Verwenden von eigenen Werkzeugen
  • 3) Bauen eines neuen Sensors

1) Herstellen von eigenen Werkzeugen

Irene baut sich schon seit Jahren eigene Tools for Electronic Textile Crafts. Sie wird euch eine Einführung geben und danach mit euch eine Auswahl an ihren Werkzugen bauen – die ihr abstimmen könnt auf eure eigenen Bedürfnisse (länge der Kabel, art der Anschlüsse….).

Hier sind noch weitere ETextile Tool Beispiele.

2) Verwenden von eigenen Werkzeugen

In Übung #2 haben wir die Arduino BLINK und GRAPH Beispiele zusammengeführt, so dass ein Sensor das Blinken einer LED triggert.

In Übung #3 habt ihr einen Schaltkreis gebaut und Arduino Code geschrieben um mit zwei Sensoren (einen analogen, einen digitalen) zwei verschiedene Sounds zu triggern.

Jetzt wollen wir diesen Schaltkreis aus Übung #3 nochmals bauen und dabei die Werkzeuge, die ihr eben gebaut habt, einsetzen. Der Shaltplan und der Code zu Übung #3 stehen unten.

Matthias Husinsky von der FH St. Pölten hat einen SUPER Online-Kurs über Grundlagen Arduino und Programmierung:

>> Physical Computing Online Kurs

Liest folgende Beiträge duch um euer Wissen aufzufrischen (seine Erklärungen sind wirklich gut!):

Denken in Programmcode

  • Arduino Programmierung
  • Arduino und LEDs
  • Schleifen (for , while)
  • Input-Buttons
  • Die if-Bedingung

Sensoren und Aktoren

  • Sensoren (1)

 

SCHALTPLAN:

 

CODE:

Dieser Code macht sogar 3 sounds mit nur 2 Sensoren:-)

// zwei sensoren (einen analogen, einen digitalen)
// die zwei verschiedene sounds zu triggern

// variablen deklarieren:
char SpeakerPin = 8;
char AnalaogSensorPin = A0;
char DigitalSensorPin = 2;
char AnalogSensorValue = 0;
char DigitalSensorValue = 0;

char sound1 = 1000;
char sound2 = 3000;
char sound3 = 6000;


void setup() {
pinMode(SpeakerPin, OUTPUT);
pinMode(AnalaogSensorPin, INPUT);
pinMode(DigitalSensorPin, INPUT);
Serial.begin(9600); // beginne die serielle kommunikation
}


void loop() {
// lese die sensor werte und speicher sie in die variablen:
AnalogSensorValue = analogRead(AnalaogSensorPin);
DigitalSensorValue = digitalRead(DigitalSensorPin);

// print the sensor values over the serial port:
Serial.print(AnalogSensorValue);
Serial.print(„\t“);
Serial.println(DigitalSensorValue);

// wenn NUR der ANALOGE sensor getriggert ist, spiele sound1:
if (AnalogSensorValue < 500 && DigitalSensorValue == 1) {
tone(SpeakerPin, sound1);
}

// wenn NUR der DIGITALE sensor getriggert ist, spiele sound2:
else if (AnalogSensorValue > 500 && DigitalSensorValue == 0) {
tone(SpeakerPin, sound2);
}

// wenn BEIDE sensoren getriggert sind, spiele sound3:
else if (AnalogSensorValue < 500 && DigitalSensorValue == 0) {
tone(SpeakerPin, sound3);
}

// wenn keiner getriggert ist, spiele keinen sound:
else {
noTone(SpeakerPin);
}
}

 

 

2) Bauen eines neuen Sensors oder Aktuators

In Übung #4 habt ihr Ideen gejagt und Materialien gessammelt und dabei Inspirationen für neue Sensoren und Aktuatoren entdeckt. Nehmt eines dieser Idee-Material kombinationen und baut einen neuen Sensor (analog oder digital) oder einen Aktuator (Lautsprecher, Flap, Flip-dot…).

Wenn ihr wollt:

Schliest diesen Sensor/Aktuator an euren Schaltkreis an.

Wenn ihr einen Sensor gebaut habt, schreibt Code damit der neue Sensor auch einen eigenen Ton macht (3 Sensoren –> 3 Töne).

Wenn ihr einen Aktuator gebaut habt, schreibt Code damit dieser sound macht oder sich bewegt. Ihr könnt hier auch den Transistsor verwenden um die Lautstärke zu verstärken.

// schreibt viele Kommentare in euren Code um zu bescreiben was ihr macht!

 

TRANSISTOR SCHALTPLAN:

TRANSITOR SCHALTPLAN mit 2 SENSOREN (von Robert):

 

Abgaben

Dokumentieret was auch immer ihr macht:

– Photo von euren Werkzeugen

– Photo von eurem neuen Sensor und/oder Lautsprecher

– Skizzen (von eurem schaltkreisen)

– Code (der drei Sensoren liest und drei verschiedene Sounds triggert)