Arduino WTV020 SD 16P Sound Modul (+ AD4 Converter für MacOS)

Ich benötigte einen einfachen Soundplayer für Arduino. Zuerst habe ich ein Teensy 3.2 für 22€ und das  Teensy SoundBoard für 19€ verwendet, doch ist das nicht gerade eine preiswerte Lösung um etwas kleines zu bauen. Nach einiger Suche habe ich dann das winzige WTV020SD-16P Sound Modul für 5€ gefunden, dass man mit Arduino Code steuern kann. Es ist ein sehr kleines smartes Teil, und ich habe es huckepack genommen auf einen Teensy LC board (10€). Aber es funktioniert auch mit einem Teensy 3.x 1:1. Die zwei Leitungen die man sehen kann ist der Lautsprecher  +/- Connector. Die Soundqualität ist sehr hoch. Das Soundformat ist AD4. Man kann direkt einen Lautsprecher (>= 8 Ohm) anschliessen… ist sehr laut!

Normalerweise ist es einfach das Modul zu benutzen, doch es stellte sich heraus, dass ein paar Hürden zu nehmen sind. Man kann nicht einfach mp3 oder ogg files auf die SDCard packen. Man benötigt AD4 Audio files (ADPCM). Es existieren zwei Tools, aber nur für Windows. Ich bin ein Mac OSX User und das ist der Grund für mein AD4 Converter (MacOS). Mit diesem AD4 Converter kann man sehr einfach wav, ogg und mp3 files in das AD4 format konvertieren. Es limitiert den Audio Level automatisch auf -6dB und konvertiert das File auf 1 Kanal (Mono). Ausserdem wird die 32 Khz Konvertierung automatisch vorgenommen.
Somit braucht man diese ärgerlichen Zwischenschritte nicht selbst erledigen, wenn man ein neues AD4 sound file erstellt.

Die andere Sache ist die SDCard. Ich habe vieles über Probleme mit dem WTV020 Modul gelesen… doch vieles davon sind hausgemachte Probleme. Ich habe herausgefunden das man die SDCard nicht mit jedem Tool formatieren darf. Man benötigt den sdformaterSDFormater” (erhältlich für Mac OSX und Windows). Wenn man nicht dieses Tool verwendet, dann kann es sein, dass das Modul nichts abspielen wird. Man wird somit nichts hören. Wenn man den “SDFormater” verwendet, dann wird es auch funktionieren. Ich habe einige SDCards von Transdend mit unterschiedlichen Größen getestet. 512 MB, 1 GB, 2 GB funktionieren ohne Probleme, doch 4 GB und 8 GB funktionieren nicht! Aber das ist ok, denn man bekommt problemlos 2 GB SDCards.

Die letzte Sache ist die Code Library des WTV020SD-16P und die Mechanik. Ich habe viel getestet, und es stellte sich heraus, dass die erhältlichen WTV020 Libraries nicht stabil laufen. Ich hatte ein paar Probleme damit. Deshalb habe ich alles entfernt und mein eigenes Sketch programmiert. Die timings der übertragenen Kommandos ist entscheidend. Zu schnell oder zu langsam ist nicht gutIMG_20160201_081627460. Es brauchte Zeit um die besten Werte heraus zu finden, damit das Modul stabil funktioniert. Ausserdem kann man nicht einfach zu irgendeinem Lautstärkewert wechseln. Wenn man den Lautstärkewert < 4 einstellt, dann bekommt man eine seltsame Lautstärkemodulation und einen zerkratzen Sound. Das ist der Grund für meine veränderte setVolume Funktion. Jetzt kann man die Lautstärke von 0 bis 4 (0=Aus) einstellen. Das funktioniert stabil.

Die Mechanik ist ebenfalls nicht stabil. Ich habe ein Modul dadurch zerstört, in dem die SDCard Klappe mit einigen daneben liegenden Pins verbunden war. Ich denke man sollte die Klappe nach beiden Seiten mit Tesafilm isolieren. Zwar ist es kein großes Problem ein 5€ Modul zu verlieren, doch ist es besser das zu verhindern.

Letzte Worte: Das Modul kam 2008 heraus (ja, ich bin etwas spät dran) doch es kann auch 2016 einen guten Job machen 🙂  Ich werde es in einem R/C Auto verwenden um etwas Krach zu machen. Doch in der Zukunft werde ich wohl das MP3-TF-16P aka DFPlayer Mini aka FN-M16P Modul kaufen das MP3 files direkt abspielen kann. Und vielleicht sind dann auch die kleinen Probleme des WTV020 Moduls vorbei. Stromverbrauch: ~ 40mA


(3.3V => Pin 19 und Teensy GND => WTV020 GND mit Brücken verbunden)


(x = entfernte stifte vom WTV020 Modul, um mehr Pins für Servos zu haben)

 

Files auf der SDCard:

AD4 Files: 16 Bit, 6KHz to 36KHz (4 Bit ADCPM format files), -6db

0000.ad4
0001.ad4
.
0XXX.ad4 (max. 512 files)

 

Ab sofort ist der AD4 Converter auch unter Android verfügbar: HIER

 

WTV020 Arduino

WTV020 Arduino
WTV020-Arduino.zip
3.9 KiB
969 Downloads
Details...
WTV020SD-16PConverter V2

WTV020SD-16PConverter V2
WTV020SD-16PConverter_v2.zip
57.3 MiB
1563 Downloads
Details...