Die DIY Musikbox (nicht nur) für Kinder.
For various reasons, we've decided to write this guide in German only. However, you can copy the text from this web page and paste it to DeepL to easily translate the whole documentation at once.
Kinder zu beschenken ist nie einfach. Das Ziel des Projektes TonUINO von Thorsten Voss ist es, eine “Musikbox (nicht nur) für Kinder” selbst zu bauen. Es macht einen riesigen Spaß, die meisten Kinder sind begeistert und diese Seite soll der großartigen Community etwas wieder geben. Denn so gut die Webseite, das Forum und die Videos auch sind, der Bau der ersten Box(en) wäre mit weniger Zeitaufwand möglich.
Insbesondere unterstützt diese Anleitung hier “Newbies” bei der Auswahl der Hardware, geht sequenzieller durch die notwendigen Schritte, beinhaltet Links zu den wichtigsten Informationsquellen und optimiert den Code für Softwareentwickler. Hoffentlich werden diese Anregungen hier irgendwann in die offizielle Dokumentation aufgenommen und machen diese Seite damit zukünftig überflüssig. Jede Art von Pull Requests oder Issues, die die Dokumentation oder den Code gemeinsam verbessern, sind mehr als willkommen!
Es ist wichtig zu wissen, dass die Kunst ein TonUINO zu bauen grundsätzlich als ein Zusammenspiel von drei unterschiedlichen Disziplinen angesehen werden kann: Mikrocontroller-Hardware, systemnahe Programmierung und Gehäusebau. Im Folgenden wird für jeden der Bereiche die notwendige Grundausstattung und sinnvolle Erweiterungen sehr knapp vorgestellt. Das Forum ist ein Quell vieler weiterer Ideen.
Es muss gelötet werden. Wir gehen davon aus, dass Lötkolben, Lötzinn und Löterfahrung vorhanden sind. Eine sehr gute Anleitung gibt es bei YouTube und einen Schaltplan auf der offiziellen Webseite. Da hier jedoch die genaue Orientierung der Pins nicht ersichtlich ist, hilft auch noch ein alternativer Schaltplan von dieser Webseite, um die richtigen Pins zu identifizieren. Auf Basis eines Forum-Beitrages im Folgenden eine tabellarische Übersicht:
Text | Pin | Gerät | Ardunio: Pin | Ardunio: Text | Ardunio: Text | Ardunio: Pin | Gerät | Pin | Test |
---|---|---|---|---|---|---|---|---|---|
01 | D0 | Vin | 30 | ||||||
02 | D1 | GND | 29 | RFID | 6 | GND | |||
03 | 28 | ||||||||
GND | 10 | MP3 | 04 | GND | 5V | 27 | |||
TX | 3 | MP3 | 05 | D2 | A7 | 26 | |||
RX | 2 | MP3 | 06 | D3 | A6 | 25 | |||
BSY | 16 | MP3 | 07 | D4 | A5 | 24 | |||
08 | D5 | A4 | 23 | ||||||
09 | D6 | A3 | 22 | ||||||
10 | D7 | A2 | 21 | Knopf | 3 | - | |||
11 | D8 | A1 | 20 | Knopf | 2 | + | |||
RST | 7 | RFID | 12 | D9 | A0 | 19 | Knopf | 1 | Play |
SDA | 1 | RFID | 13 | D10 | REF | 18 | |||
MOSI | 3 | RFID | 14 | D11 | 3,3V | 17 | RFID | 8 | 3,3V |
MISO | 4 | RFID | 15 | D12 | D13 | 16 | RFID | 2 | SCK |
Die passenden Abbildungen:
Die notwendigen Komponenten können über Reichelt, Conrad, Amazon, E-Bay oder Alibaba bezogen werden. Meist lohnt sich jetzt schon die Planung von mehreren TonUINO-Boxen (dann kostet eine Box deutlich weniger). Im Folgenden Amazon-Affiliate-Links von Komponenten, die Thorsten und andere aus der Community erfolgreich verbaut haben. In der Community Hardware FAQ gibt es weitere wertvolle Hinweise.
Anzahl | Produkt | Beschreibung | Hinweis | Kosten |
---|---|---|---|---|
1 | TonUINO Set | Die Hauptkomponenten | Sollte das Set ausverkauft sein, im Folgenden die vier Komponenten | ca. xx EUR / Stück |
(1) | Arduino Nano | Zum Ansteuern | Es können auch andere Arduino-Varianten gekauft werden | ca. 4 - 8 EUR / Stück |
(1) | DFPlayer Mini | Zum Abspielen der Musik | Dieser Player ist recht empfindlich was die genaue Bespielung der SD-Karte angeht | ca. 3-6 EUR / Stück |
(1) | RFID Kit RC522 | Zum Lesen und Beschreiben der NFC-Karten | ca. 2-6 EUR / Stück | |
(10) | RFID-Karten | Zur Auswahl der Musik | müssen im 13,56 MHz Band funken | ca. 0,40 - 0,80 EUR / Stück |
1 | Mini-USB-Kabel | Wenn nicht vorhanden, Zum Aufspielen der Software und optional zur Stromversorgung | muss Datenübertragung unterstützen | ca. 2-4 EUR / Stück |
(1) | USB-Netzteil | Optional zur Stromversorgung | ca. 5 EUR / Stück | |
1 | Passiver Lautsprecher | Zum Anhören der Musik | z.B. ein Regallautsprecher oder etwas kleineres | ca. 2-50 EUR / Stück |
1 | MicroSD-Karte | Zum Speichern der Musik | Maximal 32 GB | ca. 4-6 EUR / Stück |
3 | Knöpfe | Zum starten/stoppen, lauter/leiser stellen, ... | Es gibt auch Varianten mit 5 Knöpfen. Knöpfe mit eingebauter LED haben weitere Vorteile. | ca. 0,50 EUR / Stück |
20 | Kabel | Zum Verbinden | Der Bedarf an Kabeln kann schnell nach oben gehen (siehe Erweiterungen unten) | ca. 0,05 EUR / Stück |
1 | 1K Resistor | zum X | Einzeln zu kaufen ggf. recht teuer | ca. 0,01 EUR / Stück |
Anzahl | Produkt | Beschreibung | Hinweis | Kosten |
---|---|---|---|---|
1 | TonUINO-Classic-Platine | Für weniger Kabelsalat. Enthält auch schon den benötigten Widerstand. Wird auch in der o.g. YouTube-Anleitung genutzt. | ca. 10 EUR / Stück | |
1 | Köpfhörer-Platine | Zum Anschluss von Kopfhörern | derzeit im Set der Classicplatine enthalten. Alternativ der klassische Weg. | ca. X EUR / Stück |
1 | Akku | Zum Kabellosen Betrieb | Dazu gibt es einige Diskussionen und Alternativen (z.B. Wemos Battery Shield). Gute Erfahrungen gibt es mit dem Hersteller RAVPower. Wichtige Eigenschaften: power pass trough, automatische Abschaltung. | ca. 15 EUR / Stück |
1 | Micro-SD-Verlängerung | Zum Austausch der SD-Karte von außen | Je nachdem wie das Gehäuse gebaut ist. Auch könnte eine externe USB-Buchse genutzt werden, um MP3-Dateien aufzuspielen. Das Kabel kann allerdings unter Umständen die Autoabschaltung verhindern. | ca. 3 EUR / Stück |
1 | USB-Buchse | Zum Aufladen bei Akkubetrieb | Kein einfaches Thema und kann sowohl zum Aufladen als auch für ein Firmware-Upgrade oder zum MP3-Aktualisieren gleichzeitig genutzt werden. | ca. 4-20 EUR / Stück |
1 | Ein- und Ausschalter | Zum Strom sparen und Wiederbeleben bei Akkubetrieb | Ein Schalter mit Lichtindikator erscheint sinnvoll für eine gewisse Grundlast | ca. 0,50-20 EUR / Stück |
Mehrere | Etiketten | Zum Bekleben der NFC-Karten, denn diese müssen irgendwie auseinandergehalten werden | Es gibt ganz viele weitere Varianten zum Bedrucken. Am Ende sollte ein DIN EN71-3 Klarlack aufgetragen werden. Ein einfacher Edding zum Beschriften reicht jedoch auch. | ca. 0,80 EUR / Stück |
1 | Bluetooh-Sender | Zum Anschluss von kabellosen Kopfhörern | Details zum Anschluss im Forum hier oder hier. | ca. 19 EUR / Stück |
Es gibt zahllose weitere Ergänzungen, wie LED-Stripes etc. pp. Positive Erfahrungen sollten gerne in diese Liste hier integriert werden.
Es muss nicht unbedingt programmiert werden. Die Installation der Firmware auf den Arduino ist sehr einfach. Ganz einfach geht es mit dem Online-Update. Alternativ kann die Anleitung auf der offiziellen Webseite genutzt werden. Wenn jedoch mehr Knöpfe angesprochen werden sollen (siehe oben), muss die Software dann noch geringfügig angepasst werden.
Es gibt zwar, wie bei jeder Software, ein paar kleine Software-Fehler, die jedoch in unterschiedlichen Branches gefixt wurden. Ziel ist es, diese Änderungen in so wenigen Branches wie möglich pflegen zu müssen.
Als einfacher Benutzer sollte die Programmierung so einfach gestaltet sein wie möglich. Deshalb gibt es das Online-Update. Ist der Upload erfolgreich abgeschlossen, kannst du direkt mit befüllen der SD-Karte weitermachen.
Alternativ im Folgenden die notwendigen Schritte, wenn das Online-Update nicht verwendet wird. Eine Community Software FAQ gibt weitere Hilfestellungen. Unten gibt es einen Ablauf als Video.
- Download der aktuellen Firmware.
- Die Datei
TonUINO.zip
landet dann imDownload
-Verzeichnis und muss mit einem Doppelklick entpackt werden. Es sollte dann ein VerzeichnisTonUINO
existieren, in der sich die DateiTonuino.ino
befindet. - Anschließend muss die Arduino GUI herunter geladen und installiert werden (unter macOS mit Homebrew einfach über
brew cask install arduino
). - Nach dem Starten der Arduino GUI muss die o.g. Datei geöffnet werden und notwendige Bibliotheken herunter geladen werden. Unter
Werkzeuge
und dannBibliotheken Verwalten
folgende Pakete suchen und installieren:JC_Button
(von dem EntwicklerJack Christiansen
)DFPlayer Mini Mp3
(von dem EntwicklerMakuna
)MFRC522
(von dem EntwicklerGitHubCommunity
)
- Nun unter
Werkzeuge
und dannBoard
den PunktArduino Nano
auswählenProzessor
den PunktATmega328P (Old Bootloader)
auswählenPort
den Punkt/dev/cu.wchusbserial???
auswählen (je nach Betriebssystem könnte es anders aussehen)
- Nun kann die Software unter
Sketch
und dannHochladen
auf den Arduino hoch geladen werden.
Kurzanleitung zum Aufspielen der Firmware für Benutzer (auf das Video klicken):
Darüber hinaus muss noch die SD-Karte vorbereitet werden:
- Die Karte am besten mit dem SD Memory Card Formatter mit FAT32 formatieren.
- Wurde das Online-Update genutzt, müssen noch die Dateien für die SD-Karte heruntergeladen und entpackt werden. Die Ordner
mp3
undadvert
aus dem Ordnersd-card
müssen auf die SD-Karte kopiert werden. Skripte wiecreate-soundfiles.sh
brauchen gar nicht ausgeführt werden. - Auf der SD-Karte müssen die Ordner für die Musik erstellt werden (ohne Lücken beginnend mit
01
, dann ggf.02
, ...) und die MP3-Dateien der Lieder müssen ohne Lücken nummeriert werden (mit001
, dann ggf.002
, ...). Am leichtesten ist es eines der Tools von der Community zu verwenden. - Die Codierung der NFC-Karten und des Admin-Menüs wird durch die Videos deutlich und sind weitestgehend selbsterklärend.
Der Ablauf für Entwickler sieht etwas anders aus und dieses Repository hat sich zum Ziel gesetzt, insbesondere diese Zielgruppe mit zu unterstützen. Insbesondere die Unterstützung von Arduino CLI,PlatformIO und GitHub Actions wurde umgesetzt. Für diese Zielgruppe sollte insbesondere das Makefile
eine Hilfe sein, die alle o.g. Punkte und weitere Aspekte automatisiert:
$ make
TonUINO Makefile
================
Configured to use MCU "arduino:avr:nano:cpu=atmega328old" attached to port "/dev/cu.usbserial-1410".
Available commands:
- help : get support from the community
- install : installation of required binaries (arduino-cli)
- init : initialize environment (arduino-cli)
- compile : create binary
- upload : store binary on board flash
- find : get information about the pluged-in board
- test : run some basic tests on the code
- clean : delete temporary files
- feedback : provide feedback and report issues
Kurzanleitung zum Aufspielen der Firmware für Entwickler:
Darüber hinaus gibt es
- auf der offiziellen Webseite und im Repository noch einige nützliche Skripte, die noch nicht in das
Makefile
integriert sind - Firmware-Alternativen, die je nach Planung ggf. weitere notwendige Features unterstützen
- die Fritzing GUI, um kompliziertere Aufbauten zunächst am Rechner zu visualisieren und zu planen (unter macOS mit Homebrew einfach über
brew cask install fritzing
) - ein change log, die Änderungen der Software dokumentiert
Man sollte kreativ werden. Nach dem Zusammenbau der Hardware, dem Aufspielen der Firmware, dem Befüllen der SD-Karte und der Codierung der ersten NFC-Karte, kann man direkt loslegen. Allerdings ist so ein Kabelsalat weder hübsch noch Kind-gerecht.
Eine stabile Pappschachtel (z.B. die Verpackung des Mobiltelefons oder eine Taschentuchbox) zusammen mit einem günstigen Lautsprecher oder eine fertige Lautsprecherbox aus Holz. Eine Heißklebepistole oder doppelseitiges Klebeband können zum besten Freund werden.
Es gibt erstaunliche Arbeiten, die z.B. in der Gallerie aufgeführt sind, und hier kommt die eigentliche Kreativität zum Einsatz (Stofftiere, Schatzkisten, LED-bestückte Jukeboxen, ...). Hier kann mit einem 3D-Drucker kann das eigene Projekt natürlich noch auf eine ganz andere Ebene gehoben werden.