/TonUINO

Die DIY Musikbox (nicht nur) für Kinder

Primary LanguageC++GNU General Public License v3.0GPL-3.0

TonUINO

Die DIY Musikbox (nicht nur) für Kinder.

GitHub Actions | AlexanderWillner/tonuino license download

English Readers (für unsere englischsprachige Leserschaft)

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.

Zusammenfassung

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!

Drei Bausteine

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.

Mikrocontroller-Hardware

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:

PIN-Belegung PIN-Schaltplan

Notwendige Grundausstattung (ca. 50 EUR)

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

Optionale erweiterte Hardwareausstattung (ca. 30-50 EUR)

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.

Systemnahe Programmierung

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.

Für Benutzer

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.

  1. Download der aktuellen Firmware.
  2. Die Datei TonUINO.zip landet dann im Download-Verzeichnis und muss mit einem Doppelklick entpackt werden. Es sollte dann ein Verzeichnis TonUINO existieren, in der sich die Datei Tonuino.ino befindet.
  3. Anschließend muss die Arduino GUI herunter geladen und installiert werden (unter macOS mit Homebrew einfach über brew cask install arduino).
  4. Nach dem Starten der Arduino GUI muss die o.g. Datei geöffnet werden und notwendige Bibliotheken herunter geladen werden. Unter Werkzeuge und dann Bibliotheken Verwalten folgende Pakete suchen und installieren:
    1. JC_Button (von dem Entwickler Jack Christiansen)
    2. DFPlayer Mini Mp3 (von dem Entwickler Makuna)
    3. MFRC522 (von dem Entwickler GitHubCommunity)
  5. Nun unter Werkzeuge und dann
    1. Board den Punkt Arduino Nano auswählen
    2. Prozessor den Punkt ATmega328P (Old Bootloader) auswählen
    3. Port den Punkt /dev/cu.wchusbserial??? auswählen (je nach Betriebssystem könnte es anders aussehen)
  6. Nun kann die Software unter Sketch und dann Hochladen auf den Arduino hoch geladen werden.

Kurzanleitung zum Aufspielen der Firmware für Benutzer (auf das Video klicken):

Kurzanleitung zum Aufspielen der Firmware für Benutzer

Darüber hinaus muss noch die SD-Karte vorbereitet werden:

  1. Die Karte am besten mit dem SD Memory Card Formatter mit FAT32 formatieren.
  2. Wurde das Online-Update genutzt, müssen noch die Dateien für die SD-Karte heruntergeladen und entpackt werden. Die Ordner mp3 und advert aus dem Ordner sd-card müssen auf die SD-Karte kopiert werden. Skripte wie create-soundfiles.sh brauchen gar nicht ausgeführt werden.
  3. 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 (mit 001, dann ggf. 002, ...). Am leichtesten ist es eines der Tools von der Community zu verwenden.
  4. Die Codierung der NFC-Karten und des Admin-Menüs wird durch die Videos deutlich und sind weitestgehend selbsterklärend.

Für Entwickler

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:

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

Gehäusebau

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.

Notwendige Grundausstattung

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.

Optionale erweiterte Gehäuseausstattung

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.