Hacken Sie einen analogen Fernseher in einen Geek-Fernseher

.cf_videoshare_referral {Anzeige: keine! wichtig; }}

Wie Vinyl und Kassetten, Kathodenstrahlröhren erleben in einigen Kreisen ein Comeback. Retrogamer möchten alte Titel auf den Fuzzy-Displays erleben, für die sie entwickelt wurden. Und die Hersteller haben sie für alle Arten von Projekten dekonstruiert: Im Januar 2020 haben wir eine Vektorgrafikuhr vorgestellt, die auf einer CRT basiert, die ursprünglich für ein Oszilloskop hergestellt wurde. Oszilloskop-CRTs sind jedoch relativ selten, während alte analoge Fernsehgeräte buchstäblich auf Bürgersteigen zu finden sind. Als ich bei eBay auf ein billiges Angebot für einen tragbaren Schwarzweißfernseher mit einem 5-Zoll-Bildschirm stieß, der fast neuwertig aussah, dachte ich, ich würde mich der Herausforderung stellen, diese alte Technologie in Angriff zu nehmen.

Anders als bei einer Oszilloskop-CRT können Sie den Elektronenstrahl einer Fernseh-CRT nicht einfach direkt steuern. Stattdessen ist es am besten, ein Videosignal einzugeben, das die ursprüngliche Schaltung decodieren kann. Deshalb habe ich mich für einen Geek-Fernseher entschieden: Anstelle von Sendekanälen werden die neuesten Aktualisierungen und Bilder von Orten wie der NASA und der Europäischen Organisation für Kernforschung (CERN) sowie einige Animationen angezeigt. Und ich wollte, dass es die in sich geschlossene Einfachheit des Originalfernsehgeräts widerspiegelt: keine zusätzlichen Kabel oder Boxen, die daran baumeln, und sicherlich keine Tastatur, Maus oder zusätzlichen Schalter zur Steuerung.

Mein „neuer“ Fernseher ist ein Coby CX-TV1, der über einen Cinch-Composite-Videoanschluss verfügt und über einen Gleichstromadapter verfügt. Beides deutete darauf hin, dass ich gute Startpunkte in den internen Schaltkreisen zum Hacken hätte.

Nachdem ich den Koffer abgeschraubt und mir die Eingeweide angesehen hatte, wurde ich noch mehr ermutigt. Die interne Schaltung besteht aus zwei Teilen: einer Hauptplatine, die um einen Klon eines AN5151-Chips herum aufgebaut ist, und einer im rechten Winkel montierten Sekundärplatine. Der Abstimmknopf des Fernsehgeräts dreht die Welle eines variablen Kondensators auf dieser Sekundärplatine.

Ich hatte immer geplant, diesen seitlich montierten Knopf als Steuerelement für die Auswahl von „Kanälen“ zu verwenden, aber anfangs dachte ich, ich würde ihn an einem Drehgeber montieren, um Bewegungen zu erkennen. Aber als ich sah, wie die Leiterplatten angeordnet waren, hatte ich einen meiner seltenen Momente der Inspiration. Ich habe die Tuner-Platine von der Hauptplatine getrennt und eine der Leitungen des variablen Kondensators an einen Adafruit MPR121-basierten Berührungssensor angeschlossen.

Dieser kapazitive Sensor soll eine einfache Ja / Nein-Antwort auf die Frage geben, ob ein Finger eine Oberfläche berührt oder nicht. Aber wenn ich mir die rohen Sensormessungen anschaue, kann ich die variable Kapazität und damit die Position des Knopfes bestimmen. Als Bonus bedeutete dies, dass ich den niedlichen mechanischen Mechanismus, der einen roten Plastikstreifen auf und ab bewegt, ungestört lassen konnte, um den Kanal anzuzeigen, auf den der Fernseher eingestellt ist.

