Arduino: Electronic and Music

Workshop-Doku-Digital

ARDUINO WORKSHOP, 17.01.2015, KUNSTMUSEUM BAYREUTH
Passend zur aktuellen Peter Vogel Ausstellung im Bayreuther Kunstmuseum sollte der Arduino Workshop an das Thema Sound – Interaktivität angelehnt werden.
Mittels eines Helligkeitssensors soll je nach Helligkeit ein Ton wiedergegeben werden.

Mit einfachsten Mitteln sollen die Teilnehmer an das Programmieren mit Arduino herangeführt werden. Hierzu wurde ein mehrstufiges Konzept mit aufeinander aufbauenden Teilaufgaben zur Vermittlung der Inhalte erarbeitet, welches in einem zweistündigen Workshop an Interessierte vermittelt wurde. Am Ende dieses Eintrages steht die gesamte Dokumentation zum Download.

Workshop-Team: Michael Zöllner, Julian Leupold, Alexander Roidl

 

DER FLYER

Zunächst wurde ein Flyer für die Veranstaltung im Kunstmuseum Bayreuth erstellt.

Flyer

 

DER ABLAUF

  • Einführung von Prof. Michael Zöllner
  • Installation der Arduinosoftware
  • Praktische Anwendung
  1. Grundlegend LED Blinken
  2. Sound
  3. Sound Flickern
  4. Sound Melodie
  5. Sound mit Sensor
  6. Sound mit Helligkeitssensor
  7. Sound mit Poti

     Erweitert

  1. He‘s a Pirate
  • Ausblick

 


 

EINFÜHRUNG

Professor Michael Zöllner startet den Workshop mit einem kurzen Vortrag zur Geschichte, Entwicklung und Anwendung des Arduino Boards, sowie der Software.

 

INSTALLATION

Alle Teilnehmer installieren zunächst die kostenlos erhältliche Arduino Software auf ihrem Laptop, oder machen sich mit den von uns bereitgestellten iMacs vertraut.

http://arduino.cc/en/Main/Software

 

ANWENDUNG

Im Folgenden stellen die Workshopleiter die gestaffelten Aufgaben vor und führen die Gäste in den Code und die praktische Umsetzung ein. Jedes der folgenden sechs Beispiele wird wie folgt vorgeführt:

  • Mittels Beamer wird in der Fritzing-Software gezeigt,wie das Arduino Board konfiguriert werden muss
  • Der Code wird präsentiert, erklärt und den Teilnehmern übergeben
  • Der gezeigte Aufbau wird nachgebaut und der vorgestellte Code in Arduino eingetippt
  • Überprüfen des Codes durch die Workshopleiter und das Kompilieren
  • Das Board wird per USB an den Computer angeschlossen, die Auswahl des richtigen USB Ports ist zu beachten
  • Die Daten werden übertragen, der Code wird ausgeführt
  • Um den Lerneffekt zu vertiefen hat jeder die Möglichkeit, den vorgegebenen Aufbau experimentell zu modifizieren
  • Bei Fehlschlägen, bzw. Fehlermeldungen helfen die Leiter bei Korrekturen

 

AUFGABE 01 / 05 – LED BLINKEN
Eine LED wird zum leuchten und blinken gebracht.
An Pin 13 wird Strom ausgegeben und die LED so bei geschlossenem Stromkreis zum leuchten gebracht. Der Pluspol wird dabei an den digitalen Ausgang und der Minuspol an den GND (Ground=Erdung) angeschlossen.

LED Blinken

VERWENDETER CODE


int led = 13;

void setup()
{
pinMode(led, OUTPUT);
}

void loop()
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}


 

AUFGABE 02 / 05 – SOUND FLICKERN
Statt dem Blinken einer LED bringen wir das Soundmodul (Piezo) zum ertönen.
Genau wie beim LED wird das Soundmodul mit dem entsprechenden Plus-/ Minuspol an das Arduinoboard angebracht. Die vom Piezo erzeugten Töne, welche durch Frequenzen definiert werden, können dabei ein Spektrum annehmen, welches für das menschliche Ohr von 20 bis 20.000 Hertz hörbar ist.

Sound Flickern

