Spieluhr

Spieluhren können sich in Schmuckschatullen für Erwachsene oder in Kuscheltieren für Kinder verbergen. Der Phantasie sind da keine Grenzen gesetzt. Das Gemeinsame liegt darin, dass bei rechtem Gebrauch von dem Gegenstand einfache Melodien erzeugt werden.

Mit einem Arduino, einem 5-Tasten-Keyboard, einem Piezo-Buzzer und einigen Steckbrücken lässt sich so etwas leicht realisieren

Hier zunächst eine Übersicht, wie die Teile zu verdrahten sind:

Arduino   <-->   5-Tasten-Keyboard

5V        <-->   VCC (rotes Kabel)
GND       <-->   GND (schwarzes Kabel)
A0        <-->   OUT (gelbes Kabel)

Arduino   <-->   Piezo-Buzzer

D8        <-->   (+) (rotes Kabel)
GND       <-->   ( ) (schwarzes Kabel)

Der nachfolgende Programmcode soll als einfaches Beispiel dienen, wie eine Folge von Tönen durch Drücken entsprechender Tasten ausgegeben werden können.

int tastenwerte[5] ={50, 200, 400, 600, 800};
int anzahl = 5;
int messwerte;
int taste =-1;
int altertaste =-1;
void setup()
{
  Serial.begin(115200);
}
void loop()
{
  messwerte = analogRead(0);
  taste = umwandeln(messwerte);

  if (taste != altertaste){
    altertaste = taste;
    if (taste >= 0){
      switch(taste){                                
      case 0:
        Serial.println("1. Taste"); 
        tone(8,262,1000); //mittleres C (262 Hz)
        break;
      case 1:
        Serial.println("2. Taste");
        tone(8,294,1000); //mittleres D (294 Hz)
        break;
      case 2:
        Serial.println("3. Taste"); 
        tone(8,330,1000); //mittleres E (330 Hz)
        break;
      case 3:
        Serial.println("4. Taste"); 
        tone(8,349,1000); //mittleres F (349 Hz)
        break;     
      case 4:
        Serial.println("5. Taste");  
        tone(8,392,1000); //mittleres G (392 Hz)
        break; 
      }               
    }
  }
  delay(100);
}

int umwandeln(int input)
{
  int k;
  for (k = 0; k < anzahl; k++)
  {
    if (input <  tastenwerte[k])
    {
      return k;
    }
  }
}

Die Einbindung von Melodien ist natürlich anspruchsvoller. Hier waren die Ausführungen von Hartmut Waller zielführend, der neben der Spieluhr eine ganze Reihe weiterer Arduino-Projekte auf seinen Internetseiten vorhält.

Da der Programmcode recht umfänglich ist, ist er hier als ZIP-Datei verfügbar. Er bietet auf Tastendruck die folgenden Melodien: Pippi Langstrumpf (Taste 1), Backe, backe Kuchen (Taste 2), Happy Birthday (Taste 3), Bruder Jakob (Taste 4) und Alle Vögel sind schon da (Taste 5).