Ich fügte dem Fernseher mit einem Wi-FI-fähigen Raspberry Pi Zero W, den ich am Boden einer Schublade lauerte, Gehirne hinzu. (Wenn ich von vorne anfangen würde, würde ich wahrscheinlich ein Pi 3- oder 4-Rechenmodul für eine schnellere Verarbeitung verwenden, aber ich war froh, den Pi Zero sinnvoll einsetzen zu können.) Jeder Pi kann Composite-Videos in NTSC oder PAL erzeugen Format. Im Fall des Pi Zero liefert eine nicht bestückte Buchse das Signal, so dass es nur wenige Augenblicke dauerte, einen Header einzulöten. Ein bisschen mehr Lötarbeit ließ mich Drähte vom Header zur Rückseite des Cinch-Anschlusses des Fernsehgeräts verlegen. Da mein Fernseher schwarzweiß ist, habe ich das Colorburst-Signal des Composite-Videos in der Konfigurationsdatei des Pi deaktiviert, um ein etwas schärferes Bild zu erhalten.

Der einzige wichtige verbleibende Hardwareschritt war die Stromversorgung: Die meisten internen Schaltkreise des Fernsehgeräts werden mit 12 Volt betrieben, wodurch der Pi sofort braten würde. Daher habe ich einen Abwärtswandler verwendet, um die Spannung auf 5 V zu senken. Zwei weitere Lötflecken wurden angeschlossen es an den Ein / Aus-Schalter des Fernsehgeräts und an Masse.

Ich habe die Software in Python geschrieben: Eine Reihe von Bibliotheken macht es einfach, die Hardware mit übergeordneten Routinen zum Extrahieren und Verarbeiten von Bildern aus Online-Quellen zu verknüpfen. Zuerst habe ich das Blinka-Bundle von Adafruit installiert – ein Backport von Circuit Python, das ursprünglich entwickelt wurde, um Python in Mikrocontroller zu integrieren. Mit Blinka kann ich mit meinem Berührungssensor über eine I2C-Verbindung kommunizieren, die auf einer SparkFun Qwiic pHat v2.0-Karte montiert ist, die an den GPIO-Header des Pi angeschlossen ist. (Der pHat bietet auch ein praktisches Paar Schraubklemmen, die an die 5-V- und Erdungsschienen des Pi angeschlossen sind und die Stromversorgung über den Abwärtswandler ermöglichen.)

Das Abrufen von Bildern aus Online-Quellen erfordert eine Kombination von Techniken. Beispielsweise wird das Status-Dashboard des Large Hadron Collider am CERN als PNG angezeigt, das immer unter einer statischen URL gefunden wird. Der Pi muss nur das Bild herunterladen und auf die Auflösung von 720 x 480 von NTSC-Composite-Videos skalieren. Ein anderer Kanal auf meinem Geek TV zeigt das Astronomiebild des Tages der NASA. Um dies herunterzuladen, muss der Pi eine API abfragen, die Metadaten zurückgibt, und diese dann mithilfe einer JSON-Bibliothek analysieren, um die URL des täglichen Bildes abzurufen. Wenn Sie das neueste Foto vom Wettersatelliten GOES East erhalten möchten, müssen Sie HTML mithilfe der Beautiful Soup-Bibliothek analysieren.

Ich habe auch einige Animationen hinzugefügt: Ein Kanal „spielt“ Conways Spiel des Lebens. Ein anderer Kanal bringt Versionen des Mandlebrot-Sets mit immer höherer Auflösung heraus. Und zwischen den Kanälen zeigt der Fernseher pixelig “statisch” an.

Um fertig zu werden, musste ich einige Kabel an der CRT reparieren, die aufgrund all der Biegungen, die beim Einlöten neuer Verbindungen aufgetreten waren, gebrochen waren. Sobald dies erledigt war, ging es nur noch darum, alles in das TV-Gehäuse zu stopfen und es wieder zu schließen. Um meine neuesten wissenschaftlichen Updates zu erhalten, muss ich mich nur noch einschalten und einschalten.

Dieser Artikel erscheint in der Printausgabe vom Mai 2021 als „Geek TV“.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.