Inhoudsopgave:

Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt op 12.2019) - Ajarnpa
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt op 12.2019) - Ajarnpa

Video: Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt op 12.2019) - Ajarnpa

Video: Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt op 12.2019) - Ajarnpa
Video: Home Assistant - connect address tape WS2812B via ESP8266 with WLED firmware 2024, November
Anonim
Image
Image
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)
Ambilight-systeem voor elke ingang die op uw tv is aangesloten. WS2812B Arduino UNO Raspberry Pi HDMI (bijgewerkt 12.2019)

Ik heb altijd al Ambilight willen toevoegen aan mijn tv. Het ziet er zo gaaf uit! Ik heb het eindelijk gedaan en ik werd niet teleurgesteld!

Ik heb veel video's en veel tutorials gezien over het maken van een Ambilight-systeem voor je tv, maar ik heb nog nooit een volledige tutorial gevonden voor mijn exacte behoeften.

Het gaat erom of het systeem alleen is gemaakt voor 1 enkele bron (PS4 of Xbox of tv enz.) Of dat het niet dezelfde LED's gebruikt als ik wilde gebruiken, dus ik besloot een instructable te maken en alle informatie en ervaring die ik op één plek heb verzameld tijdens het maken van dit project.

Het systeem dat ik heb gemaakt kan worden aangesloten op maximaal 5 verschillende bronnen. Ik heb het hier ingesteld om te werken met mijn PS4-systeem of mijn thuisbioscoop / blu-ray-speler of mijn Foxtel (Australische kabel-tv-box) of mijn computer en heb een reserve-ingang over voor iets anders. Dit alles eenvoudig met een druk op de knop.

Ik heb een LCD-scherm toegevoegd om de huidige bron weer te geven die is aangesloten op de Ambilight en een AAN/UIT-knop voor het systeem.

Als u ambilight beschikbaar wilt hebben voor alle verschillende ingangen die op uw tv zijn aangesloten, wilt u de ledstrips van het type WS2812 gebruiken, zoek dan niet verder, deze tutorial is voor u

Ik heb deze instructable ingevoerd in de Raspberry PI 2016-wedstrijd, dus als je het leuk vindt, stuur me dan snel een stem! Bij voorbaat zeer gewaardeerd.

Stap 1: Materiaal dat nodig is om dit systeem te bouwen

Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen
Materiaal dat nodig is om dit systeem te bouwen

Niet alle bronnen hebben een HDMI-uitgang, zoals mijn computer nog steeds is aangesloten via de oude VGA-connector en mijn Foxtel-eenheid nog steeds is aangesloten via AV-kabels. Ik moest nogal wat verschillende adapters kopen om het allemaal werkend te krijgen, maar uiteindelijk is het resultaat geweldig en zeker de moeite waard!!

Niet alles is hier nodig, afhankelijk van uw eigen systeem en of u een LCD-scherm wilt of niet. Ik zal de optionele items scheiden.

  1. 1x 4meter strip van WS2812B 30leds/m. (dit was genoeg voor mijn 55inch tv) Ik heb de mijne gekocht bij Aliexpress. Loden strip
  2. 1xArduino UNO-bord.
  3. 1x Raspberry Pi-model 2 of 3.
  4. 1x SD-kaart. (8Gb is goed)
  5. 1x Videograbber type STK1160. (wees voorzichtig bij het kiezen van de grijper, sommige modellen zullen niet werken!!) Dit is degene die ik heb en het werkt naar behoren. Videogrijper
  6. 1x 5V 10 ampère voeding. Ik heb de mijne weer van Aliexpress en het werkt prima. Stroomvoorziening
  7. 1x HDMI-splitter 1 x 2. splitter
  8. 1x HDMI-switcher 5 in 1. switcher
  9. 1x HDMI naar AV-converter. converter
  10. 1x 10uF elektrolytische condensator

kabels en hardware:

  1. 4x 25cm HDMI-kabel. kabel
  2. 2x HDMI vrouwelijke naar vrouwelijke behuizingsconnectoren. verbindingsstuk
  3. 1x 220V ingangsconnector (gezekerd).
  4. 1x projectbehuizing (kan anders zijn, het is aan jou, de mijne is 424 mm x 203 mm x 86 mm) doos
  5. Enkeladerige draad om de 5V aan te sluiten op de verschillende omvormers etc.
  6. Lintkabels of extensies om ingangen naar het Arduino-voorbeeld te bedraden

optionele extra's:

  1. 1x AV naar HDMI-converter. converter
  2. 1x VGA naar HDMI converter. converter
  3. 2x 25cm HDMI-kabel. kabel
  4. 1x LCD-scherm 16 tekens x 2 regels. LCD
  5. 1x I2C-interface voor het LCD-scherm. koppel
  6. 1x koelventilator voor de behuizing.

