- Ausgangspunkt war das Problem, dass komplexe Fernbedienungen und die Autoplay-Struktur moderner Fernseher Kindern keine Autonomie geben
- Um für seinen 3-jährigen Sohn ein physisches und intuitives Gerät zur direkten Bedienung zu bauen, nutzte er Disketten
- Beim Einlegen der Diskette lesen ATMega- und ESP8266-Mikrocontroller die Daten und steuern daraufhin den Chromecast
- Mit den Befehlen
diskin und diskout werden Wiedergabe und Pause ausgeführt; jede Diskette startet einen bestimmten Videosatz oder Musik
- Ein experimenteller Versuch, Kindern durch die physische Handhabung digitaler Inhalte eine selbstbestimmte Auswahl zu ermöglichen
Das Problem moderner Fernseher und ein neuer Ansatz
- Moderne Fernseher sind durch komplexe Fernbedienungen und App-Oberflächen für Kinder schwer eigenständig zu bedienen
- Apps empfehlen ständig weitere Inhalte und lenken dadurch die Aufmerksamkeit ab
- Am Ende müssen Kinder Erwachsene um Hilfe bitten und landen in einer Situation, in der Autoplay einfach weiterläuft
- Deshalb wurde als Ziel ein einfaches, physisches System festgelegt, das Kinder selbst bedienen können
- Entscheidend ist das Gefühl, dass Inhalte nicht in der „Cloud“, sondern auf einem physischen Medium gespeichert sind
- Das System ist so gestaltet, dass pro Interaktion nur ein einziges Video abgespielt wird
Die Wahl der Diskette und die erste Idee
- Genutzt wurde der Erlebniswert der mechanischen Geräusche und Haptik von Disketten
- Das Klicken beim Einlegen, das Rotationsgeräusch und das Bewegen des Lesekopfs verstärken die physische Interaktion
- Zunächst wurden Disketten mit eingebauten RFID-Tags in Betracht gezogen, doch da Zerlegen und Zusammenbau umständlich waren, fiel die Wahl auf einen anderen Ansatz
- Stattdessen wurde auf echten Disketten eine kleine Datei (
autoexec.sh) gespeichert, damit Daten erkannt werden können
- Sie lassen sich mit einem USB-Diskettenlaufwerk leicht anpassen
- Alle Geräusche werden als echte mechanische Klänge eines realen Diskettenlaufwerks wiedergegeben
Struktur zur Erkennung der Diskette und zum Auslesen der Daten
- Diskettenlaufwerke verfügen grundsätzlich über keine ausreichende Erkennung für eingelegte Disketten
- Das „Disk Change“-Signal auf Pin 34 funktioniert in den meisten Fällen nicht
- Als Lösung wurde ein mechanischer Rollschalter ergänzt, um das Einlegen zu erkennen
- Zum Lesen der Daten wird die Arduino FDC Floppy Library verwendet
- Das Einlesen von Dateien aus dem FAT-Dateisystem ließ sich vergleichsweise einfach umsetzen
- Ein AVR-basiertes Arduino übernimmt die Diskettensteuerung, während ein ESP-basiertes Board die WiFi-Kommunikation erledigt
- Verwendet wurde zwar ein Board, das beide Chips kombiniert, empfohlen wird es wegen der komplexen Einrichtung aber nicht
Stromversorgung und Stabilitätsprobleme
- Die Fernbedienung muss batteriebetrieben sein, wobei beim anfänglichen Anlaufen des Diskettenlaufwerks ein starker Stromspitzen-Effekt auftritt
- Verwendet wird ein 18650-Lithium-Akku (3,7 V), die Versorgung mit 5 V erfolgt über ein XL6009 DC-DC-Boost-Modul
- Das Problem, dass der Mikrocontroller durch die anfängliche Stromspitze zurückgesetzt wird, wurde mit einem 1000uF-Kondensator entschärft
- Auch die Art der Erdungsverbindung hat großen Einfluss auf die Stabilität
- Die Masse des Laufwerks muss vom Mikrocontroller getrennt werden; gelöst wurde das, indem alle Logik-Pins auf Eingangsmodus (hohe Impedanz) gesetzt wurden
Ablauf zwischen den Mikrocontrollern
- Der ATMega übernimmt die Gesamtsteuerung, der ESP8266 ausschließlich die WiFi-Übertragung
- Reihenfolge des Ablaufs
- Beim Einlegen einer Diskette wird der ATMega per Interrupt aufgeweckt
- Der ESP wird per Reset aktiviert
- Die Nachricht „diskin“ wird gesendet, der ESP überträgt sie per WiFi
- Die Diskette wird gelesen und der Inhalt an den ESP übergeben
- Nach dem Stoppen der Rotation wechselt das System in den Energiesparmodus
- Beim Entfernen der Diskette wird die Nachricht „diskout“ gesendet
- Rückkehr in den Ausgangszustand
- Das Gehäuse wurde aus laser-geschnittenen MDF-Platten gefertigt; der gesamte Code ist im GitHub-Repository FloppyDiskCast veröffentlicht
Serverseitige Steuerung und Chromecast-Anbindung
- Serverseitig wird die bestehende
netcat | bash-Struktur erweitert, um Befehle zu verarbeiten
diskin → Chromecast erhält den Befehl „Wiedergabe“
diskout → Befehl „Pause“
- Bestimmte Disketten übernehmen Zufallswiedergabe oder sequenzielle Wiedergabe
- Beispiel:
dad-music spielt zufällig eines der Musikstücke des Vaters ab
fantus-maskinerne spielt nur die nächste Episode ab
- Alle Befehle bleiben idempotent, um doppelte Ausführungen zu verhindern
Praxiseinsatz und Ergebnis
- Der 3-jährige Nutzer lernte die Bedienung durch Einlegen und Herausnehmen von Disketten schnell
- Er konnte Musik und Fernsehsendungen selbstständig abspielen und pausieren
- Einige Disketten wurden beschädigt, doch durch das Bewegen des Lesekopfs auf Spur 20 ließ sich Datenverlust vermeiden
- Dabei entstand zusätzlich der Effekt, dass die mechanischen Geräusche wie eine kleine Melodie klingen
Reaktionen und Diskussion
- Ein Kommentar kritisierte, das Projekt könne als Mittel zur Vermeidung direkter Interaktion zwischen Eltern und Kindern dienen
- Ein anderer Kommentar schlug die Nutzung von MiniDiscs oder RFID-Tags vor und erwähnte mögliches Verbesserungspotenzial bei der Energieeffizienz
Noch keine Kommentare.