Dynamische Hintergrundbeleuchtung für Fernseher ohne Computer. Selbstgemachte TV-Hintergrundbeleuchtung über USB. Nehmen Sie ein Bild mit einer Webcam auf

Fernseher mit dynamischer Hintergrundbeleuchtung rund um den Displayrahmen gehören zu den charakteristischen Merkmalen von Philips. Und im Gegensatz zu vielen anderen funktioniert es. Allerdings hat alles seinen Preis und Fernseher mit Ambilight und erhöhter Immersion sind teurer als viele andere Modelle.

Russische Entwickler haben eine Methode vorgeschlagen, mit der Monitore aller Hersteller mit dynamischer Hintergrundbeleuchtung ausgestattet werden können. Dazu müssen Sie das Gerät nicht einmal zu einem Servicecenter bringen: Es braucht nur ein wenig Zeit und Ausdauer.

Generell kann eine solche Beleuchtung in Form von Funkkomponenten erworben und eigenständig konfiguriert werden. Aber wie die Praxis zeigt, ist dies fast vergleichbar mit vorgefertigten Optionen von PaintPack.

Es stehen zwei Hauptmodelle zur Verfügung: eine Monitorversion (30 LEDs) und eine TV-Version (60 LEDs). Es gibt auch eine ganz einfache Variante – für 10 LEDs, die aber nur für die kleinsten Monitore geeignet ist.

Die TV-Version ist mit einem externen Netzteil ausgestattet. Für ihn spricht auch die größere Anzahl an LEDs, die für eine größere Ausleuchtfläche sorgen (also breiter und höher leuchten). Sollten solche Optionen aus irgendeinem Grund nicht geeignet sein, können Sie sich an die Entwickler wenden: Gegen eine geringe Zuzahlung bieten sie eine modifizierte Version an.

mindrunway.ru

Tatsächlich handelt es sich bei PaintPack um ein kleines Gehäuse, an dem auf beiden Seiten abnehmbare LED-Streifen angebracht sind. Die Box mit der Füllung enthält Anzeigen und einen Stromanschluss sowie microUSB zum Anschluss an einen PC. Es gibt auch einen Master-Anschluss (proprietär) zum Verbinden zweier Geräte in Reihe.

Das Gerätegehäuse wird auf der Rückseite des Fernsehers oder Monitors platziert. Dann werden die LED-Streifen gemäß der Anleitung verlegt, der Strom angeschlossen und der Zauber beginnt. Wenn Sie PaintPack über einen USB-Anschluss an einen Computer anschließen, müssen Sie Treiber installieren und das Gerät im mitgelieferten Programm konfigurieren.


mysku.ru

Die Konfiguration erfolgt über das AmbiBox-Paket. Sie müssen zum Menü „Intelligente Hintergrundbeleuchtung“ gehen, die Bildschirmaufnahmemethode und einen der im Programm angebotenen Betriebsmodi auswählen:

  1. Statischer Hintergrund – jede Farbe kann eingestellt werden, das LED-Leuchten kann angepasst werden.
  2. Farbmusik – die Hintergrundbeleuchtung blinkt im Takt der Musik. Die Farbe der Hintergrundbeleuchtung ist auf Grün-Gelb eingestellt.
  3. Dynamischer Hintergrund – ein sanfter Übergang einer Farbe in eine andere.
  4. Die Bildschirmaufnahme ist die Hauptbetriebsart.

In diesem Modus können Sie die Farben der Filme und Spiele, die Sie ansehen, einfangen. Die Farbe der Hintergrundbeleuchtung ändert sich entsprechend dem Bild auf dem Bildschirm und unterteilt sich in obere, untere und seitliche Zonen (jeweils separat).

PaintPack arbeitet etwas langsamer als das offizielle Philips-Pendant. Angesichts der Kostenunterschiede und der Möglichkeit, jedes Gerät aufzurüsten, liegt die Wahl jedoch auf der Hand.

Im Jahr 2007 patentierte Philips eine unglaublich einfache, aber ohne Übertreibung erstaunliche TV-Hintergrundbeleuchtungstechnologie. Durch eine solche adaptive Hintergrundbeleuchtung ermüden die Augen beim Betrachten im Dunkeln weniger, der Präsenzeffekt nimmt zu, die Anzeigefläche vergrößert sich usw. Ambilight ist nicht nur für Video- und Fotoinhalte, sondern auch für Spiele anwendbar. Ambilight ist zu einem Markenzeichen von Philips Fernsehern geworden. Seitdem achtet Philips sorgfältig darauf, dass keiner der großen Hersteller auch nur auf die Idee kommt, durch die Schaffung etwas Ähnliches in das Heilige einzugreifen. Es ist wahrscheinlich möglich, diese Technologie zu lizenzieren, aber die Bedingungen sind irgendwie prohibitiv und andere Marktteilnehmer sind nicht besonders daran interessiert, dies zu tun. Auch kleine Unternehmen versuchten (und inzwischen gibt es Unternehmen, die dies tun), ähnliche Technologien in Form separater Kits einzuführen, doch die Bestrafung durch Philips war unvermeidlich. Wenn das Unternehmen also das Patent oder dessen Derivat nicht irgendwie verlängert, können andere Hersteller im besten Fall erst im Jahr 2027 etwas Ähnliches produzieren.

Für uns normale Verbraucher gilt diese Strafe jedoch nicht. Es steht uns frei, das zu tun, was wir für richtig halten. Heute erzähle ich Ihnen ausführlich, wie Sie Ihre eigene adaptive Hintergrundbeleuchtung für einen Fernseher oder Monitor wie Philips Ambilight (im Folgenden einfach Ambilight) erstellen. Für einige wird der Artikel nichts Neues enthalten, weil... Es gibt Dutzende solcher Projekte, Hunderte Artikel wurden in verschiedenen Sprachen verfasst und Tausende Menschen haben dies bereits für sich getan. Aber für viele kann das alles sehr interessant sein. Sie benötigen keine besonderen Fähigkeiten. Nur Grundkenntnisse in Physik für die 8. Klasse des Gymnasiums. Nun, nur ein bisschen Löten der Drähte.

Damit Sie besser verstehen, wovon ich spreche, gebe ich Ihnen mein Beispiel dafür, was passiert ist. Die tatsächlichen Kosten für einen 42-Zoll-Fernseher betragen etwa 1000 Rubel und 2 Stunden Arbeit.


Das Video vermittelt nicht alle Empfindungen und Wirkungen in ihrer Gesamtheit, aber die Kinder saßen zum ersten Mal mit offenem Mund da.

Mögliche Umsetzungsmöglichkeiten

Für die Implementierung von Ambilight gibt es mehrere Möglichkeiten. Sie hängen von der Videoquelle ab.

Die günstigste, einfachste und effektivste Variante ist ein PC mit Windows, Mac OS X oder Linux als Signalquelle. Mittlerweile sind Windows-Rechner auf Atom-Prozessoren weit verbreitet, die ab 70 US-Dollar kosten. Alle sind ideal für die Implementierung von Ambilight. Ich verwende seit mehreren Jahren verschiedene Windows-Boxen (in einem TV-Ständer) als Mediaplayer, habe eine kleine Handvoll Rezensionen geschrieben und halte sie für die besten TV-Set-Top-Boxen für Medieninhalte. Die Hardwareimplementierung dieser Option ist für alle aufgeführten Betriebssysteme gleich. Auf diese Option werde ich in dem Artikel eingehen.. Der Softwareteil wird sich auf das Windows-System beziehen; AmbiBox fungiert als universelles Steuerungsprogramm. Kann mit Mac OS X und Linux verwendet werden.

Die zweite Möglichkeit besteht darin, dass die Signalquelle eine auf Android basierende Media-Set-Top-Box ist, von der es ebenfalls eine große Anzahl gibt. Diese Option ist die problematischste. Erstens funktioniert die Hervorhebung nur im Kodi Media Harvester (und seinen Ablegern). Zweitens funktioniert in den allermeisten Fällen alles nur mit deaktivierter Hardware-Videodekodierung, was für die meisten Boxen nicht akzeptabel ist. Auch die Hardware-Umsetzung des Projekts stellt bestimmte Anforderungen. Ich werde nicht weiter darauf eingehen, aber wenn es etwas Bestimmtes gibt, das Sie interessiert, versuche ich, es in den Kommentaren zu beantworten.

Die dritte Möglichkeit ist eine Lösung unabhängig von der Signalquelle. Dies ist die teuerste, aber absolut universelle Lösung, weil... Das Signal wird direkt vom HDMI-Kabel übernommen. Dafür benötigen Sie einen ziemlich leistungsstarken Mikrocomputer (z. B. einen Raspberry Pi), einen HDMI-Splitter, einen HDMI-RCA-AV-Konverter und ein analoges USB 2.0-Videoaufnahmegerät. Nur mit dieser Option können Sie Ambilight garantiert mit jeder TV-Set-Top-Box/Receiver, Android-Box, Apple TV, Spielekonsolen (z. B. Xbox One, PlayStation 4) und anderen Geräten mit HDMI-Ausgang verwenden. Für die Version mit 1080p60-Unterstützung betragen die Kosten für Komponenten (ohne LED-Streifen) etwa 70 US-Dollar, mit 2160p60-Unterstützung etwa 100 US-Dollar. Diese Option ist sehr interessant, aber es muss ein separater Artikel darüber geschrieben werden.

Hardware

Zur Umsetzung benötigen Sie drei Hauptkomponenten: einen steuerbaren RGB-LED-Streifen, ein Netzteil und einen Arduino-Mikrocomputer.

Zunächst eine kleine Erklärung.

WS2811 ist ein dreikanaliger Controller/Treiber (Chip) für RGB-LEDs mit Eindrahtsteuerung (Adressierung einer beliebigen LED). WS2812B ist eine RGB-LED im SMD 5050-Gehäuse, in die bereits ein WS2811-Controller integriert ist.

Der Einfachheit halber heißen die für das Projekt geeigneten LED-Streifen WS2811 oder WS2812B.

Der WS2812B-Streifen ist ein Streifen, auf dem WS2812B-LEDs in Reihe angeordnet sind. Der Streifen arbeitet mit einer Spannung von 5 V. Es gibt Streifen mit unterschiedlicher Dichte an LEDs. Normalerweise sind es: 144, 90, 74, 60, 30 pro Meter. Es gibt verschiedene Schutzgrade. Am häufigsten sind dies: IP20-30 (Schutz gegen feste Partikel), IP65 (Schutz gegen Staub und Strahlwasser), IP67 (Schutz gegen Staub und Schutz gegen teilweises oder kurzzeitiges Eintauchen in Wasser bis zu einer Tiefe von 1 m). Rückseite in Schwarz und Weiß.

Hier ist ein Beispiel für ein solches Band:


WS2811-Band ist ein Band, auf dem ein WS2811-Controller und eine Art RGB-LED in Reihe platziert sind. Es gibt Optionen für Spannungen von 5 V und 12 V. Dichte und Schutz ähneln der vorherigen Option.

Hier ist ein Beispiel für ein solches Band:


Es gibt auch WS2811-„Streifen“ mit großen und leistungsstarken LEDs, wie auf dem Foto unten. Sie eignen sich auch für die Implementierung von Ambilight für einige große Panels.


Welches Band soll ich wählen, WS2812B und WS2811?

Ein wichtiger Faktor ist die Stromversorgung des Bandes, auf die ich etwas später eingehen werde.

Wenn Sie zu Hause ein Netzteil haben, das für die Stromversorgung geeignet ist (oft werden Netzteile von alten oder beschädigten Geräten zu Hause gelassen), dann wählen Sie ein Band basierend auf der Spannung des Netzteils, d. h. 5 V – WS2812B, 12 V – WS2811. In diesem Fall sparen Sie einfach Geld.

Von mir selbst kann ich eine Empfehlung aussprechen. Wenn die Gesamtzahl der LEDs im System nicht mehr als 120 beträgt, dann WS2812B. Wenn mehr als 120, dann WS2811 mit einer Betriebsspannung von 12 V. Warum das so ist, werden Sie verstehen, wenn es um den Anschluss des Bandes an die Stromversorgung geht.

Welche Bandschutzstufe sollte ich wählen?

Für die meisten ist IP65 geeignet, weil... Auf der einen Seite ist es mit „Silikon“ (Epoxidharz) beschichtet, auf der anderen Seite befindet sich eine selbstklebende 3M-Oberfläche. Dieses Klebeband lässt sich bequem an einem Fernseher oder Monitor anbringen und lässt sich bequem von Staub abwischen.

Welche LED-Dichte soll ich wählen?

Für das Projekt eignen sich Streifen mit einer Dichte von 30 bis 60 LEDs pro Meter (144 sind natürlich möglich, das verbietet niemand). Je höher die Dichte, desto höher ist die Ambilight-Auflösung (Anzahl der Zonen) und desto höher ist die maximale Gesamthelligkeit. Es ist jedoch zu bedenken, dass der Stromversorgungskreis des Streifens umso komplexer wird und ein leistungsstärkeres Netzteil erforderlich ist, je mehr LEDs im Projekt vorhanden sind. Die maximale Anzahl von LEDs in einem Projekt beträgt 300.

Klebeband kaufen

Wenn Ihr Fernseher oder Monitor an der Wand hängt und an allen 4 Seiten viel Freiraum in der Nähe ist, dann platzieren Sie das Klebeband am besten hinten entlang des Umfangs an allen 4 Seiten, um eine maximale Wirkung zu erzielen. Wenn Ihr Fernseher oder Monitor auf einem Ständer installiert ist oder an der Unterseite nur wenig freier Platz vorhanden ist, sollte das Klebeband an drei Seiten auf der Rückseite angebracht werden (d. h. die Unterseite ohne Klebeband).

Für mich selbst habe ich mich für einen weißen WS2812B IP65-Streifen mit 30 LEDs pro Meter entschieden. Ich hatte bereits ein passendes 5V-Netzteil. Ich überlegte, ob ich 60 oder 30 LEDs pro Meter verwenden sollte, entschied mich aber für Letzteres, nachdem ich das Video mit vorgefertigten Implementierungsbeispielen durchgesehen hatte – die Helligkeit und Auflösung passten zu mir, und die Stromversorgung war einfacher zu organisieren und es gab weniger Kabel. Aliexpress verfügt über eine große Anzahl an WS2812B-Bändern. Ich habe 5 Meter für 16 $ bestellt. Für meinen Fernseher (42", 3 Seiten) brauchte ich nur 2 Meter, d.h. ich konnte ihn für 10 $ kaufen, die restlichen drei Meter für einen Freund. Die Preise ändern sich oft zwischen den Verkäufern, es gibt viele Angebote, also wähle einfach ein günstiges Los aus Aliexpress mit einer hohen Bewertung (Suchbegriffe - WS2812B IP65 go WS2811 12V IP65).




Kauf eines Netzteils für das Band

Das Netzteil wird nach Leistung und Spannung ausgewählt. Für WS2812B – Spannung 5 V. Für WS2811 – 5 oder 12 V. Der maximale Stromverbrauch einer WS2812B-LED beträgt 0,3 W. Für WS2811 ist es in den meisten Fällen dasselbe. Diese. Die Leistung des Netzteils muss mindestens N * 0,3 W betragen, wobei N die Anzahl der LEDs im Projekt ist.

Sie haben beispielsweise einen 42-Zoll-Fernseher und haben sich für einen WS2812B-Streifen mit 30 LEDs pro Meter entschieden. Sie benötigen 3 Meter Streifen auf allen 4 Seiten. Sie benötigen ein Netzteil mit einer Spannung von 5 V und einer maximalen Leistung von 0,3 * 30 * 3 = 27 W , also 5 V / 6 A. Meine Implementierung nutzt nur 3 Seiten, insgesamt 60 LEDs (57 um genau zu sein) - Leistung ab 18 W, also 5 V / 4 A.

Ich hatte das ORICO CSA-5U (8 A) Multiport-USB-Ladegerät lange Zeit im Leerlauf, ein Überbleibsel aus einem alten Testbericht. Seine Anschlüsse werden parallel mit Strom versorgt (das ist von entscheidender Bedeutung), dieses Ladegerät ist für mich ideal als Stromversorgung, weil... Ich werde das Band über zwei parallele Verbindungen verbinden (Erklärungen folgen später im Artikel).


Wenn ich dieses Ladegerät nicht hätte, hätte ich es gewählt (es gibt Informationen, dass dieses spezielle Netzteil mit 2,5-A-Interna ausgestattet ist, daher müssen Sie dieses Problem genauer mit dem Verkäufer besprechen oder sich andere Modelle ansehen). .

Kauf eines Mikrocomputers

Ambilight wird von einem Arduino-Mikrocomputer gesteuert. Arduino Nano kostet bei Aliexpress etwa pro Stück.

Kosten für meine Option (für 42" TV):

10 $ – 2 Meter WS2812B IP65 (30 LEDs pro Meter)
4 $ – 5 V / 4 A Netzteil (Ich habe kein Geld für ein Netzteil ausgegeben, ich gebe der Übersichtlichkeit halber die Kosten an)
2,5 $ – Arduino Nano
-----------
16,5$ oder 1000 Rubel

Hardware-Implementierung

Das Wichtigste ist, die Stromversorgung des Bandes richtig zu organisieren. Das Band ist lang, die Spannung sackt bei hohen Strömen, insbesondere bei 5 V, ab. Die meisten Probleme, die für diejenigen auftreten, die ihr eigenes Ambilight herstellen, hängen mit der Stromversorgung zusammen. Ich verwende die Regel: Sie müssen für jeweils 10 W maximalen Stromverbrauch bei 5 V und 25 W Stromverbrauch bei 12 V ein separates Netzteil herstellen. Die Länge des Netzteils (vom Netzteil bis zum Band selbst) sollte minimal (ohne Reserve) sein, insbesondere bei 5 IN.

Das allgemeine Anschlussdiagramm sieht wie folgt aus (das Diagramm zeigt den Stromanschluss für meine Version):


Die Stromversorgung des Bandes erfolgt an beiden Enden – zwei parallele Anschlüsse. Wenn ich zum Beispiel auf allen 4 Seiten beleuchten würde und der Streifen 60 LEDs pro Meter hätte (d. h. maximale Leistung 54 W), dann würde ich die folgende Stromversorgung herstellen:


Die Anschlussdrähte müssen entsprechend verwendet werden, je kleiner der Querschnitt (AWG), desto besser, damit sie für die berechnete Stromstärke ausreichen.

Zwei Kontakte gehen vom Band zum Arduino. GND, der mit dem entsprechenden Pin am Arduino verbunden werden muss. Und DATEN, die über einen Widerstand von 300–550 Ohm (vorzugsweise 470 Ohm) mit dem sechsten digitalen Pin verbunden werden müssen. Wenn Sie keinen Widerstand haben, funktioniert in den meisten Fällen auch ohne ihn alles gut, aber es ist besser, einen zu haben. Einen Widerstand kann man für ein paar Kopeken in jedem Radiofachgeschäft kaufen. Der Arduino-Mikrocomputer selbst kann in jedem praktischen Koffer untergebracht werden; viele Leute verwenden dafür ein Kinder-Überraschungsei. Der Arduino sollte so nah wie möglich am Band platziert werden, damit die DATA-Verbindung eine minimale Länge hat.

Das Anlöten von Drähten an das Band ist einfach. Die Hauptregel ist, dass die Kontaktzeit mit dem Lötkolben minimal sein sollte; Sie können nicht mit dem Lötkolben „herumspielen“.

In meinem Fall kam es so:



Für die Stromversorgung wurden zwei schwarze hochwertige USB-Kabel und für den Anschluss an den Computer ein weißes verwendet. Da mir der weiße Schrumpfschlauch ausgegangen war, habe ich roten verwendet. Nicht so „hübsch“, aber es passt zu mir (es ist sowieso hinter dem Fernseher versteckt).

Eine wichtige Frage ist, wie man das Band im rechten Winkel biegt. Wenn Sie einen Streifen mit 60 LEDs haben, muss der Streifen abgeschnitten und mit kurzen Drähten verbunden werden (alles in einen Schrumpfschlauch stecken). Sie können spezielle dreipolige Eckverbinder für LED-Streifen kaufen (im Bild sind es nur als Beispiel 4 Stifte):


Wenn Sie einen Streifen mit 30 LEDs haben, ist der Abstand zwischen den LEDs groß, Sie können problemlos eine Ecke erstellen, ohne zu schneiden. Entfernen Sie ein Stück der „Silikon“-Beschichtung, isolieren Sie das Kontaktpad (Sie können sogar Klebeband verwenden) und biegen Sie es gemäß der Abbildung:

Zum Üben schneide ich ein Stück Klebeband ab. Die Hauptsache ist, es nicht zu übertreiben – einmal leicht biegen und fertig. Es ist nicht nötig, es hier und da zu biegen, es ist nicht nötig, die Biegelinie zu stark zu drücken.


Hier ist eine Ansicht von der Rückseite des Fernsehers, alle Kabel gehen durch das Loch in das Gehäuse:

Softwareteil

Das ist die einfachste Sache.

Wir verbinden den Arduino-Mikrocomputer über USB. Der Treiber (serielle Schnittstelle CH340) wird automatisch installiert. Sollte dies nicht der Fall sein, befindet sich im Arduino IDE-Ordner ein Treiberordner mit allem, was Sie brauchen.

Starten Sie die Arduino IDE und öffnen Sie die Datei Adalight.ino.


Wir ändern die Anzahl der LEDs im Code. Ich bin 57.


Werkzeuge > Platine > Arduino Nano
Extras > Port > Wählen Sie den COM-Port aus (die gewünschte Option wird dort angezeigt)

Klicken Sie auf die Schaltfläche „Herunterladen“:


Das Programm informiert Sie, wenn der Download abgeschlossen ist (das dauert buchstäblich ein paar Sekunden).

Bereit. Sie müssen den Arduino vom USB trennen und ihn erneut anschließen. Das Band leuchtet nacheinander in den Farben Rot, Grün und Blau auf – der Arduino wurde aktiviert und ist betriebsbereit.

Laden Sie das Programm herunter und installieren Sie es. Klicken Sie im Programm auf „Weitere Einstellungen“ und geben Sie das Gerät an – Adalight, COM-Port und die Anzahl der LEDs. Wählen Sie die Anzahl der aufzunehmenden Bilder aus (bis zu 60).


Klicken Sie anschließend auf „Erfassungszonen anzeigen“ > „Zonen-Setup-Assistent“. Wählen Sie Ihre Ribbon-Konfiguration aus.


Klicken Sie auf „Einstellungen übernehmen und speichern“. Damit sind die Grundeinstellungen abgeschlossen. Anschließend können Sie mit der Größe der Aufnahmezonen experimentieren, die Farbe des Bandes korrigieren usw. Das Programm verfügt über viele verschiedene Einstellungen.


Um ein Profil zu aktivieren, doppelklicken Sie einfach auf das entsprechende Symbol (AmbiBox-Profile) im Windows-Infobereich. Das Band leuchtet sofort auf. Es kann auch durch Doppelklick ausgeschaltet werden.

Das ist es im Grunde. Das Ergebnis haben Sie am Anfang des Artikels gesehen. Nichts Kompliziertes, günstig und gesund. Ich bin mir sicher, dass Sie es besser machen können, also teilen Sie Ihre Basteleien in den Kommentaren.

Ambilight-Technologie

Die proprietäre Hides oben genannten Unternehmens besteht aus speziellen, in den Fernseher eingebauten Lampen, die es ermöglichen, auf eine bestimmte Weise ein sanftes Leuchten auf die Wand hinter dem Fernseher zu projizieren, das das Bild vom Bildschirm fortzusetzen scheint, um das Eintauchen in das Bild zu verstärken die Atmosphäre dessen, was auf dem Bildschirm passiert.

Die Geburtsstunde der Technologie selbst liegt im letzten Jahrhundert, da einerseits die Helligkeit der damaligen Fernsehempfänger nicht ausreichte und die Zuschauer beim Fernsehen das Licht ausschalteten, andererseits beim Fernsehen im Dunkeln stellten eine starke Belastung für die Augen dar, was zu schneller Ermüdung und allgemeinem Unwohlsein führte. Die Lösung lag auf der Hand – das Vorhandensein einer diffusen Lichtquelle in der Nähe (sogenannte TV-Lampen). Nach Angaben der Philips-Forschungsabteilung soll die Ambilight-Technologie dieses Problem heute lösen.

Derzeit gibt es bereits 5 Generationen (und viele Modifikationen) dieser Technologie, von denen die letzten drei am häufigsten vorkommen:

  • Dreikanal-HiAmbilight Surround„mit zusätzlichen Lampen auf der Oberseite des Gehäuses zur Erweiterung des Wirkungsbereichs nach oben und unabhängiger Anbindung des linken, rechten und oberen Hintergrundlampenblocks an den entsprechenden Bereich des Bildschirms.
  • Vollständige HiAmbilight Full Surround", bei dem der Bildschirm bereits von allen Seiten von Lampen umgeben ist. Dementsprechend erstellt der für die Steuerung der Lampen zuständige Prozessor das Hintergrundbild, indem er mindestens vier Bildzonen auf dem Bildschirm analysiert. Für eine bessere Lichtdurchlässigkeit ist das TV-Gehäuse mit einem Rückwandbildschirm ausgestattet.
  • Technologie " Ambilight-Spektren“, mit dem Sie dank mehr als 120 LEDs der neuen Generation und fortschrittlichen Bildverarbeitungsalgorithmen ein „volumetrisches“ Bild erstellen können.

Alle Technologien erzeugen bis zu einem gewissen Grad diffuses Licht hinter dem Fernseher, das die Farben und die Lichtintensität des auf dem Bildschirm angezeigten Bildes ergänzt.

Was können Sie am Ende der Rezension sagen? Das Gerät ist zweifellos interessant und einen Versuch wert, insbesondere wenn man bedenkt, dass der Hersteller eine kostenlose Probefahrt für 30 Tage anbietet, d. h. wenn Ihnen das Gerät nicht gefällt, können Sie es zurückgeben und Ihr Geld zurückerhalten. Ihre Kosten entsprechen in diesem Fall dem Porto des Herstellers. Der größte Nachteil besteht darin, dass das Gerät nur in Verbindung mit Software funktioniert, was bedeutet, dass Sie einen Computer benötigen, um den dynamischen Hintergrundbeleuchtungseffekt zu erzielen.

Ergebnisse

Nun, das Fazit lautet:

Profis

  • Arbeiten Sie mit allen Arten von Monitoren und Fernsehgeräten, die an einen Computer angeschlossen sind.
  • geringe Systemanforderungen an PC-Hardware;
  • vollständig implementierte Funktionalität, die sich nicht von der vom Hersteller angegebenen unterscheidet;
  • guter Software-Support, auch von Software-Drittherstellern;
  • die Fähigkeit, das Produkt anzupassen und nicht standardmäßige Lösungen zu erstellen;
  • niedriger Preis;
  • große Zahlungs- und Liefermöglichkeiten;
  • einfache Installation und Konfiguration;
  • Russischsprachiger technischer Support;
  • ausführliche Text- und Videoanleitungen auf der Website des Herstellers;
  • kostenlose Probefahrt.

Minuspunkte

  • Um den dynamischen Hintergrundbeleuchtungseffekt zu erzielen, ist ein Computer erforderlich.
  • Mangel an im Paket enthaltener Software, die Notwendigkeit, sie aus dem Internet herunterzuladen;
  • Fehlen von Anweisungen (auch in elektronischer Form) im Kit; die Notwendigkeit, diese auf der Website des Herstellers zu lesen;
  • Fehlen einiger Befestigungselemente (doppelseitiges Klebeband) für LEDs;
  • die Notwendigkeit einer bestimmten Position des Bildschirms (15–30 cm von der Wand entfernt), um den bestmöglichen Effekt zu erzielen;
  • Fehlen einer Garantiekarte und Herstellerangaben sowohl auf der Verpackung als auch auf dem Produkt selbst.

Vor ein paar Jahren veröffentlichte mySKU eine tolle Rezension von . Auch die Kommentare zu dieser Rezension sind erstaunlich – es handelt sich einfach um eine riesige Wissensdatenbank (so groß, dass der Browser diese Seite kaum laden kann). Die Zeit vergeht, Komponenten werden billiger, mySKU findet ein neues Publikum, das diese Rezension vielleicht verpasst hat. Außerdem habe ich beschlossen, den Prozess der Erstellung einer adaptiven Hintergrundbeleuchtung für einen Fernseher oder Monitor wie Philips Ambilight in meinen eigenen Worten zu beschreiben. Vielleicht findet jemand meine Rezension hilfreich.

Im Jahr 2007 patentierte Philips eine unglaublich einfache, aber ohne Übertreibung erstaunliche TV-Hintergrundbeleuchtungstechnologie. Durch eine solche adaptive Hintergrundbeleuchtung ermüden die Augen beim Betrachten im Dunkeln weniger, der Präsenzeffekt nimmt zu, die Anzeigefläche vergrößert sich usw. Ambilight ist nicht nur für Video- und Fotoinhalte, sondern auch für Spiele anwendbar. Ambilight ist zu einem Markenzeichen von Philips Fernsehern geworden. Seitdem achtet Philips sorgfältig darauf, dass keiner der großen Hersteller auch nur auf die Idee kommt, durch die Schaffung etwas Ähnliches in das Heilige einzugreifen. Es ist wahrscheinlich möglich, diese Technologie zu lizenzieren, aber die Bedingungen sind irgendwie prohibitiv und andere Marktteilnehmer sind nicht besonders daran interessiert, dies zu tun. Auch kleine Unternehmen versuchten (und inzwischen gibt es Unternehmen, die dies tun), ähnliche Technologien in Form separater Kits einzuführen, doch die Bestrafung durch Philips war unvermeidlich. Wenn das Unternehmen also das Patent oder dessen Derivat nicht irgendwie verlängert, können andere Hersteller im besten Fall erst im Jahr 2027 etwas Ähnliches produzieren.

Für uns normale Verbraucher gilt diese Strafe jedoch nicht. Es steht uns frei, das zu tun, was wir für richtig halten. Heute erzähle ich Ihnen ausführlich, wie Sie Ihre eigene adaptive Hintergrundbeleuchtung für einen Fernseher oder Monitor wie Philips Ambilight (im Folgenden einfach Ambilight) erstellen. Für einige wird der Artikel nichts Neues enthalten, weil... Es gibt Dutzende solcher Projekte, Hunderte Artikel wurden in verschiedenen Sprachen verfasst und Tausende Menschen haben dies bereits für sich getan. Aber für viele kann das alles sehr interessant sein. Sie benötigen keine besonderen Fähigkeiten. Nur Grundkenntnisse in Physik für die 8. Klasse des Gymnasiums. Nun, nur ein bisschen Löten der Drähte.

Damit Sie besser verstehen, wovon ich spreche, gebe ich Ihnen mein Beispiel dafür, was passiert ist. Die tatsächlichen Kosten für einen 42-Zoll-Fernseher betragen etwa 1000 Rubel und 2 Stunden Arbeit.



Das Video vermittelt nicht alle Empfindungen und Wirkungen in ihrer Gesamtheit, aber die Kinder saßen zum ersten Mal mit offenem Mund da.

Mögliche Umsetzungsmöglichkeiten

Für die Implementierung von Ambilight gibt es mehrere Möglichkeiten. Sie hängen von der Videoquelle ab.

Die günstigste, einfachste und effektivste Variante ist ein PC mit Windows, Mac OS X oder Linux als Signalquelle. Mittlerweile sind Windows-Rechner auf Atom-Prozessoren weit verbreitet, die ab 70 US-Dollar kosten. Alle sind ideal für die Implementierung von Ambilight. Ich verwende seit mehreren Jahren verschiedene Windows-Boxen (in einem TV-Ständer) als Mediaplayer, habe eine kleine Handvoll Rezensionen geschrieben und halte sie für die besten TV-Set-Top-Boxen für Medieninhalte. Die Hardwareimplementierung dieser Option ist für alle aufgeführten Betriebssysteme gleich. Auf diese Option werde ich in dem Artikel eingehen.. Der Softwareteil wird sich auf das Windows-System beziehen; AmbiBox fungiert als universelles Steuerungsprogramm. Kann mit Mac OS X und Linux verwendet werden.

Die zweite Möglichkeit besteht darin, dass die Signalquelle eine auf Android basierende Media-Set-Top-Box ist, von der es ebenfalls eine große Anzahl gibt. Diese Option ist die problematischste. Erstens funktioniert die Hervorhebung nur im Kodi Media Harvester (und seinen Ablegern). Zweitens funktioniert in den allermeisten Fällen alles nur mit deaktivierter Hardware-Videodekodierung, was für die meisten Boxen nicht akzeptabel ist. Auch die Hardware-Umsetzung des Projekts stellt bestimmte Anforderungen. Ich werde nicht weiter darauf eingehen, aber wenn es etwas Bestimmtes gibt, das Sie interessiert, versuche ich, es in den Kommentaren zu beantworten.

Die dritte Möglichkeit ist eine Lösung unabhängig von der Signalquelle. Dies ist die teuerste, aber absolut universelle Lösung, weil... Das Signal wird direkt vom HDMI-Kabel übernommen. Dafür benötigen Sie einen ziemlich leistungsstarken Mikrocomputer (z. B. einen Raspberry Pi), einen HDMI-Splitter, einen HDMI-RCA-AV-Konverter und ein analoges USB 2.0-Videoaufnahmegerät. Nur mit dieser Option können Sie Ambilight garantiert mit jeder TV-Set-Top-Box/Receiver, Android-Box, Apple TV, Spielekonsolen (z. B. Xbox One, PlayStation 4) und anderen Geräten mit HDMI-Ausgang verwenden. Für die Version mit 1080p60-Unterstützung betragen die Kosten für Komponenten (ohne LED-Streifen) etwa 70 US-Dollar, mit 2160p60-Unterstützung etwa 100 US-Dollar. Diese Option ist sehr interessant, aber es muss ein separater Artikel darüber geschrieben werden.

Hardware

Zur Umsetzung benötigen Sie drei Hauptkomponenten: einen steuerbaren RGB-LED-Streifen, ein Netzteil und einen Arduino-Mikrocomputer.

Zunächst eine kleine Erklärung.

WS2811 ist ein dreikanaliger Controller/Treiber (Chip) für RGB-LEDs mit Eindrahtsteuerung (Adressierung einer beliebigen LED). WS2812B ist eine RGB-LED im SMD 5050-Gehäuse, in die bereits ein WS2811-Controller integriert ist.

Der Einfachheit halber heißen die für das Projekt geeigneten LED-Streifen WS2811 oder WS2812B.

Der WS2812B-Streifen ist ein Streifen, auf dem WS2812B-LEDs in Reihe angeordnet sind. Der Streifen arbeitet mit einer Spannung von 5 V. Es gibt Streifen mit unterschiedlicher Dichte an LEDs. Normalerweise sind es: 144, 90, 74, 60, 30 pro Meter. Es gibt verschiedene Schutzgrade. Am häufigsten sind dies: IP20-30 (Schutz gegen feste Partikel), IP65 (Schutz gegen Staub und Strahlwasser), IP67 (Schutz gegen Staub und Schutz gegen teilweises oder kurzzeitiges Eintauchen in Wasser bis zu einer Tiefe von 1 m). Rückseite in Schwarz und Weiß.

Hier ist ein Beispiel für ein solches Band:


WS2811-Band ist ein Band, auf dem ein WS2811-Controller und eine Art RGB-LED in Reihe platziert sind. Es gibt Optionen für Spannungen von 5 V und 12 V. Dichte und Schutz ähneln der vorherigen Option.

Hier ist ein Beispiel für ein solches Band:


Es gibt auch WS2811-„Streifen“ mit großen und leistungsstarken LEDs, wie auf dem Foto unten. Sie eignen sich auch für die Implementierung von Ambilight für einige große Panels.


Welches Band soll ich wählen, WS2812B und WS2811?

Ein wichtiger Faktor ist die Stromversorgung des Bandes, auf die ich etwas später eingehen werde.

Wenn Sie zu Hause ein Netzteil haben, das für die Stromversorgung geeignet ist (oft werden Netzteile von alten oder beschädigten Geräten zu Hause gelassen), dann wählen Sie ein Band basierend auf der Spannung des Netzteils, d. h. 5 V – WS2812B, 12 V – WS2811. In diesem Fall sparen Sie einfach Geld.

Von mir selbst kann ich eine Empfehlung aussprechen. Wenn die Gesamtzahl der LEDs im System nicht mehr als 120 beträgt, dann WS2812B. Wenn mehr als 120, dann WS2811 mit einer Betriebsspannung von 12 V. Warum das so ist, werden Sie verstehen, wenn es um den Anschluss des Bandes an die Stromversorgung geht.

Welche Bandschutzstufe sollte ich wählen?

Für die meisten ist IP65 geeignet, weil... Auf der einen Seite ist es mit „Silikon“ (Epoxidharz) beschichtet, auf der anderen Seite befindet sich eine selbstklebende 3M-Oberfläche. Dieses Klebeband lässt sich bequem an einem Fernseher oder Monitor anbringen und lässt sich bequem von Staub abwischen.

Welche LED-Dichte soll ich wählen?

Für das Projekt eignen sich Streifen mit einer Dichte von 30 bis 60 LEDs pro Meter (144 sind natürlich möglich, das verbietet niemand). Je höher die Dichte, desto höher ist die Ambilight-Auflösung (Anzahl der Zonen) und desto höher ist die maximale Gesamthelligkeit. Es ist jedoch zu bedenken, dass der Stromversorgungskreis des Streifens umso komplexer wird und ein leistungsstärkeres Netzteil erforderlich ist, je mehr LEDs im Projekt vorhanden sind. Die maximale Anzahl von LEDs in einem Projekt beträgt 300.

Klebeband kaufen

Wenn Ihr Fernseher oder Monitor an der Wand hängt und an allen 4 Seiten viel Freiraum in der Nähe ist, dann platzieren Sie das Klebeband am besten hinten entlang des Umfangs an allen 4 Seiten, um eine maximale Wirkung zu erzielen. Wenn Ihr Fernseher oder Monitor auf einem Ständer installiert ist oder an der Unterseite nur wenig freier Platz vorhanden ist, sollte das Klebeband an drei Seiten auf der Rückseite angebracht werden (d. h. die Unterseite ohne Klebeband).

Für mich selbst habe ich mich für einen weißen WS2812B IP65-Streifen mit 30 LEDs pro Meter entschieden. Ich hatte bereits ein passendes 5V-Netzteil. Ich überlegte, ob ich 60 oder 30 LEDs pro Meter verwenden sollte, entschied mich aber für Letzteres, nachdem ich das Video mit vorgefertigten Implementierungsbeispielen durchgesehen hatte – die Helligkeit und Auflösung passten zu mir, und die Stromversorgung war einfacher zu organisieren und es gab weniger Kabel. Aliexpress verfügt über eine große Anzahl an WS2812B-Bändern. Ich habe 5 Meter für 16 $ bestellt. Für meinen Fernseher (42", 3 Seiten) brauchte ich nur 2 Meter, d.h. ich konnte ihn für 10 $ kaufen, die restlichen drei Meter für einen Freund. Die Preise ändern sich oft zwischen den Verkäufern, es gibt viele Angebote, also wähle einfach ein günstiges Los aus Aliexpress mit einer hohen Bewertung (Suchbegriffe - WS2812B IP65 oder WS2811 12V IP65).




Kauf eines Netzteils für das Band

Das Netzteil wird nach Leistung und Spannung ausgewählt. Für WS2812B – Spannung 5 V. Für WS2811 – 5 oder 12 V. Der maximale Stromverbrauch einer WS2812B-LED beträgt 0,3 W. Für WS2811 ist es in den meisten Fällen dasselbe. Diese. Die Leistung des Netzteils muss mindestens N * 0,3 W betragen, wobei N die Anzahl der LEDs im Projekt ist.

Sie haben beispielsweise einen 42-Zoll-Fernseher und haben sich für einen WS2812B-Streifen mit 30 LEDs pro Meter entschieden. Sie benötigen 3 Meter Streifen auf allen 4 Seiten. Sie benötigen ein Netzteil mit einer Spannung von 5 V und einer maximalen Leistung von 0,3 * 30 * 3 = 27 W , also 5 V / 6 A. Meine Implementierung nutzt nur 3 Seiten, insgesamt 60 LEDs (57 um genau zu sein) - Leistung ab 18 W, also 5 V / 4 A.

Ich hatte das ORICO CSA-5U (8 A) Multiport-USB-Ladegerät lange Zeit im Leerlauf, ein Überbleibsel aus einem alten Testbericht. Seine Anschlüsse werden parallel mit Strom versorgt (das ist von entscheidender Bedeutung), dieses Ladegerät ist für mich ideal als Stromversorgung, weil... Ich werde das Band über zwei parallele Verbindungen verbinden (Erklärungen folgen später im Artikel).


Wenn ich dieses Ladegerät nicht hätte, hätte ich es gewählt (aber in den Kommentaren schreiben sie, dass sie oft 2,5 A hineinstecken, daher ist es besser, dieses Problem genauer zu untersuchen).

Kauf eines Mikrocomputers

Ambilight wird von einem Arduino-Mikrocomputer gesteuert. Arduino Nano kostet bei Aliexpress etwa pro Stück.

Kosten für meine Option (für 42" TV):

10 $ – 2 Meter WS2812B IP65 (30 LEDs pro Meter)
4 $ – 5 V / 4 A Netzteil (Ich habe kein Geld für ein Netzteil ausgegeben, ich gebe der Übersichtlichkeit halber die Kosten an)
2,5 $ – Arduino Nano
-----------
16,5$ oder 1000 Rubel

Hardware-Implementierung

Das Wichtigste ist, die Stromversorgung des Bandes richtig zu organisieren. Das Band ist lang, die Spannung sackt bei hohen Strömen, insbesondere bei 5 V, ab. Die meisten Probleme, die für diejenigen auftreten, die ihr eigenes Ambilight herstellen, hängen mit der Stromversorgung zusammen. Ich verwende die Regel: Sie müssen für jeweils 10 W maximalen Stromverbrauch bei 5 V und 25 W Stromverbrauch bei 12 V ein separates Netzteil herstellen. Die Länge des Netzteils (vom Netzteil bis zum Band selbst) sollte minimal (ohne Reserve) sein, insbesondere bei 5 IN.

Das allgemeine Anschlussdiagramm sieht wie folgt aus (das Diagramm zeigt den Stromanschluss für meine Version):


Die Stromversorgung des Bandes erfolgt an beiden Enden – zwei parallele Anschlüsse. Wenn ich zum Beispiel auf allen 4 Seiten beleuchten würde und der Streifen 60 LEDs pro Meter hätte (d. h. maximale Leistung 54 W), dann würde ich die folgende Stromversorgung herstellen:


Die Anschlussdrähte müssen entsprechend verwendet werden, je kleiner der Querschnitt (AWG), desto besser, damit sie für die berechnete Stromstärke ausreichen.

Zwei Kontakte gehen vom Band zum Arduino. GND, der mit dem entsprechenden Pin am Arduino verbunden werden muss. Und DATEN, die über einen Widerstand von 300–550 Ohm (vorzugsweise 470 Ohm) mit dem sechsten digitalen Pin verbunden werden müssen. Wenn Sie keinen Widerstand haben, funktioniert in den meisten Fällen auch ohne ihn alles gut, aber es ist besser, einen zu haben. Einen Widerstand kann man für ein paar Kopeken in jedem Radiofachgeschäft kaufen. Der Arduino-Mikrocomputer selbst kann in jedem praktischen Koffer untergebracht werden; viele Leute verwenden dafür ein Kinder-Überraschungsei. Der Arduino sollte so nah wie möglich am Band platziert werden, damit die DATA-Verbindung eine minimale Länge hat.

Das Anlöten von Drähten an das Band ist einfach. Die Hauptregel ist, dass die Kontaktzeit mit dem Lötkolben minimal sein sollte; Sie können nicht mit dem Lötkolben „herumspielen“.

In meinem Fall kam es so:



Für die Stromversorgung wurden zwei schwarze hochwertige USB-Kabel und für den Anschluss an den Computer ein weißes verwendet. Da mir der weiße Schrumpfschlauch ausgegangen war, habe ich roten verwendet. Nicht so „hübsch“, aber es passt zu mir (es ist sowieso hinter dem Fernseher versteckt).

Eine wichtige Frage ist, wie man das Band im rechten Winkel biegt. Wenn Sie einen Streifen mit 60 LEDs haben, muss der Streifen abgeschnitten und mit kurzen Drähten verbunden werden (alles in einen Schrumpfschlauch stecken). Sie können spezielle dreipolige Eckverbinder für LED-Streifen kaufen (im Bild sind es nur als Beispiel 4 Stifte):


Wenn Sie einen Streifen mit 30 LEDs haben, ist der Abstand zwischen den LEDs groß, Sie können problemlos eine Ecke erstellen, ohne zu schneiden. Entfernen Sie ein Stück der „Silikon“-Beschichtung, isolieren Sie das Kontaktpad (Sie können sogar Klebeband verwenden) und biegen Sie es gemäß der Abbildung:

Zum Üben schneide ich ein Stück Klebeband ab. Die Hauptsache ist, es nicht zu übertreiben – einmal leicht biegen und fertig. Es ist nicht nötig, es hier und da zu biegen, es ist nicht nötig, die Biegelinie zu stark zu drücken.


Hier ist eine Ansicht von der Rückseite des Fernsehers, alle Kabel gehen durch das Loch in das Gehäuse:

Softwareteil

Das ist die einfachste Sache.

Wir verbinden den Arduino-Mikrocomputer über USB. Der Treiber (serielle Schnittstelle CH340) wird automatisch installiert. Sollte dies nicht der Fall sein, befindet sich im Arduino IDE-Ordner ein Treiberordner mit allem, was Sie brauchen.

Starten Sie die Arduino IDE und öffnen Sie die Datei Adalight.ino.


Wir ändern die Anzahl der LEDs im Code. Ich bin 57.


Werkzeuge > Platine > Arduino Nano
Extras > Port > Wählen Sie den COM-Port aus (die gewünschte Option wird dort angezeigt)

Klicken Sie auf die Schaltfläche „Herunterladen“:


Das Programm informiert Sie, wenn der Download abgeschlossen ist (das dauert buchstäblich ein paar Sekunden).

Bereit. Sie müssen den Arduino vom USB trennen und ihn erneut anschließen. Das Band leuchtet nacheinander in den Farben Rot, Grün und Blau auf – der Arduino wurde aktiviert und ist betriebsbereit.

Laden Sie das Programm herunter und installieren Sie es. Klicken Sie im Programm auf „Weitere Einstellungen“ und geben Sie das Gerät an – Adalight, COM-Port und die Anzahl der LEDs. Wählen Sie die Anzahl der aufzunehmenden Bilder aus (bis zu 60).


Klicken Sie anschließend auf „Erfassungszonen anzeigen“ > „Zonen-Setup-Assistent“. Wählen Sie Ihre Ribbon-Konfiguration aus.


Klicken Sie auf „Einstellungen übernehmen und speichern“. Damit sind die Grundeinstellungen abgeschlossen. Anschließend können Sie mit der Größe der Aufnahmezonen experimentieren, die Farbe des Bandes korrigieren usw. Das Programm verfügt über viele verschiedene Einstellungen.


Um ein Profil zu aktivieren, doppelklicken Sie einfach auf das entsprechende Symbol (AmbiBox-Profile) im Windows-Infobereich. Das Band leuchtet sofort auf. Es kann auch durch Doppelklick ausgeschaltet werden.

Das ist es im Grunde. Das Ergebnis haben Sie am Anfang des Artikels gesehen. Nichts Kompliziertes, günstig und gesund. Ich bin sicher, Sie können es besser machen!

Ich plane den Kauf von +439 Zu den Favoriten hinzufügen Die Rezension hat mir gefallen +270 +577

Guten Tag.

Für meinen ersten Artikel habe ich eines meiner erfolgreichsten Handwerke ausgewählt: ein HDMI-Passthrough-Analogon von Ambilight von Philips, von nun an werde ich diese Komposition „Atmosvet“ nennen.

Einführung
Im Internet ist es nicht sehr schwierig, vorgefertigte/offene Lösungen und Artikel darüber zu finden, wie man Ambilight für einen Monitor/Fernseher erstellt, wenn man ein Bild von einem PC anzeigt. Aber in meinem Multimediasystem nimmt die Ausgabe von Bildern auf einen Fernseher vom PC nur 5 % der Nutzungszeit in Anspruch; ich spiele mehr Zeit auf Spielekonsolen, was bedeutet, dass ich mir etwas Eigenes einfallen lassen musste.
Ausgangsdaten:
  • 60-Zoll-Plasmafernseher
  • HTPC basierend auf Asrock Vision 3D 137B
  • Xbox 360
Die meisten Geräte nutzen HDCP, um Inhalte auch beim Spielen abzuspielen.
Erfordernis:
Es ist notwendig, eine zentrale Atmosvet-Unterstützung für alle an den Fernseher angeschlossenen Geräte bereitzustellen.
Implementierung
Ich werde Ihnen nicht sagen, wie ich einen 4,5 m langen LED-Streifen am Fernseher befestigt habe und was mit Arduino gemacht werden muss, Sie können ihn als Basis verwenden.

Einziger Vorbehalt:
Mir ist aufgefallen, dass es am unteren Bildschirmrand ein seltsames Flackern gab. Zuerst habe ich einen Fehler beim Signal gemacht, ich habe am Deflicker herumgebastelt, die Größe des Bildes geändert und noch ein paar andere Dinge ausgegraben, es wurde besser, aber Gegen das Flackern hat es nicht geholfen. Ich fing an zu schauen. Es stellte sich heraus, dass das Flackern nur am Ende des Bandes und dann bei hellen Szenen auftrat. Mit einem Multimeter habe ich die Spannung am Anfang, in der Mitte und am Ende des Bandes gemessen und die Ursache des Flackerns erraten: Am Anfang des Bandes waren es 4,9 V (ja, das chinesische Netzteil gibt eine Spannung mit einer Abweichung aus, das ist nicht signifikant), in der Mitte 4,5 am Ende 4,22 - Der Spannungsabfall ist zu groß, ich musste das Problem einfach lösen - ich habe die Stromversorgung vom Netzteil in die Mitte des Bandes angeschlossen und den Draht dahinter verlegt FERNSEHER. Es hat sofort geholfen, das Flackern hörte ganz auf.

Nehmen Sie ein Bild mit einer Webcam auf
Die erste Testversion zum Testen der Idee und ihrer Visualisierung wurde durch die Aufnahme eines Bildes über eine Webcam ausgewählt. Sie sah ungefähr so ​​aus:

Geringe Farbwiedergabe und hohe Latenz zeigten, dass diese Implementierung in keiner Weise verwendet werden kann.

Nehmen Sie Bilder über HDMI auf

Bei der Untersuchung möglicher Optionen wurde das folgende Schema als das zuverlässigste und kostengünstigste ausgewählt:

  • Das Signal aller Geräte wird einem 5in-1out HDMI-Switch zugeführt, der HDCP unterstützt
  • Das Ausgangssignal wird einem 1in-2out HDMI-Splitter zugeführt, der HDCP nicht nur unterstützt, sondern es auch am Ausgang deaktiviert (dank der Chinesen).
  • Eines der Ausgangssignale geht an den Fernseher
  • Der andere Ausgang geht an den HDMI-zu-AV-Konverter
  • Das S-Video-Signal geht von ICONBIT an die Capture-Box
  • Die Capture-Box ist über USB mit einem immer eingeschalteten HTCP verbunden, das mit dem Arduino-Controller-Band am Fernseher verbunden ist.

Auf den ersten Blick sieht es wild und wie Krücken aus, aber:

  • Es klappt.
  • Alles in allem hat mich die ganze Sache, die ich aus China bestellt habe, 3-4.000 Rubel gekostet.

Warum habe ich kein HDMI-Capture-Board verwendet? Es ist ganz einfach: Die günstigste und günstigste Option ist das Blackmagic Intensity Shuttle, aber es funktioniert nicht mit einem 1080p/60fps-Signal, sondern nur mit 1080p/30fps – was nicht akzeptabel ist, weil... Ich wollte die Bildrate nicht verringern, damit ich das Bild aufnehmen konnte. + Dieses Ding hat ungefähr 10.000 gekostet. Rubel - was nicht billig ist und ein unbekanntes Ergebnis hat.

Verluste bei der HDMI-zu-S-Video-Konvertierung sind für die Farberfassung in der 46x26-Auflösung der LED-Hintergrundbeleuchtung vernachlässigbar.

Anfangs habe ich versucht, EasyCap zum Aufnehmen von S-Video zu verwenden (es gibt viele chinesische Varianten), aber der Punkt ist, dass der dort verwendete Chip extrem schlecht ist und mit openCV nicht bearbeitet werden kann.

Das einzig Negative ist, dass das ausgegebene S-Video-Signal schwarze Streifen an den Rändern enthielt, wodurch der tatsächliche Inhalt abgeschnitten wurde (ca. 2–5 %). Ich habe das Ausgabebild von der Capture-Karte abgeschnitten, um diese Streifen zu entfernen, was zu einem Bildverlust führt in diesen Bereichen hatten in der Praxis keinen Einfluss auf das Ergebnis.

Software
Für mich war das der interessanteste Teil, weil... Ich mag es nicht wirklich, an Hardware herumzubasteln.

Um das Bild aufzunehmen, habe ich openCV und insbesondere seinen .NET-Wrapper emgu CV verwendet.

Ich habe mich auch dazu entschieden, ein paar verschiedene Techniken zu verwenden, um das Bild nachzubearbeiten und vorzubereiten, bevor ich die Farbliste an den Controller schicke.

Rahmenverarbeitung
1. Empfangen eines erfassten Frames
2. Rahmen zuschneiden, um schwarze Streifen zu entfernen
Hier ist alles einfach:
Frame.ROI = neues Rechteck (8, 8, Frame.Width - 8, Frame.Height - 18 - 8);
Beschneiden Sie 8 Pixel von oben, 8 von rechts und 18 von unten. (Auf der linken Seite ist kein Streifen zu sehen.)
3. Wir passen die Größe des Rahmens an die Auflösung der Hintergrundbeleuchtung an. Es besteht keine Notwendigkeit, ein gesundes Bild bei uns zu haben
Auch nichts Kompliziertes, wir machen es mit openCV:
frame.Resize(LedWidth - 2*LedSideOverEdge,
LedHeight - LedBottomOverEdge - LedTopOverEdge,
INTER.CV_INTER_LINEAR);
Dem aufmerksamen Leser wird die Fülle an Variablen auffallen. Tatsache ist, dass mein TV-Rahmen ziemlich groß ist und 1 LED an den Seiten, 1 oben und 3 unten belegt. Die Größenänderung erfolgt also an den LEDs, die sich direkt gegenüber dem Display befinden, und wir fügen die Ecken später hinzu . Bei der Größenänderung erhalten wir lediglich die durchschnittlichen Farben, die die LED-Pixel haben sollten.
4. Wir bilden LEDs aus dem zugeschnittenen Rahmen ab
Nun, auch hier ist alles einfach, wir gehen dummerweise jede Seite entlang und füllen nacheinander ein Array von 136 Werten mit der Farbe der LEDs. Es kommt vor, dass derzeit alle anderen Vorgänge mit einer LED-Anordnung einfacher durchzuführen sind als mit einem Rahmen, der schwieriger zu verarbeiten ist. Außerdem habe ich für die Zukunft einen Parameter für die „Tiefe“ der Aufnahme hinzugefügt (die Anzahl der Pixel vom Bildschirmrand, um die Farbe der LED zu mitteln), aber im endgültigen Setup stellte sich heraus, dass er besser war ohne es.
5. Farbkorrektur durchführen (Weißabgleich/Farbabgleich)
Die Wände hinter dem Fernseher sind aus Holz, das Holz ist gelb, also muss ich die Gelbfärbung ausgleichen.
var blue = 255.0f/(255.0f + blueLevelFloat)*pixelBuffer[k];
var green = 255.0f/(255.0f + greenLevelFloat)*pixelBuffer;
var red = 255.0f/(255.0f + redLevelFloat)*pixelBuffer;
Im Allgemeinen habe ich die Farbbalance zunächst dem Quellcode eines Open-Source-Editors entnommen, aber das Weiß wurde dadurch nicht verändert (Weiß blieb weiß), ich habe die Formeln ein wenig geändert, einen Tippfehler gemacht und genau das bekommen, was ich brauchte: Wenn der Pegel der Farbkomponente negativ ist (ich verstehe wie - diese Farbe fehlt), dann addieren wir ihre Intensität und umgekehrt. Für meine Wände stellte sich heraus: RGB(-30,5,85).

Bei der Farbkorrektur führe ich auch einen Schwarzwertausgleich durch (Schwarz liegt in RGB bei etwa 13,13,13), indem ich einfach 13 von jeder Komponente subtrahiere.

6. Führen Sie eine Entsättigung durch (Reduzierung der Bildsättigung).
Im endgültigen Setup verwende ich keine Entsättigung, aber es kann irgendwann notwendig sein, denn dadurch werden die Farben eher „pastellfarben“, wie bei Philips Ambilight. Ich werde den Code nicht preisgeben, wir konvertieren einfach von RGB -> HSL, reduzieren die Sättigungskomponente und kehren zu RGB zurück.
7. Deflicker
Es kommt einfach vor, dass das Eingangsbild „zittert“ – das ist meines Erachtens eine Folge der Umwandlung in ein analoges Signal. Zuerst habe ich versucht, es auf meine eigene Weise zu lösen, dann habe ich mir die Quellen des in VirtualDub verwendeten Defliker-Filters angesehen, ihn in C# umgeschrieben (es war in C++) und festgestellt, dass es nicht funktioniert, weil es so beeindruckend ist dass es Probleme mit dem Flackern zwischen Bildern gibt. Am Ende habe ich meine Lösung und diesen Deflicker kombiniert und etwas Seltsames erhalten, aber es hat besser funktioniert als erwartet. Der ursprüngliche Deflicker funktionierte nur mit der Intensität des gesamten Frames; ich benötige jede LED einzeln. Der ursprüngliche Deflicker hat die Intensitätsänderung als Summe verglichen, ich vergleiche lieber die Länge des Farbvektors. Der ursprüngliche Deflicker hat das Delta der Intensitätsänderung im Vergleich zum vorherigen Bild verglichen, das ist nicht geeignet, und ich habe es auf die durchschnittliche Intensität geändert Wert innerhalb des Fensters der vorherigen Frames. Und es gibt noch viele andere Kleinigkeiten, wodurch vom anfänglichen Deflicker nur noch wenig übrig bleibt.
Die Hauptidee: Basierend auf der durchschnittlichen Intensität vorheriger Frames führen Sie eine Modifikation des aktuellen Frames durch, wenn seine Intensität nicht höher als ein bestimmter Schwellenwert ist (ich habe diesen Schwellenwert im endgültigen Setup von 25), wenn der Schwellenwert überschritten wird Das Fenster wird ohne Änderung zurückgesetzt.
Leicht geänderter (zur besseren Lesbarkeit außerhalb des Kontexts) Code aus meinem Deflicker:
Array.Copy(_leds, _ledsOld, _leds.Length); für (var i = 0; i< _leds.Length; i++) { double lumSum = 0; // Calculate the luminance of the current led. lumSum += _leds[i].R*_leds[i].R; lumSum += _leds[i].G*_leds[i].G; lumSum += _leds[i].B*_leds[i].B; lumSum = Math.Sqrt(lumSum); // Do led processing var avgLum = 0.0; for (var j = 0; j < LedLumWindow; j++) { avgLum += _lumData; } var avg = avgLum/LedLumWindow; var ledChange = false; if (_strengthcutoff < 256 && _lumData != 256 && Math.Abs((int) lumSum - avg) >= _strengthcutoff) ( _lumData = 256; ledChange = true; ) // Berechne den Anpassungsfaktor für die aktuelle LED. var-Skala = 1,0; int r, g, b; if (ledChange) ( for (var j = 0; j< LedLumWindow; j++) { _lumData = (int) lumSum; } } else { for (var j = 0; j < LedLumWindow - 1; j++) { _lumData = _lumData; } _lumData = (int) lumSum; if (lumSum >0) ( Skala = 1,0f/((avg+lumSum)/2); var filt = 0,0f; für (var j = 0; j< LedLumWindow; j++) { filt += (float) _lumData/LedLumWindow; } scale *= filt; } // Adjust the current Led. r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; // save source values var sr = r; var sg = g; var sb = b; var max = r; if (g >max) max = g; wenn (b > max) max = b; Doppel-s; if (scale*max > 255) s = 255,0/max; sonst s = Skala; r = (int)(s*r); g = (int) (s*g); b = (int) (s*b); // Hervorhebung beibehalten double k; if (sr > _lv) ( k = (sr - _lv)/(double) (255 - _lv); r = (int) ((k*sr) + ((1,0 - k)*r)); ) if ( sg > _lv) ( k = (sg - _lv)/(double) (255 - _lv); g = (int) ((k*sg) + ((1,0 - k)*g)); ) if (sb > _lv) ( k = (sb - _lv)/(double) (255 - _lv); b = (int) ((k*sb) + ((1.0 - k)*b)); ) _leds[i] = Farbe .FromArgb(r, g, b); ) /* Zeitliche Aufweichungsphase. */ if (ledChange || _softening == 0) continue; var diffR = Math.Abs(_leds[i].R - _ledsOld[i].R); var diffG = Math.Abs(_leds[i].G - _ledsOld[i].G); var diffB = Math.Abs(_leds[i].B - _ledsOld[i].B); r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; int Summe; if(diffR< _softening) { if (diffR >(_softening >> 1)) ( sum = _leds[i].R + _leds[i].R + _ledsOld[i].R; r = sum/3; ) ) if (diffG< _softening) { if (diffG >(_softening >> 1)) ( sum = _leds[i].G + _leds[i].G + _ledsOld[i].G; g = sum/3; ) ) if (diffB< _softening) { if (diffB >(_softening >> 1)) ( sum = _leds[i].B + _leds[i].B + _ledsOld[i].B; b = sum/3; ) ) _leds[i] = Color.FromArgb(r, g, b); )
Sei _leds ein Array von LEDs der Color-Klasse, _ledsOld die Werte des Frames vor der Konvertierung, LedLumWindow die Breite des Fensters vorheriger Frames, um die durchschnittliche Intensitätsänderung abzuschätzen, im endgültigen Setup hatte ich eine Fenster von 100, was bei etwa 30 Bildern/s 3 Sekunden entspricht. _lumData – Array von Intensitätswerten vorheriger Frames.

Letztendlich hat dieser Mechanismus dem Bild sogar angenehme unerwartete Folgen verliehen; es ist schwer zu beschreiben, wie es visuell wahrgenommen wird, aber es macht es dunkler, wo nötig, und heller, wo nötig, wie dynamischer Kontrast. Letztendlich erwies sich der Zweck des Deflickers als weit gefasst, nicht nur um das Flimmern zu eliminieren, sondern auch um die Ausgabefarbe allgemein auszugleichen, sowohl nach Komponente als auch nach Zeit innerhalb des Fensters.

8. Glättung von LEDs durch Nachbarn.
Im Allgemeinen gefiel mir das Anti-Aliasing im endgültigen Setup nicht wirklich und ich habe es ausgeschaltet, aber in manchen Fällen kann es nützlich sein. Hier mitteln wir einfach die Farbe jeder LED über die ihrer Nachbarn.
var smothDiameter = 2*_smoothRadius + 1; Array.Copy(_leds, _ledsOld, _leds.Length); für (var i = 0; i< _ledsOld.Length; i++) { var r = 0; var g = 0; var b = 0; for (var rad = -_smoothRadius; rad <= _smoothRadius; rad++) { var pos = i + rad; if (pos < 0) { pos = _ledsOld.Length + pos; } else if (pos >_ledsOld.Length - 1) ( pos = pos - _ledsOld.Length; ) r += _ledsOld.R; g += _ledsOld.G; b += _ledsOld.B; ) _leds[i] = Color.FromArgb(r/smothDiameter, g/smothDiameter, b/smothDiameter); )
9. Speichern Sie den aktuellen Status, damit der Paketsende-Thread ihn erfasst und an den Hintergrundbeleuchtungs-Controller sendet.
Ich habe den Prozess der Verarbeitung von Frames und des Sendens von Paketen an den Controller bewusst getrennt: Pakete werden einmal in einem bestimmten Intervall gesendet (bei mir sind es 40 ms), damit der Arduino das vorherige verarbeiten kann, da es häufiger als 30 ms erstickt und sich dreht Wir weisen darauf hin, dass wir nicht direkt von der Erfassung der Bildrate abhängig sind und diesen Prozess nicht stören (aber das Senden eines Pakets kostet auch Zeit).
Ein wenig über Arduino
Sie können nicht einfach ein umfangreiches Paket durch die Reihe nehmen und an den Arduino senden, da es über den Standard-HardwareSerial-Puffer hinausgeht und Sie das Ende davon verlieren.
Dies kann ganz einfach gelöst werden: Stellen Sie die HardwareSerial-Puffergröße auf eine Größe ein, die groß genug ist, um das gesamte gesendete Paket mit einer Reihe von Farben aufzunehmen; bei mir ist es 410.
Benutzeroberfläche
Die Software selbst wurde als Win-Dienst implementiert. Um alle Parameter zu konfigurieren + zu aktivieren/deaktivieren, habe ich eine Web-Benutzeroberfläche erstellt, die über WebService im Dienst mit dem Dienst kommuniziert. Die endgültige Benutzeroberfläche auf dem Mobiltelefonbildschirm sieht folgendermaßen aus:
Ergebnis
Am Ende hat das Ergebnis alle Erwartungen erfüllt und jetzt, wenn ich Spiele auf Konsolen spiele, kann ich noch tiefer in die Atmosphäre des Spiels eintauchen.

Als allgemeines Ergebnis der Arbeit habe ich ein Video aufgenommen, bei dem das Atmosphärenlicht nach meinem Schema funktioniert:

Testbeispiel 1: Pacific Rim, Kampfszene in Shanghai, dieser Film eignet sich gut zum Testen und Vorführen, viele helle Szenen und Blitze, Blitzeinschläge usw.:

Testbeispiel 2: Ein von YouTube durchgesickertes Video von MLP eignet sich sehr gut zum Testen von Szenen mit hellen Farben (die Streifen gefielen mir) sowie schnell wechselnden Szenen (am Ende des Videos sieht man die Auswirkungen der Verzögerung). , nur im Video sichtbar, wenn dies in der realen Betrachtung nicht wahrnehmbar ist, habe ich versucht, die Verzögerung mithilfe von Video zu messen – es stellte sich heraus, dass sie 10–20 ms betrug):

Und schließlich ist noch der Ressourcenverbrauch von HTPC erwähnenswert:
HTPC Ich habe ASRock Vision 3D auf i3, der atmosphärische Lichtdienst frisst 5-10 % der CPU und 32 MB RAM.

Vielen Dank für Ihre Aufmerksamkeit, ich hoffe wirklich, dass mein Artikel jemandem helfen wird.

Fortsetzung des Themas:
Computer

Heute ist das Internet zu einem festen Bestandteil unseres täglichen Lebens geworden. Der ständige Zugriff auf das globale Netzwerk ist eine notwendige Voraussetzung für komfortables Arbeiten.