Stap 2: Welke computerprogramma's zijn vereist?

Welke computerprogramma's zijn vereist?
Welke computerprogramma's zijn vereist?
Welke computerprogramma's zijn vereist?
Welke computerprogramma's zijn vereist?
Welke computerprogramma's zijn vereist?
Welke computerprogramma's zijn vereist?

Er zijn een paar verschillende programma's vereist voor dit project.

Je moet ze downloaden en installeren (als je die nog niet hebt)

  • WinSCP kan hier worden gedownload
  • Putty is hier te downloaden (klik op de putty.exe link in de lijst)
  • SDFormatter kan hier worden gedownload
  • Win32DiskImager kan hier worden gedownload
  • Arduino IDE is hier te downloaden (ik gebruikte destijds versie 1.8.10)
  • HyperCon kan hier worden gedownload
  • Notepad++ (optioneel) kan hier worden gedownload

U moet ook de Raspberry Pi-schijfkopie downloaden. Kies het bestand met de naam "OpenELEC 8.0.3 voor RPI2 / RPI3" dat u hier onderaan de pagina kunt downloaden

Stap 3: De Raspberry Pi aan de praat krijgen

De Raspberry Pi aan de gang krijgen
De Raspberry Pi aan de gang krijgen
De Raspberry Pi aan de gang krijgen
De Raspberry Pi aan de gang krijgen
De Raspberry Pi aan de gang krijgen
De Raspberry Pi aan de gang krijgen

We beginnen met het opstarten van de Raspberry Pi

1) We gaan openELEC naar de SD-kaart schrijven.

  1. Pak de Raspberry Pi-schijfkopie uit.
  2. Steek de SD-kaart in uw computer.
  3. Voer het SDFormatter-programma uit.
  4. Selecteer de stationsletter van de SD-kaart.
  5. Klik op de optie en selecteer "maataanpassing" op AAN.
  6. Klik OK.
  7. Klik op Formaat.
  8. Voer het Win32DiskImager-programma uit.
  9. Selecteer de Raspberry Pi-afbeelding en de stationsletter van uw SD-kaart.
  10. Selecteer Schrijven.

2) Werp de SD-kaart uit uw computer en sluit deze aan op uw Raspberry Pi.

Aansluitingen op de Pi:

  • Sluit een Ethernet-kabel aan op uw Pi vanaf uw netwerk.
  • Sluit de HDMI-poort van je Pi aan op je tv of scherm.
  • Sluit een toetsenbord en een muis aan op de USB-poorten. (Ik gebruik een draadloze muis en toetsenbordcombinatie en ik heb de dongle op deze manier aangesloten op de Pi gelaten, nu de Pi in een doos zit, hoef ik niet alles te openen als ik toegang wil tot mijn Pi.)
  • Sluit het usb-uiteinde van de videograbber aan op je Pi.

3) Sluit een 5V-voeding aan op uw Pi en volg de informatie op het scherm totdat deze opstart. Je zou een scherm moeten krijgen volgens mijn foto.

We moeten nu uw internetverbinding controleren. Volg het pad Instellingen (tandwiel) - systeeminformatie - samenvatting en noteer uw IP-adres, dit zal in de toekomst nodig zijn.

Zorg ervoor dat SSH is ingeschakeld, volg het pad Instellingen (tandwiel) - openELEC - services en controleer of "SSH inschakelen" is geactiveerd.

Nu gaan we HyperCon installeren en onze videograbberverbinding met de Pi controleren

Hiervoor gaan we Putty gebruiken. Je Pi moet zijn ingeschakeld en op je netwerk zijn aangesloten om dit te laten werken.

  • Typ het IP-adres dat je net voor je Pi hebt opgeschreven. volgens de bijgevoegde afbeelding en klik op Openen.
  • U zou dan een venster moeten krijgen waarin u wordt gevraagd om een gebruikersnaam volgens de bijgevoegde afbeelding. typ root en druk op enter.
  • er wordt dan om een wachtwoord gevraagd. (merk op dat de tekens niet verschijnen tijdens het typen van het wachtwoord, dit is normaal). Typ openelec en druk op enter.
  • Om alle USB-poorten te controleren, typt u lsusb en drukt u op enter. Je zou je videograbber in de lijst moeten vinden volgens de bijgevoegde afbeelding.
  • U kunt nu de verbinding sluiten.

Dit voltooit de Raspberry PI-setup. We komen er later op terug om het configuratiebestand van onze LED te uploaden.

