Werbung
Wenn Sie viele Filme auf Ihrem PC oder Media Center ansehen, sind Sie sicher mit dem Beleuchtungsdilemma konfrontiert. Schalten Sie alle Lichter vollständig aus? Halten Sie sie auf Hochtouren? Oder verwenden Sie einen Dimmer, um irgendwo ein mattes 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, leuchten die Lichter blau. Wenn ein orangefarbenes Feuer aufleuchtet, leuchten auch Ihre Lichter. Willkommen in der Welt der RGB-Umgebungsbeleuchtung.
Komponenten
- RGB-Lichtstreifen - Dies ist ein 5-Meter-Streifen mit RGB-LEDs, die bei eBay gekauft und für jeweils weniger als 20 GBP aus Hongkong geliefert werden können. Wenn Sie in Elektronikgeschäften einkaufen, zahlen Sie meterweise und eine Rolle mit 5 m kostet das Drei- oder Vierfache. Kaufen Sie also online. Diese Art von LED-Streifen kann in jede Farbe geändert werden, jedoch nur auf einmal - sie können nicht individuell angepasst werden.
- 12-V-Stromversorgung - Die erforderliche Leistung (Ampere) hängt davon ab, wie viele LED-Streifen Sie anschließen. Jedes Messgerät verbraucht ungefähr 0,6 Ampere. Dies hängt jedoch von der Dichte Ihrer LEDs ab. Überprüfen Sie daher unbedingt Ihren speziellen LED-Streifen. 3A würde für den 5 m langen Streifen ausreichen, den ich oben verlinkt habe, und separate Netzteile können für etwa 10 GBP gekauft werden, wenn Sie kein anderes beziehen können.
- 3 x MOSFET N-Transistoren - Sie können wahrscheinlich billiger finden, aber ich kaufte eine Packung mit 6 Stück (Typ STP16NF06FP) für etwa 10 £. Diese werden verwendet, um den Strom vom Arduino zu isolieren. Wenn Sie die Streifen direkt mit dem Arduino verbinden, wird er mit der Strommenge gebraten, die sie ziehen. 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?Das Arduino ist ein bemerkenswertes kleines elektronisches Gerät, aber wenn Sie noch nie eines verwendet haben, was genau sind sie und was können Sie mit einem tun? Weiterlesen - Ich habe die Kosten für diesen Artikel nicht berücksichtigt, da davon ausgegangen wird, dass Sie bereits einen haben. Sie können verschiedene Klone kaufen, wenn Sie sich keinen offiziellen leisten können.
Die Gesamtkosten lagen also bei £40 ohne den Arduino.
Einführung
Das Projekt besteht aus zwei Teilen. Zuerst erstellen wir eine grundlegende Arduino-Schaltung, die Befehle vom Computer abhört und die RGB-LEDs auf eine geeignete Farbe setzt. Die zweite beinhaltet die Verwendung einer neuen Anwendung namens wird bearbeitet und Java auf der Computerseite - um herauszufinden, welche Farben derzeit auf dem Bildschirm angezeigt werden, mitteln Sie sie und geben Sie diese an den seriellen Kommunikationsanschluss aus, auf den der Arduino reagieren kann.
Teil 1: Schaltung und Arduino
Die von uns verwendete Schaltung ist sehr einfach, wie Sie dem folgenden Diagramm entnehmen können. Der LED-Streifen sollte an einem Ende mit einem Stecker versehen sein, den Sie direkt in das Steckbrett stecken können.
Ihr LED-Streifen kann variieren, aber wenn Sie genau hinschauen, werden Sie sehen 12v, R, G, B. irgendwo auf die Schienen geschrieben. Diese Streifen können tatsächlich an diesen Kupferpunkten geschnitten werden (alle 3 LEDs bei denen, die ich habe), wenn Sie also die Streifen an schneiden möchten In den Ecken Ihres Fernsehgeräts können Sie dies sicher tun - Sie müssen auch nicht die gesamten 5 m verwenden, sodass Sie möglicherweise noch etwas für eine Zukunft übrig haben Projekt. Schließen Sie die positiven 12 V direkt an die externe Stromversorgung an.
Die MOSFETs haben drei Pins; Tor, ablassen, und Quelle. Das Tor 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 Quelle mit den LED-Streifenkanälen verbunden ist.
Wenn Sie die Schaltung abgeschlossen haben, Laden Sie dies herunter und führen Sie es aus Testcode (ursprünglich von LadyAda, Stifte modifiziert). Sie sollten sehen, wie Ihr LED-Streifen durch eine Vielzahl von Farben wirbelt.
Teil 2: Verarbeitung
Herunterladen wird bearbeitet und Renn. Sie werden überrascht sein, dass es so aussieht fast genau wie die Arduino-Entwicklungsumgebung; Dies liegt daran, dass die Arduino-Umgebung darauf basiert, obwohl beide unterschiedliche Funktionen ausführen. Besorgen Sie sich diesen Code – ursprünglich von Silicon Republic aber stark von mir modifiziert, um die Bildschirmgrößeneinstellungen automatisch und mit besserer Farbdarstellung zu machen - und nehmen Sie sich einen Moment Zeit, um darüber nachzudenken. Grundsätzlich wird eine Java-Klasse namens aufgerufen Roboter um jeden einen Screenshot zu machen 10ms; Es wählt dann jedes ungerade Pixel aus und mittelt die Gesamtfarbe. Wenn die Leistung für Sie ein Problem darstellt, erhöhen Sie die skipValue variabel auf 3 oder 4, um mehr Pixel zu überspringen - der Gesamteffekt sollte der gleiche sein, aber er wird schneller ausgeführt, da weniger Pixel untersucht werden. Schließlich habe ich einen Filter hinzugefügt, der dazu beiträgt, die Farbe zu sättigen, indem das Maximum erhöht und die gefundenen minimalen RGB-Werte verringert werden (Ohne dies fand ich die Farben zu weiß).
Führen Sie die App aus. Beim ersten Mal wird wahrscheinlich eine Fehlermeldung angezeigt, wenn versucht wird, auf die falsche serielle Schnittstelle zuzugreifen.
Überprüfen Sie das Debug-Fenster auf eine Liste der aktuellen seriellen Ports und notieren Sie die Nummer neben dem, an den 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 (this, Serial.list () [4], 9600); // Baudrate einstellen
Speichern und erneut ausführen; Sie sollten ein kleines Fenster sehen - dies repräsentiert die durchschnittliche Farbe von allem auf dem Bildschirm. Starten Sie eine Mal-App oder etwas mit kräftigen Farben, um sie zu testen. Andernfalls wird wahrscheinlich nur ein trüber Grauton angezeigt. Beenden Sie die Anwendung, wenn Sie mit dem Testen fertig sind, da wir den seriellen Anschluss benötigen, um das Arduino zu programmieren.
Zuletzt, Laden Sie diesen Code weiter zu deinem 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 leicht zu verstehen, der einzige schwierige Teil kann die Verwendung eines Markers in den seriellen Daten sein:
if (Serial.available ()> = 4) { if (Serial.read () == 0xff) { rot = Serial.read (); grün = Serial.read (); blau = Serial.read (); } }
Dies stellt sicher, dass wir die richtigen Bytewerte lesen - die Verarbeitungs-App gibt einen Marker als „Haltepunkt“ aus. zwischen jedem Wertesatz, damit der Arduino nicht aus der Synchronisation gerät und denkt, dass der grüne Wert für ist blau etc.
Sobald der Arduino-Code hochgeladen wurde (anfangs sollte keine Ausgabe auf dem LED-Streifen erfolgen), können Sie die Verarbeitungs-App laden und ausführen. Sofort sollten Sie sehen, wie Ihr Umgebungslicht funktioniert.
Hier ist eine Video-Demo, wie es mit einem zufälligen trippigen Musikvideo für mich funktioniert hat.
Was denken Sie?! Es ist zwar nicht ganz so beeindruckend wie etwas, das jeden Teil des Bildschirms analysiert und verwendet einzelne LED-PixelEs ist viel billiger und viel heller. Der einzige Nachteil dabei ist, dass alles auf Ihrem Media Center-Computer ausgeführt werden muss - es funktioniert beispielsweise nicht mit regulären Fernsehsendungen oder Ihrer Xbox 360. Wenn Sie Probleme, Fragen oder Vorschläge haben, wenden Sie sich bitte an uns. oder verlinken Sie vielleicht auf ein Video Ihres abgeschlossenen Setups.
James hat einen BSc in künstlicher Intelligenz und ist CompTIA A + und Network + zertifiziert. Er ist der Hauptentwickler von MakeUseOf und verbringt seine Freizeit mit VR-Paintball und Brettspielen. Er baut seit seiner Kindheit PCs.