TonUINO

TonUINO, DIE DIY Musikbox (nicht nur) für Kinder

Man nehme einen Arduino, ein MP3 Modul, einen RFID-Leser, eine Micro-SD-Karte, etwas Kabel und Zeugs und einen alten (oder neuen) Regallautsprecher… und schon habt ihr den TonUINO!

In der Zwischenzeit ist viel passiert! Ich habe zusammen mit drei Freunden aus der TonUINO-Community die Leiterkartenpiraten GmbH gegründet. Hier findet ihr viel nützliches Zubehör rund um das TonUINO-Projekt. Das Highlight ist die TonUINO All-in-One Platine. Hier müsst ihr nicht mehr löten, könnt einen LiFePo Akku (=sicher!) anschließen, es gibt direkt einen Kopfhöreranschluss, und, und, und …

Warum TonUINO

Ich habe lange nach einer günstigen und vor allem komfortablen Lösung für eine Kindermusikbox gesucht. Es gibt natürlich die kommerziellen Lösungen und schon einige DIY Projekte im Netz. Die kommerziellen Lösungen sind aber für meinen Geschmack zu unflexibel und die meisten DIY Lösungen basieren auf einem Raspberry Pi und sind in der Regel recht klobig. Ausserdem konnte bisher keine dieser Lösungen eine clevere Lösung für das Programmieren der RFID-Karten bieten.

Der DFPlayer Mini besitzt bereits einen kleinen Mono-Verstärker. Damit könnt ihr einen passiven Lautsprecher direkt antreiben und ich finde es klingt sogar richtig gut! Wem das nicht reicht: das Modul gibt zusätzlich noch ein Stereosignal aus. Wenn ihr noch einen kleinen Verstärker einbaut könnt ihr damit noch mehr Klang rausholen und vor allem zwei Boxen als Stereo-Paar verwenden.

Der TonUINO nimmt so wenig Platz weg, ihr könnt ihn zum Beispiel direkt in einen passiven Regallautsprecher einbauen. Ansonsten sind eurer Kreativität keine Grenzen gesetzt. Ich bin gespannt auf was für Ideen ihr kommt.

Ein weiterer Vorteil des Arduinos im Vergleich zu einem Raspberry Pi ist, dass der Arduino in 1-2 Sekunden startklar ist und auch nicht heruntergefahren werden muß um ihn auszuschalten. Er braucht deutlich weniger Strom und kann daher super über ein Akku-Pack betrieben werden.

Karten bedrucken

Weil immer wieder Nachfragen zu dem Video kamen: Die Karten im Video habe ich mit einem Canon Selphy Drucker und passenden Stickern bedruckt. Die Sticker passen genau auf die Karten und sind wasserfest und sehr langlebig.

Wer keinen Fotodrucker hat kann die Fotosticker von Foto Paradies versuchen. 4 Sticker im Format von 57 x 82 mm kosten 1,95 Euro. Bis auf ein paar mm sollten die auf die RFID Karten passen.

Jürgen hat noch einen Tipp gehabt: wer auf einem „normalen“ Drucker Etiketten drucken möchte sollte sich die Universal Etiketten im Visitenkartenformat 5028 von Herma mal anschauen. Ist auf jeden Fall die günstigste Alternative.

Um aus einem quadratischen Cover ein für die Sticker passendes Format zu generieren habe ich ein kleines Online-Tool erstellt.

Benötigte Komponenten


AZ-Delivery war so nett ein „TonUINO Set“ bestehend aus Arduino Nano, DFPlayer Mini und RFID Kit RC522 sowie 10 extra RFID Karten zum absoluten Sonderpreis von 12,99 Euro anzubieten.  AZ-Delivery ist für mich die beste Adresse um schnell und günstig an Arduinos und andere Bauteile zu kommen.


Einige werden sagen, mein Lautsprecher sähe häßlich aus… und da haben sie nicht ganz Unrecht. Allerdings klingt er wirklich top. Vor allem wenn man bedenkt, dass man ihn quasi für 22 Euro bekommt (Setpreis 44 Euro). Sie klingen für meinen Geschmack ausgewogen und auch die Tiefen kommen gut durch. Man spart auch die Arbeit ein eigenes Gehäuse zu entwerfen was ja auch wieder Zeit und Geld kosten würde. Das Gehäuse kann sicher mit etwas Fantasie noch etwas kindgerechter gestaltet werden.

Ich habe alle möglichen „Bastellautsprecher“ probiert und die funktionieren natürlich ebenfalls sehr gut. Vor allem wenn TonUINO in ein sehr kleines Gehäuse oder Spielzeug eingebaut werden soll ist der Klang vielleicht ja auch nur zweitrangig. Mir fehlten meistens die Tiefen. Preislich liegen solche Lautsprecher zwischen 50 Cent und 10 Euro. Aber wie gesagt, guter Klang hat eben auch seinen Preis.

Passendes Zubehör

Die Links zu Amazon sind Affiliate-Links. Wenn ihr darüber bestellt unterstützt ihr mein Projekt. VIELEN DANK dafür!!!

TonUINO Platine

Die Platine verbindet alle Komponenten miteinander

Die TonUINO Platine erleichtert euch den Zusammenbau und macht es natürlich etwas „professioneller“. Ihr könnt aber auch genauso gut einfach eine Lochrasterplatine oder direkt Jumperkabel (female-female) verwenden um alle Komponenten miteinander zu verbinden. Vor allem wenn sehr wenig Platz in euerer TonUINO Box ist sind Jumperkabel super.

 

Arduino Nano und DFPlayer Mini werden entweder direkt auf die Platine gelötet oder ihr könnt Buchsenleisten verwenden und so die Komponenten später wieder herausnehmen. Insgesamt können bis zu 8 Knöpfe angeschlossen werden – auch wenn mein Programm aktuell nur 3 verwendet. Lautsprecher können genau wie die Knöpfe an die Stiftleiste angeschlossen werden. Ebenso gibt es dort die Ausgänge für einen Verstärker.

Die Platine gibt es nun im Onlineshop der Leiterkartenpiraten! Dort findet ihr unter anderem die hier beschriebene DIY Platine (TonUINO Classic). Beachtet bitte die Produktbeschreibung im Shop.

Die neue Platine samt Zubehör.

Zusammenbau

Ja, ihr braucht einen Lötkolben und etwas handwerkliches Geschick. Letztes ist bei mir aber auch nur minimal vorhanden und auch am Lötkolben bin ich nicht sonderlich gut. Habt also keine Angst dass der Zusammenbau sonderlich kompliziert ist. Dank der TonUINO Platine kann man nicht viel falsch machen.

Um Platz und Zeit zu sparen habe ich bisher immer Arduino Nano und DFPlayer Mini direkt auf die Platine gelötet. Als Anschlüsse für das RFID Modul, die Lautsprecher und die Knöpfe habe ich Stiftleisten eingelötet. Es gibt vier Anschluss-PINs für die Audioausgabe. + und – kommen vom 3 Watt Mono-Verstärker des DFPlayer Moduls und L und R können verwendet werden um einen Verstärker anzusprechen. Dann halt in Stereo und mit so viel Watt wie ihr einbauen möchtet.

Ihr könnt die Platine entweder mit Buchsenleisten bestücken um die Hardware wieder sicher herausnehmen zu können …
… oder Arduino und DFPlayer direkt auf die Platine löten – so kommt ihr von unten besser an die Pins vom Arduino heran (für Mods) und es ist etwas platzsparender

So klein, passt direkt in einen passiven Regallautsprecher

Schaltplan

Theoretisch könnt ihr die Pin-Belegung auch im Sketch nachlesen aber so dürfte es einfacher sein.

Wer seinen TonUINO selber verdrahten möchte findet hier alle nötigen Infos.
Mit Platine wird es einfacher; Stromversorgung per USB Kabel mit Netzteil oder Powerbank; Wichtig: der äußerste Pin für den RFID Reader ist der 3v3 Pin

Firmware aufspielen

Um die Firmware zu kompilieren und auf den Arduino aufzuspielen braucht ihr die Arduino IDE. Diese könnt ihr auf arduino.cc herunterladen.

Je nach Arduino benötigt ihr einen Treiber damit er via USB erkannt wird. Die meisten günstigen Arduino Klone verwenden den CHG340G/CHG341G Chip. Auf der Herstellerseite des Chips wch.cn (Google Translate) findet ihr den passenden Download für Windows, macOS oder Linux. Installiert bitte den passenden Treiber für euer Betriebssystem und verbindet den Arduino via USB Kabel mit Eurem Rechner.

Nach der Installation solltet ihr die von mir verwendeten Bibliotheken installieren. Dies geht direkt in der IDE über Sketch -> Bibliothek einbinden -> Bibliotheken verwalten.

Bibliotheken können einfach gesucht und dann installiert werden.

Ihr benötigt folgende Bibliotheken für Euren TonUINO:

  • MFRC522
  • DFPlayer Mini Mp3 by Makuna
  • JC_Button

Nun müsst ihr den Sketch TonUINO.ino aus meinem GitHub Repository mit der Arduino IDE öffnen.