Stap 4: Hyperion en het configuratiebestand

Hyperion en het configuratiebestand
Hyperion en het configuratiebestand
Hyperion en het configuratiebestand
Hyperion en het configuratiebestand
Hyperion en het configuratiebestand
Hyperion en het configuratiebestand

De invulling van uw project is aan u. Ik heb geprobeerd om zoveel mogelijk opmerkingen bij de foto's te plaatsen om je een idee te geven van hoe mijn setup in elkaar zit.

Een heel belangrijk ding is om ervoor te zorgen dat de invoer van de videograbber naar de Pi niet is verbonden met iets anders, ik had fouten in de framegrootte en er gebeurden een heleboel andere rare dingen toen ik iets anders had aangesloten op de andere USB-poort. Het moet een bandbreedtelimiet bereiken of zoiets, maar het zou niet werken als ik probeerde een WiFi-dongle in deze USB aan te sluiten of zelfs de uitvoerkabel naar de Arduino

Ik raad aan om alle converters enz. te plaatsen en te beginnen door ze allemaal eerst van stroom te voorzien. De meeste van deze converters werden geleverd met een powerpack voor in de muur. Ik sneed de kabel af en gebruikte alleen de connector aan de kant van de converter en besloot een bordje te bouwen met veel +5V- en GND-aansluitingen om ze allemaal van stroom te voorzien. Het bespaarde veel ruimte.

Ik plakte de verschillende converters vast met 2-componentenlijm en gebruikte plastic stand-offs om de Arduino vast te schroeven. Ik heb ook wat lijm aan de achterkant van de IEC-connector toegevoegd voor een beetje extra stijfheid. Mijn IEC-connector heeft een ingebouwde AAN/UIT-schakelaar die ik kan gebruiken om het hele apparaat uit te schakelen. Het heeft ook een zekering waar ik een 1.6A /250V zekering heb geplaatst voor bescherming als er iets kapot zou gaan met mijn goedkope voeding.

Ik heb mijn dremel gereedschap en wat vijlen gebruikt om de openingen in de behuizing te maken en het er mooi uit te laten zien. Ik heb ook een opening gesneden voor de IR-sensor aan de voorkant van de behuizing boven het LCD-scherm.

Ik heb geen goede schematische tekening gemaakt voor de bedrading naar de Arduino, laat het me weten als iemand er de voorkeur aan geeft om er een te hebben in plaats van de afbeelding die ik heb verzonnen.

Aarzel niet om commentaar te geven indien nodig en ik zal graag vragen beantwoorden en dit instructable bijwerken om het completer of gemakkelijker te begrijpen te maken.

Stap 9: Hacken in de HDMI Switcher (optioneel)

Hacken in de HDMI-switcher (optioneel)
Hacken in de HDMI-switcher (optioneel)
Hacken in de HDMI-switcher (optioneel)
Hacken in de HDMI-switcher (optioneel)
Hacken in de HDMI-switcher (optioneel)
Hacken in de HDMI-switcher (optioneel)

Om onze Arduino te laten weten welke bron de HDMI-switcher daadwerkelijk weergeeft, hebben we een manier nodig om deze informatie van de switcher naar de Arduino te sturen. Gelukkig heeft de switcher de switcher 5 LED's om bron 1 tot en met 5 weer te geven wanneer geselecteerd en we gaan deze signalen gebruiken voor de Arduino.

Ik heb een signaal van de 5 LED's genomen, maar later toen ik de Arduino-code schreef, realiseerde ik me dat ik geen signaal van de LED nummer 1 nodig had, als je goed kijkt naar de lintkabelverbinding met de Arduino, kun je zien dat de bruine draad aan de rechterkant is eigenlijk niet aangesloten. We hebben alleen LED2 aangesloten op A0, LED3 op A1, LED4 op A2 en LED5 op A3.

Ik heb ze aangesloten op de analoge ingangen zonder andere redenen dan het gemak van de bedrading in mijn projectdoos.

Als u besluit dit project te bouwen en geen LCD-scherm op het voorpaneel wilt, is deze stap niet nodig en kan deze worden overgeslagen. Het zal moeilijk zijn om te weten welke bron is geselecteerd op de HDMI-switcher als de LED's erop uit het zicht zijn, zoals in mijn projectontwerp waarbij de switcher in de behuizing is ondergebracht.

Stap 10: De Arduino- en Arduino-code

De Arduino- en Arduino-code
De Arduino- en Arduino-code
De Arduino- en Arduino-code
De Arduino- en Arduino-code
De Arduino- en Arduino-code
De Arduino- en Arduino-code

Download de schets via de volgende link. hier

