# Hörbuchwürfel

- Rubrik: Werkstatt
- Datum: 2016 (aus dem Inhalt erschlossen)
- Adresse: https://electric-rocken.de/projekt/hoerbuchwuerfel/
- Autor: Axel Roll

> Ich wurde im Internet auf die Toniebox aufmerksam. Ein kleiner kindgerechter Würfel, mit dem sich Kinder selbstständig Hörbücher anhören können.

![](https://electric-rocken.de/assets/bilder/projekte/cube/caption.webp)

Ich wurde im Internet auf die Toniebox aufmerksam. Ein kleiner kindgerechter Würfel, mit dem sich Kinder selbstständig Hörbücher anhören können. Die Grundidee war sehr interessant, ich fand aber die Preispolitik nicht so toll und auch nicht, dass man nicht ohne Weiteres eigene Hörbücher aufspielen kann. Zudem hängt das Gerät am WLAN, was ich nicht so toll fand.

## Konzept

Der Hörbuchwürfel ist ein mobiles Hörbuch-Abspielgerät. Es verfügt über einen **SD-Karten-Leser**, auf dem sich die Hörbücher befinden, und einen **RFID-Leser**.
Wird ein RFID-Tag, der beispielsweise in einer zum Hörbuch passenden **Figur** eingeklebt wurde, erkannt, wird das Abspielen des entsprechenden Hörbuchs über die zwei eingebauten **Lautsprecher** oder die **Kopfhörer**-Buchse gestartet. Eine **LED** zeigt den Zustand des Gerätes an.
Das Laden des integrierten Akkus erfolgt kabellos, **induktiv**.
Mit zwei Tasten kann die **Lautstärke** angepasst werden. Zwei weitere Tasten dienen zum Vor- und Zurückspringen innerhalb des Hörbuchs.
Zum Aufladen des integrierten **Akkus** wird das Gerät auf ein Qi-Ladegerät gestellt.

### Geräteverhalten

- Über einen **Magnetsensor**, der auslöst, wenn eine Figur eingesteckt wird, wird das Gerät eingeschaltet
- Wird die Figur entfernt, wird das Gerät ausgeschaltet
- Nach dem Einschalten wird die SD-Karte eingelesen
- Auf der SD-Karte wird die **Indexdatei** gesucht und geladen. Diese enthält eine Zuordnung von RFID-Tag zu einem Hörbuch-Ordner
- Wenn ein Tag erkannt wurde, in der Index-Liste den entsprechenden Ordner ermitteln und mit dem Abspielen der zuletzt gespielten Datei(-nummer) beginnen
- Wenn der Tag nicht in der Liste enthalten ist, diesen in der Indexliste / Indexdatei aufnehmen, jedoch ohne Ordnerangabe. 
Dies ermöglicht es später, neue, noch unbekannte Tags zu erkennen und anzulernen.
- In der Indexdatei wird aufgezeichnet, die wievielte Datei von jedem Tag / Ordner als letzte gespielt wurde.
- Wird der Tag entfernt, wird die Nummer der aktuellen Datei in der Indexdatei gespeichert
- Wurden alle Dateien eines Ordners gespielt, schaltet sich das Gerät ab und der Zähler der "zuletzt gespielten Dateinummer" wird zurückgesetzt auf 1
- Mit zwei Tasten kann die aktuelle Dateinummer inkrementiert oder dekrementiert werden, um innerhalb des Ordners Dateien zu überspringen
- Mit zwei Tasten kann die **Lautstärke** inkrementiert oder dekrementiert werden.
- Die aktuelle Lautstärke wird jeweils vor dem Ausschalten in der Indexdatei **gespeichert**
- Eine **mehrfarbige LED** zeigt besondere Zustände oder Ereignisse an:

- Nach dem Hochfahren leuchtet die LED kurz **hellblau** auf
- Vor dem Herunterfahren leuchtet die LED **blau** auf
- Wird ein RFID-Tag erkannt und der entsprechende Ordner befindet sich auf der SD-Karte, leuchtet die LED **weiß** auf, sonst **rot**
- Wird die Lautstärke verändert, leuchtet die LED **gelb** auf
- Wird die Dateinummer verändert, leuchtet die LED **grün** auf
- Wird das Gerät auf die Ladeschale gestellt, leuchtet die LED **orange** (dauerhaft), bis es voll geladen ist
- Ist der Akku fast leer, leuchtet die LED dauerhaft **rot**
- Wird nach dem Starten keine SD-Karte gefunden, leuchtet die LED **violett** auf und das Gerät fährt herunter

## Gebaut wurde ein Buch

Ein Würfel ist es am Ende nicht geworden. Das Gerät steckt in einer alten
Buchattrappe mit Ledereinband und einem Segelschiff auf dem Deckel – von außen fällt
nur der kleine Knopf auf, hinter dem die Leuchte sitzt.

![Das geschlossene Gerät: eine Buchattrappe mit Segelschiff auf dem Deckel](https://electric-rocken.de/assets/bilder/fotos/werkstatt/hoerbuch-buch-zu.webp)

An der unteren Kante sitzen die vier Tasten – zwei gelbe für die Lautstärke, zwei grüne
zum Blättern. Groß und bunt genug, dass Kinderhände sie ohne Erklärung finden.

![Die vier farbigen Tasten an der unteren Kante des Buches](https://electric-rocken.de/assets/bilder/fotos/werkstatt/hoerbuch-tasten.webp)

Aufgeklappt sieht man, warum es ein Buch sein musste: Es ist flach genug für die
Platinen und trotzdem groß genug für Akku, Lautsprecher und die rote Antennenschleife
des Lesers, die hinter dem Deckel klebt. Wird eine Figur daraufgestellt, erkennt er sie
durch den Deckel hindurch.

![Das aufgeklappte Buch: Platinen, Akku, Lautsprecher und die rote Leseantenne im Deckel](https://electric-rocken.de/assets/bilder/fotos/werkstatt/hoerbuch-offen.webp)

## Hardware

Die Basis für das Projekt ist ein Arduino. Ich habe zuerst mit einem **Arduino UNO** angefangen und bin dann zu einem **Arduino MEGA 2560** gewechselt, da dieser mehr Flash und RAM besitzt und mir die Pins am UNO langsam ausgingen.

### Verwendete Teile

- 1x Arduino UNO R3 / Arduino MEGA 2560
- 1x Adafruit "Music Maker" MP3 Shield
- 1x RFID Leser (125kHz) + diverse RFID-Tags
- 1x Adafruit PowerBoost 500 Charger
- 1x LiPo 4400mAh Akku
- 1x WS2811 RGB LED
- 4x Tasten (Lauter, Leiser, nächste Datei, vorherige Datei)
- 1x Magnetsensor
- 2x Lautsprecher
- 1x Qi-Ladegerät für Smartphone
- 1x Qi-Receiver für Smartphone

### Pinout

| Arduino | ATmega | Funktion | Beschreibung |
| --- | --- | --- | --- |
| 8 | PB0 | | |
| 9 | PB1 | | |
| 10 | PB2 | RX | RFID Serial Empfangen |
| 11 | PB3 | MOSI | VS1053 & SD |
| 12 | PB4 | MISO | VS1053 & SD |
| 13 | PB5 | CLK | VS1053 & SD |
| | | | |
| 18 | PC0 | BUTTON | Lautstärke - |
| 19 | PC1 | BUTTON | Lautstärke + |
| 20 | PC2 | BUTTON | Vorherige Datei |
| 21 | PC3 | BUTTON | Nächste Datei |
| 22 | PC4 | INPUT | Lade LED des Ladereglers |
| 23 | PC5 | INPUT | Fertig LED des Ladereglers |
| | | | |
| 0 | PD0 | INT | Magnetsensor |
| 1 | PD1 | INPUT | Akku Leer LED des Ladereglers |
| 2 | PD2 | TX | RFID Serial (ungenutzt) |
| 3 | PD3 | DRQ | VS1053 Data Request |
| 4 | PD4 | SD_CS | SD-Karten ChipSelect |
| 5 | PD5 | OUT | WS2811 LED |
| 6 | PD6 | D/C | VS1053 Data / Command |
| 7 | PD7 | CS | VS1053 CS |