Um den Sketch erfolgreich auf Euren Arduino übertragen zu können müsst Ihr nur noch ein paar letzte Einstellungen vornehmen.

  • Werkzeuge -> Board : „Arduino Nano“
  • Werkzeuge -> Prozessor : „ATmega328P (Old Bootloader)
  • Werkzeuge -> Port : „/dev/cu.wchusbserial???“ (je nach Betriebssystem könnte es anders aussehen)

Zuletzt drückt ihr den Hochladen-Button und die Firmware wird auf den Arduino geladen und macht ihn zum TonUINO.

Struktur auf der SD-Karte

Ihr könnt die Unterordner 01 bis 99 auf der SD-Karte anlegen. In jeden dieser Ordner könnt ihr dann bis zu 255 Dateien ablegen. Sie heißen entsprechend 001.mp3 bis 255.mp3.

Bitte lasst weder bei den Ordnern noch bei Dateinamen Lücken, damit würde die Software nicht zurecht kommen!

Zusätzlich gibt es noch den Ordner /mp3. Hier werden einige Dateien für den Konfigurationsdialog abgelegt. Den Ordner findet ihr zusammen mit einer Liste in einem GitHub Repository (siehe Quellcode). Vielleicht möchtet ihr ja auch hier kreativ werden und eigene Sprachdateien ablegen.

Wichtiger Hinweis!!!

Das DFPlayer Mini Modul ist sehr zickig wenn es um die SD-Karte geht. Dort dürfen keine unnötigen Dateien herumliegen wie sie zum Beispiel von MacOS dort abgelegt werden (Spotlight und Co.). Besser ihr nehmt Linux oder Windows um die SD-Karte zu bespielen.

Unter MacOS könnt ihr Notfalls versuchen mit folgendem Befehl aufzuräumen:

$ dot_clean /Volumes/SD-Karte

Quellcode

Der Sourcecode steht auf meinem GitHub Repository bereit und unterliegt der GPL Lizenz. Wenn ihr Erweiterungen oder Verbesserungen habt würde ich mich sehr freuen wenn ihr mir diese zurück schickt.

An dieser Stelle sei erwähnt, dass dies mein erstes Arduino Projekt ist und ich das letzte mal vor 20 Jahren etwas in C programmiert habe. Alles funktioniert und ist absichtlich sehr simpel gehalten.

Change Log

Version 2.0 (26.08.2018)

  • Lautstärke wird nun über einen langen Tastendruck geändert
  • bei kurzem Tastendruck wird der nächste / vorherige Track abgespielt (je nach Wiedergabemodus nicht verfügbar)
  • Während der Wiedergabe wird bei langem Tastendruck auf Play/Pause die Nummer des aktuellen Tracks angesagt
  • Neuer Wiedergabemodus: Einzelmodus
    Eine Karte kann mit einer einzelnen Datei aus einem Ordner verknüpft werden. Dadurch sind theoretisch 25000 verschiedene Karten für je eine Datei möglich
  • Neuer Wiedergabemodus: Hörbuch-Modus
    Funktioniert genau wie der Album-Modus. Zusätzlich wir der Fortschritt im EEPROM des Arduinos gespeichert und beim nächsten mal wird bei der jeweils letzten Datei neu gestartet. Leider kann nur der Track, nicht die Stelle im Track gespeichert werden
  • Um mehr als 100 Karten zu unterstützen wird die Konfiguration der Karten nicht mehr im EEPROM gespeichert sondern direkt auf den Karten – die Karte muss daher beim Anlernen aufgelegt bleiben!
  • Durch einen langen Druck auf Play/Pause kann eine Karte neu konfiguriert werden
  • In den Auswahldialogen kann durch langen Druck auf die Lautstärketasten jeweils um 10 Ordner oder Dateien vor und zurück gesprungen werden
  • Reset des MP3 Moduls beim Start entfernt – war nicht nötig und hat „Krach“ gemacht

FAQ

Frage: Ich bekomme jede Menge Meldungen wenn ich den Sketch kompiliere.
Antwort: Das ist „normal“. Es handelt sich nur um Warnungen und das Programm wird ohne Probleme auf den Arduino übertragen.

Frage: Ich bekomme nur Hieroglyphen im Debugger angezeigt.
Antwort: Bitte den Debugger auf „115200 Baud“ und „Sowohl NL als auch CR“ umstellen.

Frage: Ich kann einige Karten nicht beschreiben. Es kommt immer die Fehlermeldung: „Oh, das hat leider nicht geklappt.“
Antwort: Bisher konnten alle die das Problem hatten es lösen indem sie entweder ein anderes Netzteil für den Arduino verwendet haben oder den Abstand zwischen RFID-Modul und Karte vergrößert haben oder einfach etwas dazwischen gelegt haben.

Frage: Einige Dateien werden nicht abgespielt.
Antwort: Es kann sein, dass das Dateisystem der SD-Karte (FAT) ein Problem hat. Da hilft neu formatieren und die Dateien neu aufspielen.
Marcel hatte noch den Tipp, dass man auch 64 GB Karten mit dem Tool H2format und Diskpart als FAT32 formatieren kann.

Frage: Der DFPlayer „macht nichts“.
Antwort: Bitte prüft den eingelöteten Widerstand. Es sollte ein 1K Ohm Widerstand (Farbcode z.B.: Braun, Schwarz, Schwarz, Braun, Braun) sein.

Frage: Obwohl ich den Treiber installiert habe wird der Arduino nicht erkannt.
Antwort: Einige Kabel können nur zum Laden verwendet werden. Versuch daher bitte ein anderes USB-Kabel.

Gallery

Ich bin einfach überwältigt von eurer tollen Resonanz auf mein Projekt und freue mich über jeden der es nachbaut.

TonUINO Case aus dem 3D Drucker

 

Reinhold hat sich einen eigenen Case für seinen TonUINO entworfen und ich finde das sieht richtig schick aus. Als Lautsprecher kommt ein Visaton FR 10 HM zum Einsatz.

Ihr könnt seine STL Dateien auf Thingiverse herunter laden!

LED- und IR-Mod von Stephan

Stephan war einer meiner ersten „Beta-Tester“ und hat sich eine komplett eigene Firmware gebaut. Ihr könnt diese ebenfalls auf GitHub finden.

„CubieKid“ von Jens

Jens hat ein tolles Gehäuse entworfen und auf dem MaXYposi aus der Make: hergestellt. In seinem GitHub Repository erfahrt ihr mehr!

Upcycling

Christophers TonUINO

Gleich zwei Gehäuse aus dem 3D-Drucker von Martin

.

Martin hat bereits zwei verschiedene Gehäuse für seine Tochter entworfen. Das untere verfügt auch über einen Akku und man kann die SD-Karte von außen erreichen. Die Pläne findet ihr auf Thiniverse!

Christians 6 jähriger löst ab jetzt jeden Fall

Christian hat auch tolle Box gebaut. Er hat eine Powerbank eingebaut (Zitat: „Läuft ewig“) und das USB-Kabel für die Stromversorgung schaltbar gemacht.

TonUINO im Schafspelz

Auch im Kinderzimmer von Klemens Sohn hat seine Box schon einen Ehrenplatz. Dank Mamas Nähkünsten ein echter Hingucker.

Ich und mein Holz

Bastian zeigt, dass es nicht immer ein Gehäuse aus dem Lasercutter oder 3D-Drucker sein muß. Alles schön übersichtlich und sauber in einem Holzkasten verstaut.

Pretty in Pink

Hier seht ihr die Box von Sönkes Tochter. Die dreijährige hat viel Spaß damit.

IKEA DRAGAN Bambusbox von Johannes

Johannes hat so einiges in die Box seines Sohnes gepackt: LiPo-Akku, LED, Ladeelektronik und Boost-Konverter.

Box von Stefan

Seine beiden Töchter (2 und 4 Jahre) sind begeistert.

Mikes Box

Mike hat einen alten PC-Lautsprecher umfunktioniert und eine Powerbank eingebaut. Auch er sagt: „Sein Kleiner liebt das Teil.“

Stefans Geburtstagsgeschenk

Auch Stefan hat eine tolle Box für seine Tochter gebaut! Als Lautsprecher hat er einen Visatron BF 45S 4 Ohm verbaut und verwendet Wemos 18650 Battery Shield.

Nochmal was aus Holz von Markus

Markus hat eine 14x14x14cm Box aus massiver Buche gebaut. Als Lautsprecher kommt der Visaton FR 10 HM mit der passenden Abdeckung zum Einsatz.

Tivoli Albergo Stereo Speaker

Wer schnell ist kann diesen schönen  Tivoli Albergo Stereo Speaker  noch zum Sonderpreis von 39 Euro anstelle der üblichen 99 Euro ergattern. Danke an Dennis für den Link und das Foto. Sieht echt sehr edel aus!

TonUINO von Ingrid

Eine schöne Box von Ingrid mit USB-Buchse und Power-Taste. Für die Holzfiguren hat sie Abziehbilder auf das Holz übertragen.

Extras

Um aus einem Multi-Track-MP3 eine einzelne MP3 Datei für den Hörspielmodus zu machen hat Bastian das Tool Mp3Wrap empfohlen.  Ihr könnt es auf der Seite für Windows und Linux herunterladen. Unter macOS könnt ihr es via Homebrew installieren.

Alternativ könnt ihr dies zumindest unter macOS oder Linux mit diesem Script, ffmpeg und id3v2 tun. Das klappt solange die MP3s die Angabe Track x von Y in den ID3 Tags haben und die Dateinamen den Track ebenfalls enthalten.

Die Dateien werden in eine 128 kb MP3 Datei recodiert. Wer das nicht möchte sollte „-acodec copy“ anstelle von „-acodec libmp3lame -b:a 128k“ verwenden. Dann werden die Dateien nicht neu encodiert sondern einfach nur aneinander gehängt ohne dass die Qualität darunter leidet (empfohlen).

#!/bin/bash

for dir in *; do
    if [ -d "${dir}" ]; then
    
    MP3=`ls "$dir/"*mp3 | head -n 1`
    TRCK=`id3v2 -l "$MP3" | grep TRCK | sed -e 's/.*: .*\///g'`
    ACT=`ls -l "$dir/"*.mp3 | wc -l`
    
    string=""
    cd "$dir"
    for i in `seq 1 $TRCK`; do
	FILE=`ls  $i\ -\ *mp3`
	string="$string|$FILE"
    done

    string=${string:1}

    ffmpeg -i "concat:$string" -acodec libmp3lame -b:a 128k "../$dir.mp3"
#    ffmpeg -i "concat:$string" -acodec copy "../$dir.mp3"

    cd ..
    fi
done