Om de Arduino-schets goed te compileren, heb je 2 bibliotheken nodig:

Adafruit_NeoPixel.h die u hier kunt downloaden

LiquidCrystal_I2C.h die u hier kunt downloaden (versie 2.0)

Ik heb geprobeerd om zoveel mogelijk opmerkingen toe te voegen via de code. Als er iets niet duidelijk is, aarzel dan niet om een opmerking te plaatsen en vragen te stellen. Ze kunnen veel mensen helpen.

Na een kijkje door de code die ik heb toegevoegd aan deze stap.

Datapin is de geselecteerde pin waar de Din van onze LED-strip wordt aangesloten

#define DATAPIN 5

Led-telling is het werkelijke aantal LED's in uw systeem

#define LEDCOUNT 113

De baudrate mag niet worden gewijzigd, of het moet ook worden gewijzigd in het Hyperion-configuratiebestand

#define BAUDRATE 500000

Dit is het helderheidsniveau waarop u uw LED-strip wilt laten werken. Testen vereist in uw omgeving. 0 tot 100 selectie

#define HELDERHEID 100

U moet regel 24 wijzigen met uw eigen prefix.

Zoek met behulp van het bijgevoegde prefixbestand uw aantal LED's en kopieer de waarden uit het bestand naar uw prefixregel. U moet het bestand openen met iets als Notepad++ om het correct weer te geven.

Voorbeeld voor 113 LEDS: const char prefix = {0x41, 0x64, 0x61, 0x00, 0x70, 0x25};

Voorbeeld voor 278 LEDS: const char prefix = {0x41, 0x64, 0x61, 0x01, 0x15, 0x41};

Aan het einde van de code, in de routine check_source(), kunt u hier voor elke bron de informatie wijzigen die op het LCD-scherm wordt weergegeven wanneer de bron wordt geselecteerd, zoals tv of PS4 of computer enz enz …

U kunt ook de LCD-cursor zo instellen dat de afgedrukte naam in het midden van het LCD-scherm wordt afgedrukt.

Als je eenmaal tevreden bent met je code, kun je deze uploaden naar je Arduino en controleren of deze voorlopig correct werkt met in ieder geval het LCD-scherm.

Zodra uw Arduino is geprogrammeerd, voegt u een 10uF-condensator toe tussen de pinnen GND en RESET. (Pin reset is de + van de condensator).

Dit voorkomt dat de Arduino opnieuw opstart wanneer de seriële gegevens van de Pi komen wanneer het systeem opstart.

Als u de Arduino opnieuw moet programmeren, verwijdert u de condensator van tevoren en vervangt u deze zodra deze klaar is.

Stap 11: Alles bij elkaar brengen en testen

Raspberry Pi en Arduino kunnen nu worden gekoppeld met de USB-kabel.

LED strip is aangesloten op de behuizing en op de Arduino.

Arduino en Raspberry zijn geprogrammeerd.

5V voeding van de voeding gaat naar alle verschillende converters Arduino en Raspberry.

Wanneer de projectbox van stroom wordt voorzien, brandt de LED-bron van de HDMI-switcher, het bronkanaal kan worden gewijzigd met behulp van de afstandsbediening of knop op de switcher.

Selecteer de bron op uw tv waar u de hoofdkabel hebt aangesloten vanaf de uitgang van de projectbox en kijk of u een beeld op het scherm krijgt van de bron die u op uw switcher hebt geselecteerd.

Na een paar seconden moet de LED-strip geleidelijk oplichten en uitschakelen. Dit betekent dat de Arduino is gestart en de verbinding met de LED-strip goed is.

Kort daarna zou de LED-strip kleuren moeten gaan weergeven volgens de informatie die door de Raspberry is doorgegeven.

Succes!! U bent nu klaar met uw project en kunt beginnen met genieten van een vermakelijke tv-lichtshow

Stap 12: Bedien uw LED-strip vanaf uw telefoon

Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon
Bedien uw LED-strip vanaf uw telefoon

Om hier nog wat plezier aan toe te voegen, kun je een App op Iphone downloaden, ik weet zeker dat deze ook voor andere apparaten beschikbaar moet zijn.

Zeer eenvoudig te gebruiken, zorg ervoor dat uw Pi en LED-strip AAN staan en druk op de Detect-knop linksboven. Het zou de server moeten detecteren, die u een naam kunt geven zoals u dat wilt.

Selecteer het en je bent helemaal klaar, je kunt kleuren kiezen uit het kleurenwiel en je strip zal dienovereenkomstig oplichten of kiezen uit verschillende effecten die moeten worden weergegeven.

Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016

Tweede prijs in de Raspberry Pi Contest 2016

Aanbevolen: