Ein einfacher Audioplayer

Die Hauptkomponente für einen Audioplayer ist ein Mikro-SD-Kartenleser. Wer etwas Löterfahrung hat, kann ihn sich selbst herstellen. Dazu wird ein Adapter benötigt, der beim Kauf einer Mikro-SD- Karte oft mit ausgeliefert wird.

An den rückseitigen Kontakten des Adapters wird eine siebenpolige Stiftleiste angelötet, die so über ein Breadboard mit den weiteren benötigten Komponenten zusammengebunden werden kann. Die Anschlüsse zum Arduino in der Abbildung oben von links nach rechts: D12 (MISO) – frei – D13 (CLK) – 3V3 – GND – D11 (MOSI) – D10 (CS).

Wem das nicht gefällt, kann einen handelsüblichen Adapter verwenden.

Er wird zusammen mit Stiftleisten ausgeliefert. Fünf Kontaktstifte werden mit den Anschlüssen 3V3 – D8 – D7 – D6 – D5 verlötet, ein einzelner Stift mit GND auf der gegenüberliegenden Seite. So kann der Adapter auf einem Breadboard platziert und mit einem Arduino Nano und drei Tastern zu einem Player zusammengeschlossen werden. Die folgende Abbildung zeigt diesen Aufbau.

Der Adapter ist transparent dargestellt, um die Anschlüsse zwischen ihm und dem Arduino sehen zu können. Die Punkte, an denen die Stifte des Adapters im Breadboard stecken, sind orange gekennzeichnet. Die nachfolgende Tabelle zeigt – spaltenweise gelesen – wie die Adapter- mit den Arduino-Pins zu verbinden sind:

Adapter3V3D8(CS)D7(MOSI)D6(MISO)D5(CLK)undGND
Arduino3V3D10D11D12D13undGND

Die gewünschten Audio-Dateien müssen auf einer Mikro-SD- Karte gespeichert und in den Adapter-Schacht gesteckt werden. Mit einer geeigneten Programmierung können sie dann über einen kleinen Lautsprecher an Arduino-Pin 9 und GND hörbar gemacht werden.

Drei Taster ermöglichen es, zwischen den Audio-Dateien hin- und herzuspringen sowie das Abspielen zu starten und zu stoppen.

Ein 9V Block stellt die Stromversorgung sicher.

Hier ein Programmcode, der die Funktionalität des Players herstellt. Er startet beim beim Einschalten des Stroms und nach einem Reset selbsttätig mit der ersten Audio-Datei („audio1.wav“).

#include <SD.h>
#include <TMRpcm.h>
#include <SPI.h>
#define SD_CS_Pin 10
TMRpcm audi;
int pos = 1;
int sus = 3;
int vor = 6;
int rueck = 7;
void setup()
{
  pinMode(sus, INPUT_PULLUP);
  pinMode(vor, INPUT_PULLUP);
  pinMode(rueck, INPUT_PULLUP);
  audi.speakerPin = 9;
  Serial.begin(9600);
  if (!SD.begin(SD_CS_Pin))
  {
    Serial.println("SD nicht erkannt");
    return;
  }
  audi.setVolume(5);
  audi.play("audio1.wav");
}
void loop()
{
  while (digitalRead(sus) == 0 || digitalRead(vor) == 0 || digitalRead(rueck) == 0)
  {
    if (digitalRead(sus) == 0)
    {
      audi.pause();
      while (digitalRead(sus) == 0);
      delay(200);
    }
    else if (digitalRead(vor) == 0)
    {
      if (pos < 4)
        pos = pos + 1;
      while (digitalRead(vor) == 0);
      delay(200);
      song();
    }
    else if (digitalRead(rueck) == 0)
    {
      if (pos > 1)
        pos = pos - 1;
      while (digitalRead(rueck) == 0);
      delay(200);
      song();
    }
  }
}
void song (void)
{
  if (pos == 1)
  {
    audi.play("audio1.wav");
  }
  else if (pos == 2)
  {
    audi.play("audio2.wav");
  }
  else if (pos == 3)
  {
    audi.play("audio3.wav");
  }
  else if (pos == 4)
  {
    audi.play("audio4.wav");
  }
}

Wie ein Blick in den Programmcode zeigt, kann der Player nur bestimmte Dateien abspielen. Mit Dateien im verbreiteten mp3-Format beispielsweise kann er nichts anfangen. Sie müssen müssen erst in eine passende Form gebracht werden.

Für eine solche Umwandlung eignet sich das frei verfügbare Programm „Audacity“, bei dem so vorzugehen ist:

  1. In der Kopfzeile unter „Datei“ den Menüpunkt „Öffnen “ aus- und die gewünschte Audio-Datei anwählen
  2. In der Kopfzeile unter „Spuren“ auf den Menüpunkt „Mix“ und „Stereo zu Mono heruntermischen“ klicken
  3. In der Fußleiste unter „Projekt-Rate“ den Wert „16000“ einstellen
  4. In der Kopfzeile unter „Datei“ den Menüpunkt „Exportieren“ „Als WAV exportieren“ anwählen und in dem sich öffnenden Fenster
    • einen Dateinamen (max. 8 Zeichen) kreieren, der auf „.wav“ endet, also beispielsweise „audio1.wav“
    • als „Dateityp“ „Andere unkomprimierte Dateien“
    • als „Header“ „WAV(Microsoft)“
    • als „Codec“ „Unsigned 8-bit PCM“ wählen und auf „Speichern“ klicken

Sollten „Metadaten“ vorhanden sein, können diese gelöscht oder mit einem Klick auf „OK“ übernommen werden.

Die so erstellten Dateien müssen am Computer ins Wurzelverzeichnis der Mikro-SD-Karte kopiert werden. Die erste Datei („audio1“) wird automatisch, die anderen auf Tastendruck abgespielt.

Mit Audacity können können natürlich auch eigene Audio-Dateien kreiert und in dem benötigten Format gespeichert werden. Das Programm nutzt dabei das üblicherweise am PC verbaute Mikrofon.

Nächstes Kapitel >>>>