MP3 Player für Blinde: BReaBox
Durch einen im Alter
erblindeten Verwandten ohne Computerkenntnisse kam mir die Idee
für ein anderes sinnvolles Bastelprojekt: die „Book
Reading
Box“.
Diese ist gedacht um Hörbücher im MP3 Format zu hören ohne
dass dafür auf irgendeine visuelle Rückmeldung geachtet werden
muss. Statt dessen werden die Titel der Bücher und die
Kapitelnummern angesagt.Zum
Einsatz kommt ein Raspberry Pi und eine Soundkarte der Firma
Cirrus Logic (ehemals Wolfson) – von der ich aus eigener
Erfahrung an dieser Stelle nur dringend abraten kann*.Da die Soundkarte alle Pins bis auf die SPI Schnittstelle des Raspberry belegt und der Rechner keine analogen Eingänge für den von mir verwendeten Lautstärke Regler besitzt musste ich eine Alternative entwickeln. Ich entschied ich mich für einen Attiny84 der die Taster, den Schalter und den Poti einliest und zyklisch eine serielle Botschaft mit Checksumme an den Raspberry schickt. Bei einer Änderung des Buchkapitels wird ein Lesezeichen im jeweiligen Buchordner gesetzt. Zudem wird nach einem Neustart das zuletzt gespielte Buch und Kapitel erneut gestartet. Auf einen 64 GB Stick passen rein rechnerisch bei 1 Stunde Spielzeit pro Tag rund 3 Jahre Hörbücher.Durch leimen der Halterungen in Kombination mit Kabelbindern haben nun sowohl die Zugentlastung für die Stromkabel und Kopfhörerverlängerung als auch die Attiny und Raspberry Platine eine sehr gute Fixierung.Der Schaltplan ist recht übersichtlich, jedoch benötigt das Löten und Anbringen aller Elemente doch relativ viel Zeit. Die Bedeutung der Bedienelemente ist sehr einfach gehalten:
Quellcode
Die Zip Datei Final.zip besteht aus den folgenden für das Projekt wichtigen Dateien:asoundrc_modified - Diese Datei muß nach dem Starten von Raspbian automatisiert die original Datei überschreiben (Workaround) BReaBox_main.py - Das Hauptprogramm, was permanent auf dem Raspberry läuft BReaBox_prepare.py - Dieses Programm wird benötigt, um auf dem Raspberry oder dem Mac die Sounddateien u.a. für die Hörbuchtitel oder die angesagten Kapitelnummern zu generieren (Das klingt dann so: Buchtitel, Kapitelnummer, Shutdown) BReaBox_starter.sh - Dieses Shellskript startet das Python ..._main.py und eine Shell, die die aktuelle Laufzeit anzeigt shellwithlogging.sh - Dieses Skript zeigt das freie RAM und die uptime BReaBox.ino - Dieses Arduino Programm läuft auf dem ATtiny84 Bestellliste
Aus Neugierde heraus
habe ich eine Aufstellung der Unkosten ohne Versandkosten und
nicht verwendete Teile erstellt.
|