Bouw uw eigen dynamische omgevingsverlichting voor een mediacentrum

Als je veel films op je pc of mediacenter bekijkt, ben ik er zeker van dat je met het verlichtingsdilemma te maken hebt gehad; schakel je alle lichten helemaal uit? Houd je ze voluit?

Als je veel films op je pc of mediacenter bekijkt, ben ik er zeker van dat je met het verlichtingsdilemma te maken hebt gehad;  schakel je alle lichten helemaal uit?  Houd je ze voluit?
Advertentie

mediacentrumlicht Als je veel films op je pc of mediacenter bekijkt, ben ik er zeker van dat je met het verlichtingsdilemma te maken hebt gehad; schakel je alle lichten helemaal uit? Houd je ze voluit? Of gebruik je een dimmer om ergens een saaie gele gloed te behouden? Nou, lijd niet meer.

Voor minder dan $ 100, kunt u een verbazingwekkend verlichtingssysteem instellen dat zal weergeven wat er op het scherm staat; als de video een blauwe nachtscène is, zijn de lichten blauw; wanneer een gloed van oranje vuur oplicht, zo ook uw lichten. Welkom in de wereld van RGB-omgevingsverlichting.

Components

  • RGB-lichtstrip - dit is een strip van RGB LED's van 5 meter die op eBay kan worden gekocht en die vanuit Hong Kong voor minder dan £ 20 per stuk wordt verzonden. Als u in een elektronicawinkel koopt, betaalt u per meter en een spoel van 5 meter kost drie of vier keer dat, dus koop online. Dit type LED-strips kunnen in elke kleur worden gewijzigd, maar alleen in één keer - ze kunnen niet individueel worden aangepast.
  • 12v voeding - het benodigde vermogen (ampage) is afhankelijk van het aantal strips met LED's dat u gaat aansluiten. Elke meter trekt ongeveer 0, 6 ampere, maar dit hangt af van de dichtheid van uw leds, dus controleer uw specifieke ledstrip. 3A zou voldoende zijn voor de 5m-strook die ik hierboven heb verbonden, en afzonderlijke voedingen kunnen voor ongeveer £ 10 worden gekocht als je er geen ergens anders kunt kopen.
  • 3 x MOSFET N-transistors - je kunt waarschijnlijk goedkoper vinden, maar ik heb een pakket van 6 (type STP16NF06FP) gekocht voor ongeveer £ 10. Deze worden gebruikt om de stroom van de Arduino te isoleren - het rechtstreeks aansluiten van de strips op de Arduino zou hem braden met de hoeveelheid stroom die ze trekken. U hebt 1 MOSFET-transistor per LED-kleurkanaal nodig, voor rood, groen en blauw.
  • Arduino Wat is Arduino en wat kun je ermee doen? Wat is Arduino en wat kun je ermee doen? De Arduino is een opmerkelijk klein elektronisch apparaat, maar als je er nog nooit een hebt gebruikt, wat precies zijn ze dan, en wat kun je ermee doen? Meer lezen - Ik heb de kosten van dit artikel niet opgenomen, omdat wordt verondersteld dat u er al een hebt en er zijn verschillende klonen die u kunt kopen als u zich geen officiële kunt veroorloven.

De totale kosten waren daarom ongeveer £ 40, exclusief de Arduino.

Invoering

Het project bestaat uit twee delen. Eerst maken we een basis Arduino-circuit dat luistert naar opdrachten van de computer en de RGB-leds in een geschikte kleur instelt. De tweede omvat het gebruik van een nieuwe applicatie genaamd Processing en Java aan de computerzijde - om uit te zoeken welke kleuren momenteel op het scherm zijn, deze te matigen en uit te voeren naar de seriële communicatiepoort waarop de Arduino kan reageren.

Deel 1: Circuit en Arduino

Het circuit dat we gebruiken is heel eenvoudig, zoals je kunt zien in het onderstaande schema. De ledstrip moet worden geleverd met een mannelijke stekker aan het ene uiteinde die u direct in het breadboard kunt plaatsen.

mediacentrumlicht

Je ledstrip kan variëren, maar als je goed kijkt, zie je 12v, R, G, B ergens op de rails staan ​​geschreven. Deze strips kunnen eigenlijk op deze koperen punten worden gesneden (elke 3 LED's die ik heb), dus als je de strips in de hoeken van je tv wilt knippen, kun je dat veilig doen - je hoeft de hele 5 m niet te gebruiken, dus je hebt misschien nog wat over voor een toekomstig project. Verbind de positieve 12v rechtstreeks met de externe voeding.

dynamische omgevingsverlichting

De MOSFET's hebben drie pinnen; poort, afvoer en bron . De poort is als de elektronische schakelaar die de Arduino zal bedienen. Dit bepaalt vervolgens de stroom die vloeit tussen de bron en de afvoer. De afvoer van elke MOSFET moet worden aangesloten op de aarde van de Arduino en de aarde van de voeding, terwijl de bron wordt aangesloten op de ledstripkanalen.

dynamische omgevingsverlichting

Wanneer je het circuit hebt voltooid, download en voer je deze testcode uit (oorspronkelijk van LadyAda, pinnen gewijzigd). Je zou je LED-strip door een verscheidenheid aan kleuren moeten zien dwarrelen.

dynamische omgevingsverlichting

Deel 2: Verwerking

Verwerking downloaden en uitvoeren. Het zal je misschien verbazen dat het er bijna precies uitziet als de Arduino-ontwikkelomgeving; Dat komt omdat de Arduino-omgeving erop is gebaseerd, hoewel ze allebei verschillende functies hebben. Grijp deze code - oorspronkelijk van Silicon Republic maar sterk door mij aangepast om de instellingen voor de schermgrootte automatisch te maken en met een betere kleurweergave - en neem even de tijd om ernaar te kijken. In principe gebruikt het een Java-klasse genaamd Robot om elke 10 ms een schermopname te maken; het pikt vervolgens elke oneven pixel uit en middelt de totale kleur. Als prestatie een probleem voor u is, verhoogt u de variabele skipValue naar 3 of 4 om meer pixels over te slaan - het algehele effect moet hetzelfde zijn, maar het zal sneller werken omdat het minder pixels onderzoekt. Ten slotte heb ik een filter toegevoegd dat helpt de kleur te verzadigen door het maximum te verhogen en de minimaal gevonden RGB-waarden te verlagen (zonder dit vond ik de kleuren te wit).

Start de app; de eerste keer krijgt u waarschijnlijk een foutmelding wanneer deze probeert toegang te krijgen tot de verkeerde seriële poort.

dynamische omgevingsverlichting

Controleer het foutopsporingsvenster voor een lijst met huidige seriële poorten en noteer het nummer naast waar uw Arduino op is aangesloten. In mijn geval op een Mac is de USB-verbinding poort 4. Verander het nummer in deze regel naar de juiste poort:

 port = new Serial (this, Serial.list () [4], 9600); // baudrate instellen 

Opslaan en opnieuw uitvoeren; je zou een klein venster moeten zien verschijnen - dit vertegenwoordigt de gemiddelde kleur van alles op het scherm. Start een schilderij app of iets met sterke kleuren om het te testen, anders zal het waarschijnlijk alleen een duistere schaduw van grijs tonen. Stop de applicatie als u klaar bent met testen, want we hebben de seriële poort nodig om de Arduino te programmeren.

mediacentrumlicht

Ten slotte laad deze code op uw Arduino. In plaats van willekeurige kleuren naar de ledstrip te sturen, leest deze code de waarden van de seriële poort (die de verwerking uitvoert naar). Het is vrij eenvoudig te begrijpen, het enige moeilijke deel is het gebruik van een marker in de seriële gegevens:

if (Serial.available()>=4) { if(Serial.read() == 0xff){ red = Serial.read(); green= Serial.read(); blue = Serial.read(); } } 

Dit zorgt ervoor dat we de juiste bytewaarden lezen - de verwerkingsapp voert een markering uit als een "onderbrekingspunt" tussen elke reeks waarden, zodat de Arduino niet uit de synchronisatie raakt en denkt dat de groene waarde voor blauw enz. Is.

Zodra de Arduino-code is geüpload (in eerste instantie zou er geen uitvoer op de ledstrip moeten zijn), kunt u de app Verwerking laden en uitvoeren; onmiddellijk zou je je omgevingslicht moeten zien werken.

Hier is een videodemo van hoe het voor mij werkte met een of andere willekeurige trippy-videoclip.

Wat denk je?! Hoewel het niet zo indrukwekkend is als iets dat elk deel van het scherm analyseert en individuele LED-pixels gebruikt, is het een stuk goedkoper en een stuk helderder. Het enige nadeel hiervan is dat alles op je mediacenter-computer moet worden uitgevoerd - het werkt bijvoorbeeld niet bij gewone tv-uitzendingen of je Xbox 360. Als u problemen, vragen of suggesties heeft, vraag het dan alstublieft; of misschien een link naar een video van je voltooide installatie.

In this article