Arduino: Bananen-Klavier

Zielgruppe

Ranger- und Roverstufe, Pfadfinderinnen und Pfadfinder

Zielsetzung

Wie kann man mit Früchten, Bleistiftzeichnung oder anderen leitenden Dingen Musik machen?
Was ist ein kapazitiver-Sensor? Wie funktioniert ein kapazitiver-Sensor?

Dauer

ca. 60 Minuten

Material

  • Arduino Uno
  • Breadboard
  • Widerstand – 5 MΩ (nicht in der Scoutlab-Box enthalten)
  • Piezo-Lautsprecher
  • Kabel
  • Banane

benötigte Bibliothek

Capacitive Sensing Library (https://github.com/PaulStoffregen/CapacitiveSensor)

Wenn du die Bibliothek noch nicht installiert hast:
Wie installiere ich eine zusätzliche Bibliothek?

Aufbau

bananapiano_Steckplatine

Wie funktioniert ein kapazitiver-Sensor?

bananapiano_Schaltplan

Kapazitive Sensoren basieren darauf, dass zwei Elektroden (Sender-Pin & Sensor-Pin) die „Platten“ eines elektrischen Kondensators bilden, dessen Kapazitätsänderung gemessen wird. Hier wird Typ eines Näherungsschalters verwendet.

Näherungsschalter

Die Funktion des kapazitiven Näherungsschalters beruht auf der Änderung des elektrischen Feldes in der Umgebung vor seinem Sensor-Pin. Es wird die Kapazität zwischen dem Sender-Pin und dem elektrischen Erdpotential gemessen. Durch die Annäherung eines metallischen oder nicht metallischen Stoffes an die aktive Zone des Sensors (die Banane vergrößert hier nur die Fläche) vergrößert sich die Kapazität.
Der Arduino vergleicht laufend die Änderung der Kapazität zwischen Sender-Pin und Sensor-Pin.
Vergrößert sich die Kapazität, über einen bestimmten Wert, wird ein Ton (C4) ausgegeben.

Jetzt kann es mit der Programmierung losgehen. Der Arduino liefert eine eigene Entwicklungsumgebung mit. Ihr könnt sie für euren Laptop unter arduino.cc herunterladen. Nach der Installation könnt ihr das Programm öffnen und den Code für das Bananen-Klavier in den Editor kopieren.

#include <CapacitiveSensor.h>

CapacitiveSensor   cs_2_3 = CapacitiveSensor(2,3);        // 5M Wiederstand zwinschen Pins 2 & 3, Pin 3 ist der Sensor-Pin

long NOTE_C4 = 262;
int speakerPin = 13; // Piezo-Lautsprecher an Pin 13 

void setup()                    
{
   
}

void loop()                    
{
    long start = millis();
    long total1 =  cs_2_3.capacitiveSensor(30);
 
    if (total1 > 10000)                  // wird sehr gross wenn der Sensor direkt berührt wird
    {                                   
      tone(speakerPin,NOTE_C4);
    }
    else
    {
     noTone(speakerPin); 
    }
    
    delay(10);                              
}

Download (Arbeitsblatt & Programm-Code)

Für die Übertragung muss zunächst der angeschlossenen Arduino ausgewählt werden. Hierzu unter Tools -> Board das verwendete Board auswählen. (z.B. Arduino UNO)

Board auswählen. Der Boardname steht auf der Platine

Board auswählen. Der Boardname steht auf der Platine

Anschließend sucht ihr den Port, an dem der Arduino angeschlossen ist aus.

Port auswählen

Port auswählen

Upload Code. Unten kann man überprüfen, ob die Übertragung funktioniert.

Upload Code. Unten kann man überprüfen, ob die Übertragung funktioniert.

Der Prozess kann im Bereich Statusmeldungen überprüft werden. Wenn etwas nicht funktioniert, reicht es in der Regel, wenn man die Fehlermeldung bei Google sucht. Irgendjemand hatte bestimmt schon mal das gleiche Problem.

Durch die Berührung der Banane wird ein Ton (C4) über den Piezo-Lautsprecher ausgegeben.

Kommentare sind geschlossen.