Alternativ könnte es auch so klappen (einstellige Tracks müssen mit einer führenden 0 benannt sein (01,02,03, …). Eventuell müsst ihr mit dem Suchmuster „*$i.*mp3“ etwas herum experimentieren:

#!/bin/bash

for dir in *; do
    if [ -d "${dir}" ]; then
    
    ACT=`ls -l "$dir/"*.mp3 | wc -l`
    
    string=""
    cd "$dir"
    for i in `seq 1 $ACT`; do
	i=$(printf "%02d" $i)
	FILE=`ls *$i.*mp3`
	string="$string|$FILE"
    done

    string=${string:1}

    ffmpeg -i "concat:$string" -acodec libmp3lame -b:a 128k "../$dir.mp3"

    cd ..
    fi
done

Ähnliche Projekte

  • ghmartin77/KidsMP3Player: sehr gelungene  Bauanleitung für einen komplett eigenen Kinder MP3 Player jedoch mit vielen Knöpfen anstelle der RFID Karten – verwendet ebenfalls den DFPlayer mini aber einen ATTiny85 anstelle des Arduinos
  • PHONIEBOX: RFID Jukebox mit einem Raspberry Pi – 100% Plug and Play, kommt komplett ohne Löten aus, dank WLAN sind auch Radiostreams und Podcasts abspielbar.
  • TheNitek/RfidShelf: Claus hat eine ganz ähnliche Lösung direkt in ein Ikea Regal eingebaut. Er verwendet einen Esp8266 bzw. NodeMCU und ein anderes MP3 Modul (VS1053).
  • Put’n’Play Cube: Bei diesem Projekt kann man sehr schön sehen was alles möglich ist. „Up to eleven!“
  • BReaBox II: Stefan hat das  Nostalgieradio TERRIS NRB 264  mit einem Raspberry Pi Zero in einen Hörbuch Player mit IR Fernbedingung umgebaut

TonUINO unterstützen

Mein Projekt soll natürlich in erster Linie Spaß machen. Mir hat es das von der ersten Idee, über diverse Prototypen, bis hin zum fertigen „Produkt“.

Wie ihr euch sicher denken könnt habe ich viele verschiedene Wege probiert und daher nicht ganz wenig Zeit aber eben auch Geld in das Projekt gesteckt.

Wenn ihr mich unterstützen wollt könnt ihr dies auf folgenden Wegen tun:

  • Feedback geben, Bugs suchen, andere auf das Projekt aufmerksam machen
  • Am Quellcode weiterentwickeln
  • Komponenten über die Affiliate Links bestellen
  • Die „TonUINO Platine“ bei mir bestellen
  • Wer gerne etwas in meinen digitalen Hut schmeißen möchte kann dies über PayPal tun

Medien

TonUINO wurde in einem Make: Artikel auf heise.de vorgestellt!
ifun.de hat bereits einen kurzen Artikel über das TonUINO Projekt geschrieben und wird noch einen Erfahrungsbericht nachliefern.

 

133 Antworten auf „TonUINO“

  1. Hi Thorsten,

    ein super Projekt, vielen Dank auch noch mal für deine Arbeit, den Bausatz und deine ganze Unterstützung.

    Ich als Papa hatte beim basteln mindestens so viel Spaß wie unsere Tochter jetzt beim spielen und hören!

    Grüße,

    Rey

  2. Hallo Thorsten,
    super Projekt !!!

    Nachdem mein Neffe letzen Sonntag eine Toniebox bekommen hat, hatte Ich sofort das verlangen das für meinen Sohn selber zu bauen. Die Idde mit dem Arduino und DFPlayer ist super, sowas wie den DFPlayer hatte ich bis dato gar nicht auf dem Schirm. Da Ich alles bis auf DFPlayer, SD Card und ein par TAGs alles zuhause hatte war die Entscheidung deine Version nach zu bauen relativ einfach 🙂

    Am Donnerstag um 21 Uhr kam dann endlich der DFPlayer und 3,5h später war die Box fertig. Der Nachbau war wirklich nicht schwer und es sollte sich keiner sorgen machen das er das nicht hin bekommt.

    Was mir jetzt aufgefallen ist, ist das du im Change Log oben die erweiterte Funktion der Lautstärketasten beschreibst, was aber im Quellcode auf GitHub nicht enthalten ist.

    Ich habe jetzt noch ein paar Brocken in der Bastelkiste und werde mal versuchen das in das Projekt zu integrieren.
    1. Anstelle des Arduino eine ESP8266 NodeMCU und damit dann ein Webinterface für die Jukebox zur Fernsteuerung, Kartenverwaltung und Equalizer einstellung oder sowas
    2. 3-Achs Beschleunigungssensor um Lageabhängige aktionen auszulösen, ähnlich der Toniebox.

    Liebe Grüße
    Chris

    1. Hallo Chris,

      die neue Version ist jetzt auf Github. Ich musste noch den Hörbuch-Modus testen. NodeMCUs habe ich auch einige hier liegen. Allerdings bieten die nur die 3,3 Volt. Ich habe beim DFPlayer etwas Probleme gehabt wenn der keine 5 Volt bekommt. Im Prinzip hättest du die ja aber durch die USB Stromversorgung – müsste man dann dort abzweigen und aufpassen, dass man genug Wiederstände in die Leitungen zwischen DFPlayer und ESP8266 setzt.

      … und natürlich danke für dein Feedback. Ich würde mich noch sehr über Fotos der fertigen Box für die Galerie freuen!

    2. Ich finde das Projekt auch super!!!

      @Christopher: Hast Du das Projekt mit dem ESP8266 umgesetzt???

      Wenn ja könnte man dann ja noch zusätzlich Internetradiosender einbinden (aktivieren des jeweiligen Streams mit der RFID Karte)

      Liebe Grüße

      Danny

      1. Hallo Danny,
        musste den Plan mit dem ESP8266 verwerfen da nicht alle IO verwendet werden konnten. Ich habe jetzt einen ESP32 genommen und bin mit der Umsetzung fast fertig, es fehlen noch ein paar Feinheiten damit alle Funktionen die Ich mir vorgestellt habe auch funktionieren. Wie Thorsten schon geschrieben hat funktioniert der DFPlayer aber nur mit 5V was aber kein größeres Problem ist.

        Zusätzliche Funktionen:
        -Web Interface zum:
        1. Fernsteuern (Laut, Leise, Play, Stop…)
        2. Ambilight an/aus und Farbe ändern (WS2812 LEDs, das ganze kommt in einen milchigen Kunsstoffwürfel)
        3. Timer zum Ein- und Ausschalten, wahlweise mit Sonnenauf- / untergangs Simulation (100 Schritte Farbverlauf über 1800 Sekunden)
        4. Einstellen des DFPlayer Equalizer
        5. Ändern von Karten

        Sobald Ich fertig bin wollte Ich Thorsten den Quellcode zuschicken, aktuell Arbeite Ich noch an den Punkten 3 (Sonnensim.) und 5.

        Liebe Grüße
        Christopher

  3. super sache
    ich war schon eine weile daran sowas zu bauen. ich habe zum ein und ausschalten eine flipflop schaltung. dadurch kann sich der arduino nach einer gewissen zeit ohne nutzung selbst ausschalten. wenn du das mal noch einfügen könntest wäre super?

  4. Mir gefällt dieses Projekt sehr gut! Ganz vielen Dank für die geleistete Arbeit und Anregungen. Bevor ich mich an den Nachbau im eigenen Gehäuse mache habe ich aber noch Fragen hinsichtlich der Stromversorgung:
    Wie hoch ist die Stromaufnahme im Durchschnitt (Standby?)
    Wie wird das Gerät ein-/ausgeschaltet?
    Läuft die Schaltung auch mit 3x 1,5V NiMH Zellen in Reihe?

    Danke schonmal.

    Jens

    1. Hallo Jens,

      die Stromversorgung läuft ganz einfach über das USB Kabel des Arduinos und entweder ein USB-Netzteil oder eine Powerbank. Darüber werden dann alle Komponenten versorgt. Die Stromaufnahme ist sehr gering. Ich hatte mal gemessen und kam auf 500 mAh in 24h Dauerwiedergabe – im Standby halt noch deutlich weniger.

      Der Ansatz beim Entwurf des Projekts war alles so einfach wie möglich zu halten. Wenn man in Richtung Betrieb mit Batterien oder Akkus geht muss man auf sehr vieles achten. Meist bieten die keine konstante Spannung sondern die Spannung nimmt mit schwindender Ladung weiter ab. Das Verhalten ist je nach Batterie oder Akku-Typ unterschiedlich.

      Schau mal ins KidsMP3Player-Projekt welches ich oben verlinkt habe. Die Lösung für die Spannungsversorgung kannst du von dort übernehmen. Theoretisch kann man sogar weiterhin das TonUINO Board verwenden da ja alle Pins vom Arduino auch direkt von oben oder unten direkt an der Stiftleiste angesprochen werden können (in dem Fall dann VIN und GND).

      1. Hallo Thorsten
        Bin absoluter Fan deiner Dokumentation
        ich möchte dieses Projekt als Schülerprojekt machen, muss es aber selber mal erst nachbauen. Bei einer Ausgabe von max 3W für den Lautsprecher und 5V Input für den Arduino komme ich auf 600mA. Das wäre ja ein bisschen mehr als der Arduino eigentlich liefern können sollte. Bin ich paranoid wenn ich befürchte, dass der Arduino schaden nehmen könnte?

        Ich habe mir den Nachfolger des dfplayer mini gekauft: MP3-TF-16P

        1. Hallo Stefan, ich bin ja nicht der erste der auf die Idee gekommen ist einen DFPlayer Mini an den 5V vom Nano anzuschließen, und bisher habe ich nie gehört oder gelesen dass da was schief gegangen wäre.

          Aber da ja ein USB-Netzteil verwendet wird sollte doch der Spannungsregler auf dem Nano gar nicht verwendet werden – ich glaube der wäre eher das Problem wenn man zu viel Leistung ziehen will.

          Ausserdem wären die 3 Watt ja nur das Maximum bei voller Lautstärke – die wirst du eh nie einstellen wollen bzw. man könnte die auch im Sketch begrenzen.

  5. Hallo Thorsten,

    sehr schönes Projekt!!! Brilliante Idee, die Elektronik direkt in ein fertiges Lautsprechergehäuse einzusetzen 🙂
    Habe letztes Jahr auf ähnlicher technischer Basis ebenfalls einen Player gebastelt. Falls Du mal vorbeischauen magst: https://github.com/ghmartin77/KidsMP3Player/

    Habe auf der Seite Dein GitHub-Repository verlinkt, falls jemand dort aufschlägt, aber einen Player mit RFID-Reader sucht.

    Viele Grüße
    ghmartin77

    1. Hallo Martin,

      das Kompliment kann ich nur zurück geben. Deine Box sieht toll aus und man könnte vieles davon in eine selbstgebaute TonUINO Box übernehmen.

      P.S.: das mit dem fertigen Lautsprecher war mehr ein Versehen. Ich hatte eine davon zu Testzwecken mal an den DFPlayer gepackt und war vom Klang echt überrascht. So kam dann eins zum anderen.

  6. Fehlt nur noch ne kleine Android App um die MiFare Karte „bequem“ zu beschreiben. Ich mach das immer mit den MiFare Classic Tools, ist aber etwas umständlich.

    1. Hallo Daniel,

      dass die Box die Karten selbstständig beschreiben kann finde ich eigentlich besser als eine Android App 😉
      Die MiFare Classic Karten werden auch nicht von vielen Handys unterstützt oder hast du da andere Erfahrungen?

      Was ich jedoch gerne noch nachliefern würde ist ein Sketch um ein „Massenbeschreiben“ von Karten zu ermöglichen. Wobei man das sogar auch mit der Box hinbekommen würde… mal sehen wo ich das verstecke, eventuell über eine der geplanten Admin-Karten. Nach dem Motto: „Mach mir doch mal bitte eine Karte für jede Folge in Ordner XY“. Die Karten bekommt man ja im 100er Pack für 30 Euro. Man sollte sie nur VORHER beschriften oder bekleben.

      1. Meine Handys können das (OPO und Nokia 6). Und ich nutze die Mifare Classic Tools, aber ich habe auch USB reader. Ansonsten könnte man ja auch die NFC Tags nehmen, die sollten von allen NFC Handy lesbar/beschreibbar sein. Du hast schon recht, Mifare Classic ist da teilweise etwas kompliziert und für die paar Byte auch etwas überdimensioniert 😉 Aber dann müsste man erst mal das Programm anpassen so das beide Tags verwendet werden können.

        1. Hallo Daniel,

          ich habe neben den Mifare Classic noch einen Ultra Light Aufkleber den ich gerne Testen würde, bzw alternative Karten.
          Hast du schon etwas ausprobiert mit anderen Typen?
          Soweit ich mal Abends etwas Zeit finde, probiere ich nochmal etwas rum. Hab bisher den originalen 2.0 drin und bin von der Umsetzung erstmal begeistert.

          Bzgl meiner Umsetzung:
          Ich habe meine TonUnio Box gestern Fertig gestellt, habe alles in eine Bluetooth Box (mit AUX) eingebaut. Ich hatte das Problem dass diese innen doch recht klein ist und keine 5V verfügbar waren. Jetzt klappt aber alles und nutze die Ladeeinheit der Bluetooth Box.

      2. Hallo Thorsten.

        Erst einmal vielen Dank für dieses wirklich tolle Projekt, ein Super Idee! Ich bin gerade dabei es für meinen kleinen Neffen nach zu bauen.
        Bis jetzt hat auch alles soweit geklappt, die Elektronik funktioniert, zumindest mit der Karte und dem Anhänger, welche dem RFID-Set bei liegen.

        Nun habe ich mir bei Conrad/Völkner MIFARE RFID-Karten 1k von MarkerFactory gekauft, da mir die 100 Stk. erstmal zuviele waren.

        Nun funktionieren diese leider nicht, bzw. vielleicht hast du oder jemand anderes eine Idee was ich probieren könnte um sie doch noch zum Laufen zu bekommen, für jede Hilfe wäre ich sehr dankbar.

        Folgendes Problem:
        Neue Karte wird erkannt, serielle Ausgabe sieht normal aus (im Vergleich mit der funktionierenden)

        Card UID: 40 FA 2A A4
        PICC type: MIFARE 1KB
        Authenticating using key A…
        Current data in sector:
        (Daten spare ich mir jetzt)

        Reading data from block 4 …
        Data in block 4:
        54 65 6E 67 20 42 6F 00 00 00 00 00 00 00 00 00

        Beim speichern der Einstellungen dann folgende Fehlermeldung:
        Writing data into block 4 …
        13 37 B3 47 01 02 02 00 00 00 00 00 00 00 00 00
        MIFARE_Write() failed: A MIFARE PICC responded with NAK.

        Im Voraus vielen Dank für jede Hilfe.
        Gruß Marc

        1. Hallo Marc,

          was mir direkt auffällt: eigentlich sollte Block 4 vor dem anlernen leer sein. Bei dir steht aber was drin und eventuell ist das mit einem anderen Key B (schreiben) gesperrt als bei den wirklich leeren Karten die z.B. beim RFID Reader dabei waren.

          Du könntest mal probieren im Sourcecode einen anderen Block auszuwählen. Aber Achtung: jeder 4te Block (3,7,11,…) DARF NICHT BESCHRIEBEN WERDEN!

          Im Code also folgendes ändern:
          aus:

          byte sector = 1;
          byte blockAddr = 4;
          byte trailerBlock = 7;

          machst du:
          byte sector = 2;
          byte blockAddr = 8;
          byte trailerBlock = 11;

          oder

          byte sector = 3;
          byte blockAddr = 12;
          byte trailerBlock = 15;

          und so weiter…

          1. Hallo Thorsten,

            vielen Dank für deine Hilfe, ich habe das Problem inzwischen anders gelöst.
            Ein Umstellen auf „Key A“ zum Schreiben löst das Problem. Offenbar sind die Bereiche bei Verwendung von „Key B“ bei einigen Karten schreibgeschützt (reine Vermutung).
            Mittlerweile ist die Box auch fertig und zu Weihnachten verschenkt und wird auch gut angenommen.

  7. Hallo Thorsten!

    Danke für die tolle Projektidee! Ich hab in den letzten Tagen einen Tonuino für meinen zweijährigen Sohn gebaut.

    Als Gehäuse habe ich – wie ghmartin77 – eine IKEA DRAGAN Bambusbox (die kleine mit 10x15x11cm) und darin einen kleinen Deckeneinbaulautsprecher verbaut.
    Eigentlich wollte ich eine kleine Powerbank im Gehäuse verbauen, aber von denen, die ich da hatte, konnte keine gleichzeitig geladen werden und dabei Strom liefern. Deswegen habe ich eine kleine Schaltung gebaut, bestehend aus LiPo-Lader (TP4056), Boost-Konverter (MT3608) und einem p-channel Mosfet (IRLML6402), um das „load sharing“ zu realisieren (ähnlich wie hier: https://electronics.stackexchange.com/questions/293353).
    Von außen zugänglich ist eine Micro-USB Buchse, deren D+ und D- Pins ich direkt an USB+/USB- des DFPlayers geführt habe. So kann ich die SD-Karte direkt bespielen, ohne sie aus dem Gehäuse entfernen zu müssen (wenn auch nur mit ein paar 100kb/s).

    Softwaremäßig werde ich wohl noch ein paar kleinere Anpassungen vornehmen, um die Bedienung etwas für einen zweijährigen tauglicher zu machen, z.B. den Ladestand des LiPo per LED anzeigen oder die Dauer für den langen Tastendruck hochsetzen etc., aber das wird die Praxis zeigen, was da noch nötig ist.

    Nochmals danke fürs Entwickeln und Teilen des Codes! Falls gewünscht kann ich dir gerne ein paar Bilder für die Galerie schicken.

    Beste Grüße
    Johannes

    1. Hallo Johannes, WordPress hat deinen Kommentar in den Spam verschoben – sorry.

      Bilder immer gerne per Mail… und vielen Dank für dein Feedback und deine Anregungen.

    2. Hallo
      Probiere im Moment auch eine ähnliche Box zu versorgen .
      Habe auch die beiden Module benutzt und es funktioniert .
      ABER !!! laut Datenblatt ist der TP4056 nicht geeignet eine Schaltung zu speisen und gleichzeitig zu laden . Ist mir zu riskant und ich habe das dann verworfen und probiere jetzt was anderes aus .

      Gruß Willmar

      1. Hallo Willmar,

        du hast recht, das TP4056 Modul kann kein load sharing (=gleichzeitig laden und entladen). Deswegen habe ich ja eine kleine Schaltung gebaut, bei der der Mosfet (hier ein IRLML6402) den Ausgang des Lademoduls, genauer des nachgeschalteten Boost-Konverters trennt, sobald an der externen USB-Buchse Spannung anliegt. Hier mein Schaltplan für die Stromversorgung: https://www.dropbox.com/s/a73xmyf4aa4zq65/power_schaltplan.png?dl=0

        Beste Grüße
        Johannes

    3. Hallo Johannes,
      ich bin über den oben erwähnten Put’n’Play Cube (auch sehr toll!) auf das WeMos D1 Battery Shield aufmerksam geworden und hab mir ein paar davon gekauft. Das Teil hat einen Micro-USB-Anschluß, über den der 3.7 Volt Akku geladen und/oder die Schaltung mit 5 V versorgt wird. Das Teil kostet rund 1 Euro und spart viel Arbeit. Was fehlt ist ein Schutz gegen Tiefentladung des Akkus. Um dies zu vermeiden, verwende ich zur Zeit geschützte 18650er Zellen. Sobald ich die passenden MOSFETs für die Soft Power Off Schaltung habe, möchte ich die Stromzufuhr vom Arduino aus gesteuert trennen (bei längerer Inaktivität oder bei Unterschreiten der Mindestspannung)

      1. Hallo Bancbanus,

        von dem WeMos Battery Shield habe ich tatsächlich auch ein paar Exemplare rumliegen, aber der fehlende Tiefentladungsschutz ist leider für mich ein no-go, und geschützte Zellen habe/hatte ich nicht da. Klar, die Spannung kann man auch per Software überwachen, aber habe mich stattdessen für ein TP4056 Lademodul mit integrierter Battery Protection entschieden, von dem ich eh noch ein paar Stück auf lager hatte.

        Beste Grüße
        Johannes

    4. Hallo Johannes,

      habe ich dich richtig verstanden: Du hast einmal die USB-Stromversorgung des Arduino, die du auch nutzt – und zusätzlich zum Datentransfer eine Micro USB-Buchse nach außen gelegt? Wenn ja: Taucht die SD-Karte dann als Massenspeicher auf?

      Ich bin Anfänger auf dem Gebiet und noch etwas unsicher, wie du siehst (;

      Viele Grüße
      Lasse

      1. Hallo Lasse,

        ich habe eine externe USB-Buchse verbaut, bei der die +/- Anschlüsse mit dem Batterielademodul verbunden sind (welches wiederum dann mit dem 5v Eingang des Arduinos verbunden ist). Die D+/D- der Buchse gehen dann an die ensprechenden Anschlüsse (USB+/USB-) des MP3-Moduls.
        Beim Anschließen an den PC erscheint das MP3-Modul als Wecheldatenträger, sofern die SD-Karte eingelegt ist. Nach dem Trennen der USB-Verbindung muss der Arduino neu gestartet (reset) werden, damit er das MP3-Modul erkennen kann.

        Beste Grüße
        Johannes

        PS: Meine Schaltpläne (achtung, habe teilweise andere Pins am Arduino benutzt als im „Original“): https://www.dropbox.com/s/a73xmyf4aa4zq65/power_schaltplan.png?dl=0 und https://www.dropbox.com/s/oqvdfkmt9vu6g0w/sound_schaltplan.png?dl=0

  8. Hi Thorsten,

    vielen Dank für dieses super Projekt. Basteln macht nicht nur mir Spaß, sondern auch meinem Sohn.
    Leider sind meine Kenntnisse im Umgang mit Arduinos praktisch nicht vorhanden. Habe Deine Anleitung unter Windows 10 genau befolgt, leider hakts beim Upload der Tonuino.ino Datei auf den Arduino nano. Folgende Fehlermeldung wird von der IDE ausgegeben:
    stray ‚\302‘ in program
    und folgende Zeile wird rot hervorgehoben:
    TonUINO/Tonuino.ino at master · xfjx/TonUINO · GitHub

    Was mache ich nur falsch ?
    Über Unterstützung Deinerseits würde ich mich sehr freuen.

    Vielen Dank und viele Grüße
    Markus

  9. Hallo Thorsten,

    Deine Platine ist wohlbehalten angekommen und alles funktioniert bestens. Vielen Dank dafür!

    Bezüglich einer passenden Lautsprecherbox habe ich lange hin und her überlegt (nicht zu groß und nicht zu klein…und nicht zu häßlich 😉 und bin am Ende bei JBL „Control One“ gelandet…die ist ziemlich robust, lässt sich super auseinander bauen und „bearbeiten“, hat Frequenzweiche und ist „gedämmt“ und das Beste zum Schluss, es gibt sie für kleines Geld massenhaft gebraucht auf Ebay (auch mitunter einzeln) zu kaufen. Der Neupreis wäre mit ca. 75-80€ (dank Rabattcode) jetzt auch nicht extrem teuer.

    Zur Optik der Box ein kurzer Tipp: Einfach eine passende Stoffhülle schneidern (von Oma oder einer handwerklich begabten Lebensabschnittsgefährtin 🙂

  10. Hi Thorsten,

    sehr interessantes Projekt, gibt auf jeden Fall ein Weihnachtsgeschenk für meinen Sohn. 🙂

    Hast du mal darüber nachgedacht, es irgendwie zu implementieren, dass man die SD-Karte vielleicht über WLAN beschreiben kann? Das würde die Verwaltung der Dateien deutlich einfacher machen. Vielleicht gibt es auch noch andere Möglichkeiten. Dazu reichen leider meine Erfahrungen mit dem Arduino nicht aus. 😉

    Werde es aber auf jeden Fall nachbauen. Wenn ich mich für einen Lautsprecher entschieden habe, bestelle ich ggf auch die Platine. 🙂

    VG, Jens

    1. Das wäre echt eine große Sache. WLAN zur Steuerung könnte man mit einem ESP8266 noch nachrüsten – oder man wechselt direkt zu einem NodeMCU.
      Um jedoch auf die SD-Karte zu kommen müsste man über die USB-Schnittstelle des DFPlayer Mini darauf zugreifen. Das könnte man mit einem Arduino Leonardo denke ich hinbekommen, aber es würde doch sehr dem KISS Ansatz (der eh seit Version 2.0 der Firmware nicht mehr ganz so streng genommen wird) widersprechen.

      Ansonsten halt eine zweite USB Buchse an die Box und dort direkt die USB-Schnittstelle des DFPlayer herausführen. Dürfen dann nur nie beide gleichzeitig angeschlossen werden!!

  11. Hallo und vielen Dank schon mal für das nette Projekt und das Teilen der Früchte Deiner Arbeit.

    Hier noch ein Tip zu den oben erwähnten Problemen mit manchen Karten:
    Auch wir hatten lange Probleme mit den beiliegenden Karten und auch mit den nachbestellten Aufklebern. Zufällig haben wir aber gestern festgestellt, dass alle Tags die wir bis jetzt haben wunderbar funktionieren, wenn man nur etwa 1 cm Abstand vom Leser gehalten hat. Vielleicht hilfts jemandem, der Dank geht an A.!

    Schöne Grüße,
    Sebastian.

  12. Hallo Thorsten,

    habe gerade alles auf dem Steckbrett zusammen gestöpselt, funktioniert soweit. Allerdings habe ich mit den Karten Probleme. Ich habe drei Sets vom RC522 mit jeweils einer Karte und einem blauen Schlüsselanhänger. Zusätzlich habe ich noch 10 RFID Karten gekauft. Die drei Schlüsselanhänger funktionieren wie erwartet und von den drei Karten aus den Sets funktioniert nur eine. Alle anderen 12 Karten werden zwar als neu Karten erkannt und ich kann einen Ordner auswählen, nach der Auswahl vom Wiedergabemodus kommt jedoch immmer die Fehlermeldung „Oh je, hat leider nicht geklappt“. Irgend eine Idee woran das liegen könnte?

    Gruß
    Markus

    1. Hallo Markus,

      welche Karten hast du denn gekauft? Du könntest mal die Beispiele aus der MFRC522 Bibliothek probieren (ReadAndWrite).
      Eventuell auch mal einen anderen Block versuchen – habe ich irgendwo hier in den Kommentaren schonmal beschrieben.

      1. Hallo Thorsten,
        ich habe genau das gleiche Problem. DIe Karten sind aus dem Angebot von AZ. Die erste ließ sich anlerenen, alles weiter bringt beim Abspeichern des Abspielmodus die Meldung, dass es nicht geklappt hat…

        Hast du schon eine Lösung?

          1. habe ich alle probiert… Anlernen genau wie das löschen geht nicht zuverlässig bei mir. Manchmal brauche ich 20-30 Versuche…

        1. Hallo Rudi,
          ich hatte das Problem auch. Ich hatte die Karten auf die Leseplatine gelegt. Nachdem ich ein Sperholzbrett zwischen Lesegerät und Karte gelegt hatte (um den Abstand zu vergrößern) funktioniert es bei mir ohne Probleme. Beim fertig gebauten Tonuino ist sowieso ein Abstand dazwischen.
          Viele Grüße
          Rainer

    2. Hallo Markus,
      ich hatte genau das selbe Problem und ich vermute die Ursache in der Stromversorgung. Seit dem ich das MP3-Modul anstatt an den 5V-Ausgang des Nano direkt an eine eigene Spannungsquelle (WeMos D1 Battery Shield) gehängt habe, kommt der Fehler nicht mehr.

      1. Der 5V-Ausgang des Nano ist ein direkter Draht zur USB-Stromversorgung. Wenn das Problem wie von Bancbanus beschrieben gelöst werden kann sollte auch ein stärkeres USB-Netzteil helfen.

        Kannst du das bitte mal probieren und Feedback geben? Ich bekomme jetzt wohl auch eine der „Problem-Karten“ per Post und kann dann selber mal schauen ob es an der Karte liegt.

  13. hallo.
    vielen dank für die tolle idee und den sketch.
    es klappt eigentlich alles ausser das bei mir beim anlernen der karte nur die sounddatei mit der gesprochenen „eins“ abgespielt wird. sehe ich das richtig das auf der sd karte die ordner: mp3, advert, 01, 02, 03 etc drauf sein müssen? und die mp3 dateien im 001.mp3 format? (im pdf des dfplayer mini steht eben 0001.mp3)
    oder hat sonst jemand eine idee woran es liegen könnte?
    vielen dank im voraus für lösungen

    und nochmals vielen dank für da projekt

    1. Hallo Simon,

      ich hatte zwischendurch auch mal ähnliche Probleme. Was immer geholfen hat:

      – die SD Karte komplett neu formatieren (FAT)
      – die Dateien neu aufspielen
      – und wie immer drauf achten, dass keine anderen Dateien oder Ordner durch das OS abgelegt werden

      Die 0001.mp3 gilt nur für die Ordner /mp3 und /advert. In den 01,02,03,… – Ordnern gibt es 001.mp3 – 250.mp3. Bitte keine Lücken lassen!

  14. Hallo Thorsten,

    vielen Dank für Deine tolle Beschreibung der TonUINO Box. Ich habe zwei Hörbuchspieler Boxen auf Basis eines Raspberry Pi (2 bzw. Zero) gebaut und auf meiner Webseite: https://mesom.de/breabox2/index.html beschrieben. Zwei weitere haben ein Kumpel und ich mit mit dem DFMini Player aufgebaut, aber nicht dokumentiert. Das entfällt wohl nun, da ich einfach am Ende der Seite Deine Box verlinkt habe 😉

    1. Hallo Stefan, auch ein schönes Projekt was du da hast. Werde ich auch mal in meine Liste aufnehmen.

      Was mir besonders gut gefällt: das Read-Only FS. Aber wird das MINIBIAN noch weiterentwickelt bzw. kennst du eine Alternative? Ich wollte meine Pi Photo Booth die Tage mal umbauen.

  15. Hallo Thorsten, als ich das Projekt anfing, war Minibian gerade mal 2 Monate alt. Ich würde es auch wieder für ein Projekt verwenden, so lange es nicht dauernd im Netz hängt. Ich habe damals diese englische Anleitung benutzt: https://hallard.me/raspberry-pi-read-only/ .
    In dieser deutschen Anleitung (https://www.anginf.de/?p=579) wird behauptet, es sei egal, welche Version man nutzt. Ich bin da auch überhaupt kein Experte, aber ich wundere mich immer über die Rasbian Programmierer: Da so viele Leute Probleme mit Ihren SD Karten haben, sollte ein standardmäßiges (!) Read-only erste Priorität haben.

  16. Hallo

    Genau nach so einer Anleitung habe ich gesucht. Kann man das ganze auch mit einem WLAN Modul erweitern? Meine Vorstellung wäre das man das Modul per Tastendruck z. Bsp alle 3 Tasten gleichzeitig ein- und ausschaltet. Damit man per SSH an das System kommt. Kann man als Datenspeicher eine USB Festplatte verwenden die mit ins Gehäuse kommt? Von der FP soll sich dann die Datenbank die Dateien holen zum abspielen.

    Mfg steubi

    1. Hallo Roy, nein.

      Spaß beiseite… TonUINO geht genau in die andere Richtung. Es gibt kein vollwertiges OS, kein WLAN, kein USB, kein SSH aber dafür einen Mikrocontroller (Arduino Nano bzw. der Atmel darauf), einen MP3 Player und halt das RFID Modul um Ordner oder einzelne Dateien auf der SD-Karte direkt zu verknüpfen. Die Vorteile? Nur ein paar Augenblicke zum Starten des ganzen, geringer Stromverbrauch, kein Herunterfahren nötig, klein, leicht, günstig.

      Was du suchst ist eine Lösung auf Raspberry Pi Basis – davon gibt es einige und ich habe ein paar davon am Ende der Anleitung (in der auch all das was ich jetzt geschrieben habe stehen sollte) genannt.

  17. Hallo Thorsten,

    heute hab ich Deine Tonuino Platine bekommen und es hat viel Spaß gemacht, das Ganze zusammen zu löten. Ich hab noch einen Startup Jingle hinzugefügt und werd die Tage noch eine Status LED einbinden.

    Reizvoll finde ich an Deiner Lösung gegenüber dem Raspi die wesentlich schnellere Bootzeit und die einfache Bedienung, die aufs wesentliche reduziert ist, was gerade bei den ganz Kleinen nicht zu unterschätzen ist.

    Vielen Dank für Deinen Einsatz!

  18. bis meine Platinen kommen habe ich das mal zusammengestöpselt. Geniale Lösung. Super Software. Bin ganz begeistert!

    Kann man angelernte Karten wieder löschen?

    Gruß RUDI

  19. TonUINO ist ein wirklich tolles Projekt!

    Habe jetzt fast alle Komponenten zusammen und fange dann mal mit dem Werkeln an.
    Eine Frage hätte ich noch: gibt es noch einen Tipp für eine kleinere Powerbank, die aber keinen An- / Ausschalter hat?
    Die von Christian ist etwas zu groß für meine Box.
    Und sie sollte Laden & Entladen gleichzeitig können.

  20. Hallo Thorsten,

    vielen Dank, dass Du dieses Projekt für alle zugänglich gemacht hast.
    Ein ganz großes Lob für Deine Anleitung. Für mich als totale Laiin , einfach umzusetzen.
    Dennoch eine Frage, wie mein Vorredner, suche ich auch eine kleinere Powerbank. Meine Box jetzt ist 21cm x 13cm, würde sie gern noch kleiner bauen wollen.

    Vielen Dank Ingrid

  21. Hallo Thorsten,

    ist es auch möglich so eine Elternkarte mit Zeitbegrenzung(ca. 15min), zu integrieren? Ich denke da an eine gute Nachtgeschichte, die in 15min. stoppt.

    VG Ingrid

  22. Servus zusammen,
    ich frage mich wie der Aufbau mit einer Powerbank funktioniert ?
    Meine ersten Nachforschungen haben ergeben, dass der Arduino nicht genug Leistung zieht um eine Powerbank am laufen zu halten.
    Sprich – die Powerbank wird abschalten.
    Ich warte noch auf meine Platine um das Final auch testen zu können – eventuell kann aber jemand der es umgesetzt hat schonmal berichten wie er das umgesetzt hat oder mir einen Tipp geben ?

    1. Hallo Roman,

      ich habe die emfohlende Powerbank(ist verlinkt) von Christian genommen(schaltet nicht ab). Siehe Gallery. USB-Kabel schaltbar, läuft und läuft.
      Genau wie diese, suche ich eine kleinere.

    2. Hallo Roman,

      ich betreibe mehrere TonUINOs und habe das gerade nochmal explizit mit meinem Breadboardsetup getestet. Selbst wenn ich alle zusätzlichen Verbraucher abziehe (IR Sensor, LED) bleibt die Powerbank an (auch wenn gerade kein Titel gespielt wird). Powerbank ist eine markenlose. In meiner fertigen Box (2. von oben in der Galerie) verwende ich eine Anker PowerCore mit 5000mAh und habe auch kein Problem daß sich die Powerbank abschaltet.

      cheers
      Stephan

  23. Danke für eure Antworten.
    Ich habe eine andere Powerbank getestet – diese schaltet nicht ab !
    Wie habt ihr den USB-Anschluss Schaltbar gemacht ?
    Könnt ihr mir die Bauteile verlinken…bin was sowas angeht leider noch ein „bluiger Anfänger“
    Über Tipps bin ich dankbar.

  24. Hallo, super Projekt vielen Dank dafür!

    Woran könnte es liegen, das ich erstmal auf die Playtaste drücken muss bevor der Track anfängt. In deinem Video startet der Track beim Auflegen.

    Gruß

    1. Verwendest du den Hörbuch-Modus? Da hat jemand einen ähnlichen Bug beobachtet, ich konnte ihn aber noch nicht nachstellen.

      Kannst du wohl mal die Debug-Ausgabe an tonuino@voss.earth schicken? Sowas ist hier in den Kommentaren schlecht zu lösen. Die Dateinamen sind durchgängig nummeriert, oder?

  25. Hallo,

    ein tolles Projekt. Ich habe das ganze mit dem Gehäuse aus dem 3D-Drucker und einem Arduino Leonardo nachgebaut. Grundsätzlich funktioniert es… außer der Zufallswiedergabe. Nach mehreren Tagen debuggen mit anderen Modulen und Codebeispielen, habe ich festgestellt, dass alle abfragende Befehle inkl. des Trackcounts fehlschlagen. Abfrage des EQ etc. ebenfalls. Die Pins sind richtig konfiguriert. Verkabelung scheinbar auch. Wie gesagt, grundsätzlich funktioniert alles. Hast du vielleicht noch eine Idee?

  26. Hallo zusammen,
    ich habe mir den TonUINO auch zusammengelötet (zu ungeduldig, um auf die Platine zu warten =) ) und bin total begeistert. Vielen Dank, Thorsten!

    Dass man erst Play/Pause drücken muss, bevor der Track anfängt passiert bei mir nur, wenn die Tracks im Ordner nicht richtig benannt sind. Wenn die Tracks 001.mp3, 002.mp3 etc. heißen, spielt er sofort. Vielleicht hilft das ja.

    Als powerbank verwende ich eine 10Ah-Powerbank von xiaomi. Die schaltet auch nicht ab.
    https://www.gearbest.com/mobile-power-bank/pp_187685.html?wid=1527929

    1. Leider nein – das ist eine Einschränkung im DFPlayer. Kannst du mir deinen Anwendungsfall beschreiben bitte? Ich habe eine Idee für die nächste Software Version und würde das gerne dagegen halten.

      1. Meine alte Kassettensammlung aus den 80ern und 90ern habe ich digitalisiert. Auch für Hörspiele finde ich den Hörbuchmodus interessant, so dass ich diese mp3-Dateien in kleine Kapitel aufgeteilt habe. So muss man dann nicht von ganz vorne anfangen, wenn zwischendurch bspw. eine Liederkassette abgespielt wird. Die Sammlung besteht aus rund 150 Hörspielen, so dass mich die höhere Anzahl interessiert hätte.

  27. Super Sache!
    Würde gerne noch 2 Erweiterungen anregen:

    1. Erkennung das eine Karte auf dem Gerät liegt. Wenn die Karte entfernt wird, soll das Gerät pausieren bzw. alternativ stoppen.

    2. Irgend ein Powermanagement zb mit einem Batterie-Shield.

    3. Eine Adminkarte die die erweiterten Funktionen sperrt, wie zb Karte neu anlernen oder nen Titel überspringen

        1. Das Projekt nutzt einen anderen RFID Reader und demnach auch eine andere Library. Der Code wird wahrscheinlich nicht 1:1 übertragbar sein. Aber wenn ihr was hingebastelt habt, gerne posten. 🙂

  28. Ich versuche gerade noch die beiden Daten-Leitungen des USB-Kabels von außen bis zum DFPlayer durchzuschleifen, damit man von außen auf die SD-Card zugreifen kann.
    Bei dem oben verlinkten Put’n’Play Cube wurde das so gemacht. Hat das noch jemand versucht? Dort sieht man nur, dass 2x 27 Ohm Wiederstände verwendet wurden. Woanders habe ich gelesen, dass man die SD-Card nicht beschreiben kann, während der DFPlayer Strom bekommt??

  29. Hallo Thorsten (und Team),

    vielen Dank für diese tolle Entwicklung!
    Ist es richtig, dass das Lied weiterspielt, auch wenn man die Karte wieder herunternimmt? Gibt es die Möglichkeit (und wenn ja: wo) eine z.B. do.. while.. Schleife einzubinden? Also die Musikwiedergabe nur solange die Karte draufliegt?
    Vielen Dank! Das wird ein super Weihnachtsgeschenk!!

    1. Das ist richtig ja, Karte entfernen stoppt nicht die Wiedergabe. Ich habe auch schon damit experimentiert zu erkennen ob die Karte entfernt wurde. Long story short, wenn man bedenkt dass die Erfolgsrate des Kartenlesens vom Abstand, der Grösse des Tags etc. abhängt, ist das leider nicht stabil hinzubekommen.

    1. Das USB-Kabel zwischen Powerbank und Arduino Nano aufgetrennt. Spannungsführende Kabel(plus/rot) unterbrochen und an die beiden Enden den Schalter angelötet.

  30. Lieber Thorsten,
    da die (interessanten) Diskussionen hier zunehmen und es als Kommentar langsam unübersichtlich wird: Gäbe es eine Möglichkeiten, das Projekt evtl. in einem Forum weiterzudiskutieren?

  31. Hallo zusammen!

    Erstmal, ein super Projekt! Ich werde gleich 2 TonUINOs nachbauen (da 2 Töchter).
    Jetzt habe ich aber folgende Frage. Auf dem Schaltplan ist ein Arduino v2.3 abgebildet. Ich habe aber den v3, bei dem das PinOut anders angeordnet ist. Gehe ich dann der Bezeichnung nach? Also D9 bis D13.
    Ich hoffe ihr wisst was ich meine.

    LG René

  32. Hallo Thorsten,
    der TonUINO ist echt Klasse, ich habe den Spielwürfel für meine kleinen nachgebaut und die finden den richtig gut.

    Bei mir ist nur leider die verbaute Powerbank mit 1600mAh jeden morgen leer, kann man da irgendwie eine Sleep Funktion einbauen oder ist da vielleicht etwas kaputt das die Powerbank leer zieht?

  33. Super Projekt
    Kann ich deinen Code für meinen Arduino Uno auch verwenden
    Oder muss er umgeschrieben werden.
    Meine letztes Arduino Projekt ist schon Jahre her.
    Grüße Mario

  34. Hallo Thorsten,

    super Projekt!!! Die Platine ist auch schon bestellt!

    Ich habe leider beim Überprüfen des Arduino Programms eine ganze Liste an Fehlern. Kann das an unterschiedlichen Versionen der Arduino IDE oder der Bilblotheken liegen?

    Vielen Dank

    Danny

  35. Hallo Thorsten,
    erst einmal möchte ich dein projekt loben und mich bedanken, dass du es hier komplett öffentlich stellst.
    In den letzten Tagen habe ich mir auch eine Box gefertigt und zum laufen bekommen.
    Jetzt habe ich aber das Problem, dass viele Karten, Chips und auch Aufkleber von der Box nicht angenommen werden.
    Sie werden erkannt, dann gehe ich ganz normal das Menü durch und am Ende fängt die Box von vorne an mit „Oh, eine neue Karte“.
    Alle Karten und Aufkleber sind auch in der richtigen Frequenz und für NC522 geeignet.
    Mit dem Abstand zwischen Karte und Reader und mit der Stromquelle habe ich auch schon experimentiert.
    Hast du evtl noch eine Idee dazu?
    Vielen Dank schonmal
    MFG Michael

  36. Hallo!
    Schönes Projekt! Gefällt mir viel besser als die Raspi-Lösungen…
    Eine Frage zum Speaker-Ausgang vom dfplayer mini:
    da das ja nur Mono ist – mischt der die Kanäle oder fehlt einfach einer??
    Bei Hörspielen, wo manche Personen praktisch nur rechts oder nur links zu hören sind, wäre das natürlich wichtig.
    Viele Grüße
    Martin

    1. Hallo Martin,
      Stereo bekommst Du über DAC_L und DAC_R, laut beschreibung des Moduls: Audio Output, drive earphone and amplifier.
      Da über einen Stereoverstärker zwei Lautsprecher dran… dann solltest Du Stereo haben.
      Carsten

  37. Hallo Thorsten,
    hier auch noch von mir ein riesengroßes Dankeschön für Deine Mühe, dass für alle öffentlich zu machen, und für Deine Hilfe, ohne die ich es nicht geschafft hätte. Heute habe ich es endlich geschafft, den Tonuino zum Laufen zu bringen (für mich als absoluter Anfänger auf diesem Gebiet).
    Also danke nochmal.
    Beste Grüße
    Ingo

  38. Hallo,

    wir sind neu hier und hätten ein paar Fragen zum TonUNO.
    Wir wollen es als Schulprojekt programmieren und bauen.
    Jedoch haben wir keinen sketch mit dem es funktioniert.
    Wir würden uns sehr über Unterstützung freuen

  39. Hi,

    hab jetzt endlich ein Gehäuse. Wirklich ein tolles Kinderspielzeug. Aber ich komme mit der Lautstärke nicht klar. Zum einen geht es sehr schnell wie die ansteigt und abfällt und dann weiß ich nicht ob das nur mir so geht aber wenn ich aus versehen zu kurz drücke ist das Hörspiel leider unterbrochen und man muss von vorne anfangen da man ja auch nicht vorspulen kann. Kann man das nicht lieber umdrehen? Also kurz drücken Lautstärke anpassen, dann kann man das auch feiner abstufen und lang drücken >3s Titel springen?!?

  40. Hallo,
    super Projekt, bin total begeistert von der Idee. Möchte für meine Kids eine Box bauen. Habe aber leider keine Kenntnisse im Programmieren. Da das Arduino Nano Set erst im Februar geliefert wird, möchte ich es mit dem Arduino Uno R3 probieren. Nun meine Frage, brauche ich beim Uno auch den 1k Wiederstand und wenn, wo muss ich ihn verbauen.
    Viele Grüße Oliver

    1. Den brauchst du da auch. Gut ob der viel bringt sei mal dahingestellt aber es geht darum den Pegel anzupassen von den 5V vom Arduino auf die 3,3V für das MP3 Modul.

  41. Hallo,
    das ist eine tolle Idee, die werde ich definitv nachbauen!
    Aber wie werden die verschiedenen Modi aktiviert?
    im INO sind erstmal alle aktiv, wird das über die Karte gesteuert?
    Wenn ja, wie?

  42. Hallo,

    erstmal Danke für das tolle Projekt. Ich habe alles soweit zusammengebaut und es funktioniert bis zur Auswahl des Wiedergabemodus. Den Ordner beim zuordnen der Karte kann ich noch auswählen. Er spielt auch die Dateien im Ordner kurz an. Wenn ich dann zum nächsten Schritt, der Auswahl des Wiedergabemodus komme, geht es nicht weiter. Er spielt eine Millisekunde etwas ab, aber ich bekomme nicht die Bestätigung das die Karte verknüpft ist. Was kann ich denn noch tun?
    Vielen Dank schonmal vorab für die Hilfe.

  43. Hallo Hr. Voss,

    ich bin gerade dabei eine eigene Box zu bauen und hänge gerade an der Aufspielung der Hardware fest.

    Ich hab alles der Reihe nach eingegeben bzw. installiert wie sie es angegeben haben, aber beim Upload kommt folgende Fehlermeldung:

    Arduino: 1.8.9 (Windows 10), Board: „Arduino Nano, ATmega328P (Old Bootloader)“

    Fehler beim Kompilieren für das Board Arduino Nano

    exec: „C:\\Program Files (x86)\\Adler – Arduino Player für Kinder\\Arduino\\hardware\\tools\\avr/bin/avr-g++“: file does not exist

    Die Datei ist aber im angegeben Ordner vorhanden

    Was habe ich falsch gemacht?
    Können Sie mir weiterhelfen?

    Viele Grüße
    Jochen Adler

  44. Ich bin infiziert!
    Leichter, günstiger ( mit sowas besonderes ) kann man Kinder nicht glücklich machen!
    Dachte 20 € kannste investieren.
    Bekommen habe ich ein neues Hobby!

  45. Hallo

    Tolles Projekt. Komponenten gekauft und Box läuft.
    Ich hätte jedoch eine kleine Bitte.
    Kannst du vielleicht die Struktur der Daten (mode, special special2) welche auf die NFC karte geschrieben werden kurz beschreiben. Ich würde gerne die Karten mittels PC und einem Card Reader erstellen.

    Mfg Stefan

  46. Hi,
    wird dieses Projekt noch weiter verfolgt oder ist es eingestampft? Hätte ggf Interesse an deinem Board.

    Noch eine Frage: Reichen die 5V per USB aus um alles zu betreiben? An den Pins auf dem Nano liegen dann ja nur noch 3,x V. Der Lautsprecher benötigt dann vermutlich eine eigene Versorgung?

    LG Michael

  47. Hallo, Thorsten & Co

    Ich habe jetzt schon eine Box mit der „Classis“-Platine aufgebaut und zwei mit der AiO. Meine Enkelinnen sind begeistert. Erstens von der Box wo der Papa alles mögliche aufspielen kann und zweitens von ihrem Opa, der so eine Box ( Dank Eurer Vorarbeit) bauen konnte.
    Ganz herzlichen Dank dafür!!!

    Die Akku-Versorgung war bei der AiO-Version ja kein Problem, da ist ja alles anschlussfertig da.
    Ich hänge jetzt noch über der Akku-Stromversorgung der „Classic“-Box.
    Ich habe im Forum viel gelesen. Es wird da auch von einer Lade-Steuer-Platine geschrieben. Die scheint es leider nicht bis zur Serienreife geschafft zu haben.
    Wo finde ich den Entwurf? Mit Bauteilliste?

    Herzliche Grüße aus Bayern
    Klaus

  48. Hey Thorsten
    absolute spitzenarbeit. respekt.

    Ich habe daraus einen digitalen Plattenspieler gebaut. das gehäuse selbst kosntruiert und gedruckt. die Platten sind ebenfalls gedruckt und die rfid karten im druckprozess eingelegt, damit sie im inneren verdruckt werden.

    Aktuell habe ich noch das problem, dass der arduino manchmal nichts macht. als würde er festhängen bzw keine karte erkennen. (macht einfach nix)

    und gefühlt ist button debouncing ein problem. ich benutze solche beleuchteten arcade buttons. Da ich eher hobbybastler bin, weiß ich auch nicht obs ein software oder hardware problem ist.

    Ich würde das Projekt gern auf Thingiverse veröffentlichen. natürlich mit der verlinkung zu dieser seite, wenn du mir dein OK gibts. Da würde man auch bilder und ggfl videos zu dem Plattenspieler finden.

  49. Hallo,

    ich würde gerne auf den Lautsprecher verzichten und dafür einen Sonos Box die im Kinderzimmer steht damit „steuern“ gibt es hier jemanden der damit Erfahrung hat ?

  50. Hallo Thorsten
    Wenn man die super gute Idee deiner Musik-Box heute nachbaut, hat man unter umständen ein
    grösseres Problem, dass sich die Software nicht kompilieren läst. Jedenfalls mir ging es lange so, bis ich in der Community endlich den Nachtrag gefunden habe, dass die Bibliothek des DFPlayer-Mini MP3 unbedingt die Versiom 1.0.7 haben muss. Heute werden die meisten, die das System Arduino auf dem neusten Stand haben, wohl die Version 1.0.10 im System haben. Daher wäre es gut, wenn dieser Hinweis auch in der Bau-Anleitung stehen würde.
    Ansonsten ein sehr guter Beitrag, ich danke dir dafür!
    Gerhard

  51. Hallo Thorsten,

    erstmal Danke für deine prima Arbeit.
    Wie so viele hier, trete ich als Opa in Aktion.
    Leider ist es mir noch nicht gelungen deinen Sketsch (Tonuino) auf den Arduino zu laden.
    Fehlermeldung: Keine Headerdatei in TonUINO-DEV.
    Bin beide Wege gegangen. Einmal als Zip-Datei (Fehlermeldung: Zip-Datei enthält keine gültige Bibliothek) und wie beschrieben das direkte kopieren ins Sketchbook (Libraries Ordner).
    Habe noch zwei beliebige Sketsche aus der GitHub Respository geladen, haben funktioniert.
    Mein System scheint also zu passen.
    Was kann ich tun?
    Für deinen Einsatz herzlichen Dank.

    Gruß Heinrich

    1. Ich habe ein ältere Version der Bibliothek DFPlayer Mini Mp3 by Makuna installiert, das hat bei mir geholfen. Mit der neuesten gings bei mir auch nicht.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

%d Bloggern gefällt das: