Erstellen Sie Ihre eigene dynamische Umgebungsbeleuchtung für ein Media Center

Erstellen Sie Ihre eigene dynamische Umgebungsbeleuchtung für ein Media Center / DIY

Wenn Sie sich viele Filme auf Ihrem PC oder Media Center ansehen, bin ich mir sicher, dass Sie mit dem Beleuchtungsdilemma konfrontiert sind. Schalten Sie alle Lichter vollständig aus? Halten Sie sie auf Hochtouren? Oder verwenden Sie einen Dimmer, um irgendwo ein stumpfes gelbes Leuchten zu erhalten? Nun, leide nicht mehr.

Für weniger als 100 US-Dollar können Sie ein erstaunliches Beleuchtungssystem einrichten, das die Bildschirmanzeige widerspiegelt. Wenn das Video eine blaue Nachtszene ist, sind die Lichter blau. Wenn ein orangefarbenes Feuer aufleuchtet, leuchten Ihre Lichter. Willkommen in der Welt der RGB-Umgebungsbeleuchtung.

Komponenten

  • RGB-Lichtleiste - Dies ist ein 5-Meter-Streifen von RGB-LEDs, der bei eBay gekauft und für weniger als £ 20 von Hongkong aus verschickt werden kann. Wenn Sie in Elektrofachgeschäften einkaufen, zahlen Sie pro Meter und eine Rolle mit 5 m kostet das Drei- bis Vierfache. Kaufen Sie also online. Diese Art von LED-Streifen kann in einer beliebigen Farbe geändert werden, jedoch nur auf einmal - sie können nicht individuell eingestellt werden.
  • 12-V-Stromversorgung - Die erforderliche Stromstärke (Ampere) hängt davon ab, wie viele LED-Streifen Sie anschließen. Jeder Meter benötigt ungefähr 0,6 Ampere. Dies hängt jedoch von der Dichte Ihrer LEDs ab. Überprüfen Sie daher unbedingt Ihren jeweiligen LED-Streifen. 3A wäre ausreichend für den 5-Meter-Streifen, den ich oben verlinkt habe, und separate Netzteile können für etwa 10 € erworben werden, wenn Sie keine anderen Quellen beziehen können.
  • 3 x MOSFET N-Transistoren - Sie können wahrscheinlich billiger finden, aber ich habe eine Packung mit 6 gekauft (Typ STP16NF06FP) für rund 10 £. Diese werden verwendet, um den Strom vom Arduino zu isolieren - das direkte Verbinden des Streifens mit dem Arduino würde ihn mit der Strommenge braten, die er zieht. Sie benötigen 1 MOSFET-Transistor pro LED-Farbkanal für Rot, Grün und Blau.
  • Arduino Was ist Arduino und was können Sie damit machen? Was ist Arduino und was können Sie damit machen? Das Arduino ist ein bemerkenswertes kleines elektronisches Gerät, aber wenn Sie noch nie eines benutzt haben, was genau sind sie und was können Sie damit machen? Lesen Sie mehr - Ich habe die Kosten für diesen Artikel nicht berücksichtigt, da davon ausgegangen wird, dass Sie bereits einen haben, und es gibt eine Vielzahl von Klonen, die Sie kaufen können, wenn Sie sich keinen offiziellen leisten können.

Die Gesamtkosten lagen daher um £ 40 ohne den Arduino.

Einführung

Das Projekt besteht aus zwei Teilen. Zuerst erstellen wir eine grundlegende Arduino-Schaltung, die auf Befehle vom Computer hört und die RGB-LEDs auf eine geeignete Farbe setzt. Die zweite besteht darin, auf der Computerseite eine neue Anwendung namens Processing und Java zu verwenden - um herauszufinden, welche Farben aktuell auf dem Bildschirm angezeigt werden, sie zu mitteln und an den seriellen Kommunikationsport auszugeben, auf den der Arduino reagieren kann.

Teil 1: Circuit und Arduino

Die Schaltung, die wir verwenden, ist sehr einfach, wie Sie der folgenden Abbildung entnehmen können. Der LED-Streifen sollte an einem Ende mit einem Stecker geliefert werden, den Sie direkt in das Steckbrett stecken können.

Ihr LED-Streifen kann variieren, aber wenn Sie genau hinsehen, werden Sie sehen 12v, R, G, B irgendwo auf die Schienen geschrieben. Diese Streifen können an diesen Kupferpunkten tatsächlich geschnitten werden (alle 3 LEDs derjenigen, die ich habe). Wenn Sie also die Streifen an den Ecken Ihres Fernsehgeräts abschneiden möchten, können Sie dies sicher tun - Sie müssen auch nicht die gesamten 5 m verwenden Vielleicht haben Sie noch etwas für ein zukünftiges Projekt. Schließen Sie das positive 12 V direkt an die externe Stromversorgung an.

Die MOSFETs haben drei Pins; Tor, ablassen, und Quelle. Das Gate ist wie der elektronische Schalter, den der Arduino steuert. Dies bestimmt dann den Strom, der zwischen Source und Drain fließt. Der Drain jedes MOSFET sollte mit der Masse des Arduino und der Masse der Stromversorgung verbunden sein, während die Source mit den LED-Streifenkanälen verbunden ist.

Wenn Sie die Schaltung abgeschlossen haben, laden Sie diesen Testcode herunter und führen Sie ihn aus (ursprünglich von LadyAda, Pins geändert). Sie sollten sehen, wie Ihr LED-Streifen durch eine Vielzahl von Farben wirbelt.

Teil 2: Verarbeitung

Laden Sie die Verarbeitung herunter und führen Sie sie aus. Sie werden vielleicht überrascht sein, dass es aussieht fast genau wie die Arduino-Entwicklungsumgebung; Das liegt daran, dass die Arduino-Umgebung darauf basierte, obwohl beide unterschiedliche Funktionen ausführen. Ergreifen Sie diesen Code - ursprünglich von Silicon Republic, aber von mir stark modifiziert, um die Bildschirmgrößeneinstellungen automatisch und mit einer besseren Farbdarstellung zu machen - und nehmen Sie sich einen Moment Zeit, um darüber zu schauen. Grundsätzlich wird eine Java-Klasse verwendet Roboter jeden zu machen 10 ms; Dann wird jedes ungerade Pixel ausgewählt und die Gesamtfarbe gemittelt. Wenn Leistung ein Problem für Sie ist, erhöhen Sie die überspringenWert Variable auf 3 oder 4, um mehr Pixel zu überspringen - der Gesamteffekt sollte derselbe sein, er läuft jedoch schneller, wenn weniger Pixel untersucht werden. Schließlich habe ich einen Filter hinzugefügt, der die Farbsättigung durch Erhöhen des Maximums und Verringern der gefundenen RGB-Mindestwerte unterstützt (ohne das finde ich die Farben zu weiß).

Führen Sie die App aus. Beim ersten Mal wird wahrscheinlich eine Fehlermeldung angezeigt, wenn versucht wird, auf den falschen seriellen Port zuzugreifen.

Suchen Sie im Debug-Fenster nach einer Liste der aktuellen seriellen Anschlüsse und notieren Sie sich die Nummer neben dem, an dem Ihr Arduino angeschlossen ist. In meinem Fall auf einem Mac ist die USB-Verbindung Port 4. Ändern Sie die Nummer in dieser Zeile in den richtigen Port:

port = new Serial (dies ist Serial.list () [4], 9600); // Baudrate einstellen

Speichern und erneut ausführen Sie sollten ein kleines Fenster sehen, das auf dem Bildschirm die durchschnittliche Farbe darstellt. Starten Sie eine Mal-App oder etwas mit kräftigen Farben, um sie zu testen, andernfalls zeigt sie wahrscheinlich nur ein trübes Grau an. Stoppen Sie die Anwendung, wenn Sie mit dem Testen fertig sind, da wir den seriellen Portzugriff benötigen, um den Arduino zu programmieren.

Laden Sie schließlich diesen Code in Ihr Arduino. Anstatt zufällige Farben an den LED-Streifen zu senden, liest dieser Code die Werte von der seriellen Schnittstelle (an die die Verarbeitung ausgibt). Es ist ziemlich einfach zu verstehen, der einzige schwierige Teil kann die Verwendung einer Markierung in den seriellen Daten sein:

if (Serial.available ()> = 4) if (Serial.read () == 0xff) Rot = Serial.read (); grün = Serial.read (); blau = Serial.read (); 

Dadurch wird sichergestellt, dass wir die korrekten Byte-Werte lesen. Die Processing-App gibt eine Markierung als a aus “Haltepunkt” zwischen jedem Wertesatz, damit der Arduino nicht aus dem Takt gerät und den grünen Wert für Blau etc.

Sobald der Arduino-Code hochgeladen wurde (anfänglich sollte keine Ausgabe auf dem LED-Streifen erfolgen), können Sie die Verarbeitungs-App laden und ausführen. Sofort sollte das Umgebungslicht funktionieren.

Hier ist eine Videodemo, wie es mit einem zufälligen trippy Musikvideo für mich funktioniert hat.

Was denkst du?! Es ist zwar nicht ganz so beeindruckend, dass jeder Teil des Bildschirms analysiert wird und einzelne LED-Pixel verwendet werden, es ist jedoch viel billiger und viel heller. Der einzige Nachteil ist, dass alles auf Ihrem Computer in Ihrem Media Center ausgeführt werden muss. Dies funktioniert beispielsweise nicht bei normalen Fernsehsendungen oder der Xbox 360. Wenn Sie Probleme, Fragen oder Vorschläge haben, wenden Sie sich bitte an uns. oder vielleicht einen Link zu einem Video Ihrer abgeschlossenen Einrichtung.

Erfahren Sie mehr über: Arduino, Media Player.