Sfeerverlichting die reageert op het beeld op uw tv is eenvoudiger en goedkoper dan u denkt - en het zorgt voor een geweldige upgrade naar uw thuisbioscoopervaring.
Oorspronkelijk ontwikkeld voor Philip's tv's in 2002, is de functie nog steeds alleen beschikbaar in een beperkt aantal modellen - en daarom hebben heel wat mensen geprobeerd om hun eigen Ambilight te maken zonder het kopen van een nieuwe tv. Tot nu toe waren ze relatief duur of hadden ze een lage resolutie (slechts een paar pixels aan elke rand) - ik heb zelfs een enkele pixelversie gemaakt Maak je eigen dynamische omgevingsverlichting voor een mediacentrum Bouw je eigen dynamische omgevingsverlichting voor een mediacentrum je kijkt veel films op je pc of mediacenter, ik ben er zeker van dat je met het verlichtingsdilemma te maken hebt gehad; schakel je alle lichten helemaal uit? Houd je ze voluit? Of ... Lees meer een paar jaar geleden. Nu is een nieuwe generatie betaalbare, programmeerbare LED's gearriveerd - en u kunt ook een Ambilight-kloon met hoge resolutie maken voor slechts $ 60. Geïnteresseerd?
Stap 1: Demo
Eerst een demo van wat we maken. In het geval je nieuwsgierig bent, is het videospellen Electric Sheep, een drie uur durende psy-trance-trip - het is een perfecte match om de Ambilight te demonstreren. Natuurlijk zal niet alle video dezelfde aangename resultaten opleveren - veel films zijn gewoon te duister of worden gepresenteerd in bioscoopformaat, wat resulteert in zwarte balken (en dus geen kleurgegevens). Ik vond de beste resultaten met de heldere, levendige kleuren in de meeste animaties, evenals actiefilms met uitgebreide CG-effecten.
Op dit moment werkt het alleen met wat signaalverwerking op de computer - dus het is geweldig voor zaken als VLC, Popcorn Time, Kodi (voorheen bekend als XBMC) of pc-gaming. Helaas is het verwerken van generieke HDMI-invoer moeilijker - we zouden op zijn minst een HDMI-splitter en een soort converter in een beter leesbaar analoog formaat nodig hebben. Ik laat dat over aan een toekomstig project - voorlopig werkt dit alleen met een computer.
Stap 2: Je hebt nodig
De onderdelenlijst is kort - geen complexe elektronica hier:
- Arduino Uno
- 10A 5V-voeding
- WS2812B 5-meter ledstrip
- Dubbelzijdige tape (maak niet dezelfde fout die ik deed - gebruik 3M-materiaal van goede kwaliteit)
- Verwerking geïnstalleerd
Het grootste deel van deze ambilight-kloon bestaat uit een reeks afzonderlijk adresseerbare WS2812B-leds. Elke LED heeft zijn eigen chipset en één regel wordt gebruikt voor communicatie. Ik kocht de mijne van AliExpress voor $ 52 inclusief verzendkosten - dat was voor een spoel van 5 meter (150 LED's), wat meer is dan genoeg voor de grootste tv's - en een stuk goedkoper per LED dan de $ 50-snaar die Adafruit verkoopt. Een zelfstandige 5V / 10A-voeding kan worden gekocht voor ongeveer $ 10, maar ik heb een oude ATX-voeding gebruikt die ik eerder had omgezet in een bench supply. Hoe maak je een bankvoeding van een oude ATX PSU Hoe maak je een bench power Aanbod van een oude ATX PSU Als u een oude computer ATX PSU rondslingeren, kunt u het een nieuw leven geven als een bank stroomvoorziening. Hier is hoe. Lees verder . Als u een grote tv heeft en van plan bent om meerdere strips te gebruiken omdat 5 meter niet genoeg is, moet u uw exacte stroomvereisten bepalen bij 60 mA per led.
Stap 3: bedrading
Laten we eerst de lichten testen om zeker te zijn dat de voeding voldoende is en de basiscommunicatie werkt. Verbind pen 6 van de Arduino met de DIN op de ledstrip - uw strip moet aan één kant een doorbreekdraad hebben, gebruik daarom een door een man-vrouw gemaakte doorverbindingsdraad. Sluit ook de GND-pin van de Arduino aan op GND op de strip. Probeer de strip niet van stroom te voorzien door de 5V pin op de Arduino . Je bak de Arduino heel snel. Gebruik in plaats daarvan een externe 5V-voeding. Een desktop-PSU zal met plezier de volledige 5-meterstrip van stroom voorzien voor testen (ervan uitgaande dat u onze bench supply-conversiegids hebt gevolgd.) Een benchvoeding maken van een oude ATX PSU Een benchvoeding maken van een oude ATX PSU je hebt een oude computer ATX PSU rondslingeren, je kunt het een nieuw leven geven als voedingen voor een bank. Hier is hoe. Lees meer). Bereken bij 60 mA per LED; dus in mijn geval zijn 114 leds bij 60mA net geen 7A. Als je denkt: "7 versterkers klinkt als ontzettend veel!", Komt dat omdat dit op 5 volt draait - 7 ampère bij 240 volt zou veel meer zijn!
Merk op dat deze stroken een specifieke richting hebben waarin het signaal moet vloeien, aangegeven door pijlen. Als je meerdere strips met elkaar verbindt, moet je misschien ook de power halverwege opnieuw injecteren om spanningsdaling te voorkomen. Ik vond dit echter niet nodig met slechts 5 meter.
Stap 4: laad de Arduino-code en test
Er is zowel een Arduino- als een Processing-onderdeel aan het project. Zorg er eerst voor dat je FastLED aan je Arduino-bibliotheken-directory hebt toegevoegd en download deze code vervolgens. Wijzig lijn 7 voor het aantal LED's dat je hebt; en als u vindt dat het kleurprofiel is verbroken, wijzig dan regel 47. Voor de strip die ik heb gekocht, gebruikt het de chipset WS2812B en de kleurvolgorde van "GRB". Raadpleeg de FastLED-documentatie voor het kalibreren van uw strip - maar de standaardinstelling zou goed moeten zijn als u dezelfde LED's hebt gekocht.
Ten slotte hebt u de Processing-componenten nodig uit de Adafruit-projectcode. Voor het testen, open Colorswirl.pde . Nogmaals, wijzig het aantal LED's op regel 29; en het seriële apparaat op regel 44. Als Arduino het enige COM-apparaat is dat is aangesloten, is Serial.list () [0] prima. Als dat niet het geval is, probeer dan Serial.list () [1] . Start de app en met een beetje geluk zullen je strips een mooie werveling van kleuren vertonen.
Merk op dat u niet beperkt bent tot Verwerken - alles wat compatibel is met de Adelight (zoals Prismatik) kan ook worden geconfigureerd om hiermee te werken - maar we zullen alleen de instellingsprocedure voor Adalight bespreken in deze tutorial.
Stap 5: meten en op maat snijden
Trek je tv van de muur of draai hem om en meet hem. Ik neem aan dat je de strips direct op de tv plakt, maar als dat niet het geval is, moet je een frame maken. Probeer ervoor te zorgen dat je een pixel rechtstreeks in elke hoek krijgt, maar anders moet deze stap eenvoudig zijn. Ga je gang en knip de strip in kortere lengtes - knip alleen tussen de koperen pads waar de streepjeslijn aangeeft; en breng 3M dubbelzijdig plakband aan op elke lengte. Gebruik geen goedkope, generieke tape zoals ik deed - hij blijft gewoon niet plakken.
Als je een gat onderaan moet laten vanwege een tv-standaard, doe dat dan, maar zorg ervoor dat je strip aan weerszijden daarvan begint en niet in de hoek - je kunt die ontbrekende pixels later in de softwarekant van de dingen configureren.
Stap 6: Trim het plastic
Als uw strip zich in een waterdichte, plastic behuizing bevindt, knipt u deze weg.
Breng voorzichtig een beetje soldeersel aan op elke koperen pad voordat je dit op de tv aanbrengt - het maakt het aansluiten van de stukken een stuk eenvoudiger later.
Stap 7: maak verbinding met uw tv en deelnemen
Ga door en plak de strips aan de achterkant van je tv, denk eraan dat elke strip een richting heeft die het signaal moet volgen. Het maakt niet uit in welke hoek of aan welke kant van de tv-speler u begint.
Om de hoeken samen te voegen, verbindt u eenvoudig elk van de 3 pads met hun tegenhanger in de volgende strip. Nogmaals, het aanbrengen van een beetje soldeer op de draden voordat je het probeert te verbinden met de pads is een stuk eenvoudiger. Laat de laatste strip zoals is - sluit hem niet opnieuw aan op de start!
Stap 8: Test opnieuw
Laten we ervoor zorgen dat we het solderen daar niet hebben verprutst - laad de kleurenwervel-app opnieuw op en controleer. Als je tevreden bent, zet je je tv terug in de juiste positie en ruim je de draden op. Laten we verder gaan met het configureren van de software.
Stap 9: configureer Adalight
Het is het meest saaie deel van het project - elke individuele LED moet in de software worden gedefinieerd. Laad Adalight.pde in Processing en verander eerst de variabele die het aantal pixels langs de zijkanten en bovenkant definieert (negeer nu ontbrekende pixels) - dit is op regel 87. In mijn geval heb ik 35 pixels gebruikt aan de bovenkant en onderaan en 22 aan de zijkanten, dus dit werd gedefinieerd als {0, 35, 22} .
Net daaronder vindt u de "per-led-informatie" - een lange lijst die elke afzonderlijke LED rond de tv definieert. Elke LED wordt gedefinieerd als een set van 3 cijfers:
- Monitor nummer (ik neem aan 0, maar de jouwe misschien anders)
- X-coördinaat - 0 is de linkerkant (tegenover het tv-scherm)
- Y-coördinaat - waarbij 0 de bovenkant is (tegenover het tv-scherm)
Gelukkig heeft een van onze ongelooflijke lezers - James Rankin - een nuttig online hulpprogramma ontwikkeld dat het harde werk voor je doet. Voer gewoon de grootte van uw matrix en de startpositie in en kopieer / plak vervolgens de gegenereerde matrixdefinitie in de Adalight Processing-app. Hij heeft ook een snelle oplossing gepost voor het omgaan met breedbeeldfilms, waarbij de verwerkingscode normaal de zwarte balken aan de boven- en onderkant van het scherm zou evalueren om te zeggen dat er geen lichteffect is. Bedankt James!
Als je fouten krijgt tijdens het compileren, betekent dit dat je ergens een komma hebt gemist of dat je te veel accolades hebt - controleer je code eens.
Stap 10 Ga lekker zitten, bekijk een film!
Voer de code uit en start een film met uw favoriete software - de foutopsporingsconsole van Processing vertelt me dat mijn computer goed 15 frames per seconde kan verwerken (dat is de verversingssnelheid van de LED's, niet de video-weergave) - elke moderne computer zou moeten kunnen behandel dat. Er zijn nog enkele variabelen die u kunt aanpassen, zoals minimale helderheid en de fade-vertraging tussen verversingen - zoals altijd wordt u aangemoedigd om de code te lezen, te begrijpen en aan te passen.
Gefeliciteerd, je hebt nu een geweldig DIY Ambilight-systeem voor $ 60 (en sommige overgebleven LED's waarschijnlijk). Vragen of problemen - neem contact op met de opmerkingen en ik zal mijn best doen om te helpen. Vertel ons ook - wat zou u willen maken met de resterende LED's?