VERWENDETER CODE


int led = 13;

void setup()
{
pinMode(led, OUTPUT);
}

void loop()
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}


 

AUFGABE 03 / 05 – SOUND MELODIE
Durch die Aneinanderreihung von Tönen kann eine Melodie generiert werden.
In der PDF findet sich an dieser Stelle als Beispiel die Melodie “He’s a pirate” von Hans Zimmer. Im folgenden ist ein Auszug aus dem vollständigen Code zu sehen.

VERWENDETER CODE


int speaker = 11;

void setup()
{
}

void loop()
{
tone(speaker, 220);
delay(200);
noTone(speaker);
delay(4);
tone(speaker, 261);
delay(200);
noTone(speaker);
delay(4);
tone(speaker, 392);
delay(200);
noTone(speaker);
delay(4);
tone(speaker, 329);
delay(400);
}

Frequenzen der Töne:
Frequenzen

 

 

 

 

 

 

 

 

 


 

AUFGABE 04 / 05 – SOUND SENSOR
Die Tonhöhe wird entsprechend der Umgebungshelligkeit angepasst
Der Helligkeitssensor nimmt die Helligkeit der Umgebung auf und gibt die erhaltenen Informationen an das Arduino Board weiter. Mit Hilfe des Codes können die Helligkeitswerte zu Frequenzen umgerechnet werden, welche dann als Ton ausgegeben werden.

Sound Sensor

VERWENDETER CODE


int speakerPin = 13;
int Sensor = 0;

void setup()
{}

void loop()
{
int reading = analogRead(Sensor);
int pitch = 200 + reading / 2;
tone(speakerPin, pitch);
}

 

VARIATION MIT POTI
Zur Steuerung der Tonhöhe kann anstatt eines Lichtsensors auch ein Drehregler (Poti) zum Einsatz kommen

Variation mit Poti

 


AUFGABE 05 / 05 – SERVO SCHLAGZEUG
Durch Drehung des Servos kann ein Schlagzeug simuliert werden
Nach Import der Servo library kann der Servo um eine bestimmte Gradzahl gedreht werden. Wird diese Bewegung gleichmäßig wiederholt entsteht ein rhythmischer Taktgeber.

Servo Schlagzeug

VERWENDETER CODE


#include
Servo myservo;

void setup()
{
myservo.attach(9);
}

void loop()
{

myservo.write(90);
delay(100);
myservo.write(120);
delay(100);
}


 

AUSBLICK

Was kann aus dem Workshop gelernt werden?
Was ist verbesserungswürdig? Folgend bieten wir eine Analyse unseres Workshops und der damit verbundenen Erkenntnisse.

Ausblick

 

DAS LIEF GUT

Verschiedene Punkte liefen besonders erfolgreich: So haben die durchgeführten Experimente durchwegs immer funktioniert und auch Komplikationen und Fragen konnten dank dem Teilnehmer – Betreuer Verhältnis aus dem Weg geräumt werden. Die räumlichen Gegebenheiten und die Präsentation mittels Beamer unterstützten dies. Die überschaubare Teilnehmergröße und die im großen Umfang zur Verfügung stehende Hardware schuf eine sehr angenehme Atmosphäre, wodurch auch die Freude der Teilnehmer am experimentieren geweckt wurde. Nicht ausschließlich wegen dem Bezug zur aktuellen Ausstellung von Peter Vogel war das Interesse der Teilnehmer geweckt, sodass auch am Ende des Workshops weiterführende Fragen gestellt wurden.

VERBESSERUNGSWÜRDIG

Stellenweise fiel es den Teilnehmern in der Kürze der Zeit schwer, den vorgegebenen Code zu verstehen und zu modifizieren. Vielleicht hätte hier ein Arbeitsblatt mit Codefragmenten/- erklärungen geholfen. Darüber hinaus ist fraglich, ob die angesprochene Zielgruppe durch die gewählte Promotion entsprechend erreicht wird und ob diese dadurch eingeschränkt, oder erweitert wird.

 

Arduino-Workshop-Bayreuth-6

Hier gibt es die komplette PDF als Webansicht,
oder über den Downloadbutton als hochauflösende Printversion (von Dropbox).
Download