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.

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

Die Audio-Dateien für den Player werden auf der Mikro-SD- Karte gespeichert und über einen kleinen Lautsprecher abgespielt. Taster ermöglichen es, vor- und zurückzuspringen bzw. die Audio-Dateien zu starten oder zu stoppen. Ein 9V Block stellt die Stromversorgung sicher. Die folgende Abbildung zeigt den kompletten Aufbau.

Dieser Player kann – wie ein Blick in den angefügten Programmcode zeigt – leider nichts mit Stereo-Dateien und dem verbreiteten mp3-Format anfangen. Sie müssen müssen deshalb erst auf dem Computer in eine passende Form gebracht werden.

Programmcode:

#include <SD.h>
#include <TMRpcm.h>
#include <SPI.h>

#define SD_CS_Pin 10

TMRpcm audi;
int pos = 1;
int sus = 5;
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");
  }
}

Für die 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 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 und dann in den Kartenadapter auf dem Breadboard gesteckt werden. Die erste Datei („audio1“) wird automatisch, die anderen werden 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.