Ferngesteuerter Audio Sample Player (aka Pupsmaschine)

Warnung: Dieses Projekt kann den Familienfrieden gefährden.

Als ich im Keller einen alten Anrufbeantworter und eine 433MHz Fernbedienung gefunden habe, entstand die Idee, den Kindern einen ferngesteuerten Audio Sample Player zu bauen. Das klingt zunächst nicht nach eine Kinderprojekt. Wenn man als Samples Flatulenzgeräusche aus dem Netz lädt, ist es eines 🙂 .
flatulenz_maschine

Die Hardware:
Ein Arduino Nano (Pro Mini, Uno etc gehen natürlich auch) dient als Kern. Ein Standard-SD Karten Leser für den Arduino kommt zum Einsatz. Ich habe ein Modell mit 3.3V Spannungsregler aber ohne Pegelwandler verwendet; bisher problemlos. Die Schaltung sollte aber genauso mit einem Leser mit Pegelwandler funktionieren. Ein 433MHz Empfänger (z.B. RXB12 oder XY-MK-5V) dient zum Empfang der Signale einer alten 433MHz Fernbedienung für Funksteckdosen. Zur Verstärkung habe ich einen kleinen 3W Audioverstärker mit PAM8403 Class-D Verstärker eingesetzt. Zwei Hinweise zu diesem Verstärker:

  1. Die beiden Audioausgänge keinesfalls parallelschalten.
  2. Der PAM8403 kann maximal mit 5V betrieben werden. Bei 3W Leitung ist das zuviel für den Festspannungsregler eines Nano/Uno etc. Je nach Spannungsversorgung also bitte einen eigenen Festspannungsregler für diesen Verstärker nehmen.

PAM8403
Das Gehäuse eines alten Anrufbeantworters mit 9V Batteriefach und Lautsprecher dient als zu Hause.
Die Audio Ausgabe erfolgt mit einem PWM Pin. Daher muss man mit einem Kondensator und einem Widerstand das Signal glätten, bevor es in den Audio Verstärker geht. Ein Elko entfernt die Gleichstromkomponente.

Alles zusammen ergibt folgendes Schaltbild:
FartMachineCircuit

Die Software:
Den Kern der Software bildet die tmrpcm Bibliothek. Diese muss zur Arduino IDE hinzugefügt werden: https://github.com/TMRh20/TMRpcm/wiki
Mit dieser Bibliothek kann man Samples im WAV PCM Format (16kHz, 8Bit, Mono) wiedergeben. Entsprechende Formate kann man mit diversen Audioprogrammen schreiben. Alternativ gibt es hier einen Online Konverter: http://audio.online-convert.com/convert-to-wav
Die WAV Dateien werden dann in das Hauptverzeichnis der SD Karte gelegt:

  • an.wav –> wird beim Einschalten abgespielt
  • aus.wav –> wird alle 5 Minuten abgespielt, damit die Kinder nicht vergessen, den Apparat wieder auszuschalten
  • 1.wav, 2.wav … –> die Geräusche, die bei Tastendruck abgespielt werden sollen 😉

Der Empfang der 433MHz Signale erfolgt mittels der RCSwitch Bibliothek. Auch diese muss zur Arduino IDE hinzugefügt werden: https://github.com/sui77/rc-switch
Mit den beiden Libraries sollte der Code kompilierbar sein. Dann einfach betreiben und im seriellen Monitor auf die Ausgaben schauen. Wenn man jetzt die Tasten der 433MHz Fernbedienung drückt, werden die empfangenen Codes ausgegeben. Diese kann man dann im Sourcecode (–> ENTER YOUR RF CODES HERE) einsetzen, um die entsprechende WAV Datei auszugeben.
Die SD Library ist bei der Arduino IDE dabei und sollte out-of-the-box laufen.
Und hier ist der Code: Pupsmaschine
Viel Erfolg & Spass!

Ein Gedanke zu „Ferngesteuerter Audio Sample Player (aka Pupsmaschine)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.