Cuprins:
- Pasul 1: Materialul necesar pentru construirea acestui sistem
- Pasul 2: ce programe de calculator vor fi necesare
- Pasul 3: Pornirea și funcționarea Raspberry Pi
- Pasul 4: Hyperion și fișierul de configurare
- Pasul 9: hacking în comutatorul HDMI (opțional)
- Pasul 10: Codul Arduino și Arduino
- Pasul 11: Adunând totul împreună și testând
- Pasul 12: Controlați banda LED de pe telefon
Video: Sistem Ambilight pentru fiecare intrare conectată la televizorul dvs. WS2812B Arduino UNO Raspberry Pi HDMI (actualizat 12.2019): 12 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Întotdeauna mi-am dorit să adaug ambalight la televizorul meu. Arată atât de mișto! În sfârșit am făcut-o și nu am fost dezamăgit!
Am văzut multe videoclipuri și multe tutoriale despre crearea unui sistem Ambilight pentru televizorul dvs., dar nu am găsit niciodată un tutorial complet pentru nevoile mele exacte.
Dacă sistemul este creat doar pentru o singură sursă (PS4 sau Xbox sau TV etc.) sau nu folosește aceleași LED-uri pe care am vrut să le folosesc, așa că am decis să creez un instructable și să pun împreună toate informațiile și experiență pe care am adunat-o într-un singur loc în timp ce făceam acest proiect.
Sistemul pe care l-am creat poate fi conectat la până la 5 surse diferite. Îl configurez aici pentru a rula cu sistemul meu PS4 sau cu playerul home theater / blu-ray sau cu Foxtel (cutia australiană de televiziune prin cablu) sau computerul meu și mai am o intrare de rezervă pentru altceva. Toate acestea pur și simplu prin apăsarea unui buton.
Am adăugat un ecran LCD pentru a afișa sursa curentă conectată la ambilight și un buton ON / OFF pentru sistem.
Dacă doriți să aveți ambilight disponibil pentru fiecare intrare diferită conectată la televizorul dvs., doriți să utilizați benzile LED tip WS2812, apoi nu căutați mai departe, acest tutorial este pentru dvs
Am înscris acest instructable în concursul Raspberry PI 2016, așa că, dacă îți place, te rog să mă votezi rapid! Mult apreciat în avans.
Pasul 1: Materialul necesar pentru construirea acestui sistem
Nu toate sursele au o ieșire HDMI, deoarece computerul meu este încă conectat prin vechiul conector VGA și unitatea Foxtel este încă conectată prin cabluri AV. A trebuit să cumpăr destul de multe adaptoare diferite pentru ca totul să funcționeze, dar în cele din urmă rezultatul este minunat și merită !!
Nu totul va fi necesar în funcție de propriul sistem și dacă doriți un LCD sau nu. Voi separa elementele opționale.
- 1 x bandă de 4 metri de WS2812B 30leds / m. (acest lucru a fost suficient pentru televizorul meu de 55 inch) L-am cumpărat pe al meu de la Aliexpress. Benzi LED
- 1x placa Arduino UNO.
- 1x Raspberry Pi modelul 2 sau 3.
- 1x card SD. (8 GB este bun)
- 1x Video Grabber tip STK1160. (aveți grijă când alegeți dispozitivul de prindere, unele modele nu vor funcționa !!) Acesta este cel pe care l-am obținut și funcționează corect. Grabber video
- Sursa de alimentare 1x 5V 10amps. Am primit din nou al meu de la Aliexpress și funcționează bine. Alimentare electrică
- 1x splitter HDMI 1 x 2. splitter
- 1x comutator HDMI 5 în 1. comutator
- 1x convertor HDMI în AV. convertor
- 1x condensator electrolitic 10uF
cabluri și hardware:
- 4x cablu HDMI de 25cm. cablu
- 2x conectori HDMI de la carcasă la mamă. conector
- 1x conector de intrare 220V (fuzionat).
- 1x incintă de proiect (poate fi diferită, depinde de tine, a mea are 424mm x 203mm x 86mm) cutie
- Sârmă cu un singur nucleu pentru a conecta 5V la diferitele convertoare etc.
- Cabluri panglică sau extensii pentru a conecta intrările la exemplul Arduino
opțiuni suplimentare:
- 1x convertor AV la HDMI. convertor
- 1x convertor VGA la HDMI. convertor
- 2x cablu HDMI de 25cm. cablu
- 1x ecran LCD 16 caractere x 2 linii. LCD
- 1x interfață I2C pentru LCD. interfață
- 1x ventilator de răcire pentru carcasă.
Pasul 2: ce programe de calculator vor fi necesare
Pentru acest proiect vor fi necesare câteva programe diferite.
Trebuie să le descărcați și să le instalați (dacă nu le aveți deja)
- WinSCP poate fi descărcat de aici
- Putty poate fi descărcat de aici (faceți clic pe linkul putty.exe din listă)
- SDFormatter poate fi descărcat de aici
- Win32DiskImager poate fi descărcat de aici
- Arduino IDE poate fi descărcat de aici (am folosit versiunea 1.8.10 în acel moment)
- HyperCon poate fi descărcat de aici
- Notepad ++ (opțional) poate fi descărcat de aici
Va trebui să descărcați și imaginea discului Raspberry Pi. Ați ales fișierul numit „OpenELEC 8.0.3 pentru RPI2 / RPI3” pe care îl puteți descărca din partea de jos a paginii aici
Pasul 3: Pornirea și funcționarea Raspberry Pi
Vom începe prin punerea în funcțiune a Raspberry Pi
1) Vom scrie openELEC pe cardul SD.
- Dezarhivați imaginea discului Raspberry Pi.
- Conectați cardul SD la computer.
- Rulați programul SDFormatter.
- Selectați litera unității cardului SD.
- Faceți clic pe opțiune și selectați „ajustare dimensiune” la ON.
- Faceți clic pe OK.
- Faceți clic pe Format.
- Rulați programul Win32DiskImager.
- Selectați imaginea Raspberry Pi și litera de unitate a cardului SD.
- Selectați Scrieți.
2) Scoateți cardul SD de pe computer și conectați-l la Raspberry Pi.
Conexiuni care trebuie făcute pe Pi:
- Conectați un cablu Ethernet la Pi din rețeaua dvs.
- Conectați portul HDMI al dispozitivului Pi la televizor sau ecran.
- Conectați o tastatură și un mouse la porturile USB. (Folosesc un mouse wireless și o tastă combinată și am lăsat dongle-ul conectat la Pi, în acest fel, acum că Pi este încorporat, nu trebuie să-l deschid totul dacă vreau să accesez Pi-ul meu.)
- Conectați capătul USB al dispozitivului de captare video la Pi.
3) Conectați o sursă de alimentare de 5V la Pi și urmați informațiile de pe ecran până când pornește. Ar trebui să vi se prezinte un ecran conform fotografiei mele.
Acum trebuie să vă verificăm conexiunea la internet. Urmați calea Setări (roată dințată) - informații despre sistem - rezumat și scrieți adresa dvs. IP, va fi necesară în viitor.
Asigurați-vă că SSH este activat, urmați calea Setări (roată dințată) - openELEC - services și verificați dacă este activat „enable SSH”.
Acum vom instala HyperCon și vom verifica conexiunea noastră de captare video la Pi
Pentru aceasta vom folosi Putty. Pi-ul dvs. trebuie să fie pornit și conectat la rețeaua dvs. pentru ca acest lucru să funcționeze.
- Tastați adresa IP pe care ați notat-o chiar înainte pentru Pi. conform imaginii atașate și faceți clic pe Deschidere.
- Apoi ar trebui să vi se solicite o fereastră care vă solicită un nume de utilizator conform imaginii atașate. tastați root și apăsați Enter.
- vi se va cere apoi o parolă. (rețineți că caracterele nu vor apărea în timp ce tastați parola, acest lucru este normal). Tastați openelec și apăsați Enter.
- Pentru a verifica toate porturile USB, tastați lsusb și apăsați Enter. Ar trebui să găsiți captorul video în listă, conform imaginii atașate.
- Acum puteți închide conexiunea.
Aceasta completează configurarea Raspberry PI. Vom reveni la el mai târziu pentru a încărca fișierul de configurare al LED-ului nostru.
Pasul 4: Hyperion și fișierul de configurare
Boxarea proiectului dvs. va depinde de dvs. Am încercat să pun cât mai multe comentarii cu privire la imagini pentru a vă oferi și o idee despre modul în care este realizată configurarea mea.
Un lucru foarte important este să mă asigur că intrarea video grabber în Pi nu este conectată cu nimic altceva, am avut erori de dimensiune a cadrului și o mulțime de alte lucruri ciudate se întâmplă când am avut altceva conectat la celălalt port USB. Trebuie să atingă o limită de lățime de bandă sau ceva, dar nu ar funcționa atunci când am încercat să conectez un dongle WiFi în acest USB sau chiar cablul de ieșire care merge la Arduino
Vă recomandăm să plasați toate convertoarele etc. și să începeți prin a aduce mai întâi puterea tuturor. Majoritatea acestor convertoare au venit cu o sursă de alimentare cu priză. Am întrerupt cablul și am folosit conectorul doar pe partea convertorului și am decis să construiesc o placă mică cu o mulțime de conexiuni + 5V și GND pentru a le alimenta pe toate. A economisit mult spațiu.
Am blocat diferitele convertoare cu lipici cu 2 componente și am folosit suporturi din plastic pentru a fixa Arduino în jos. Am adăugat niște lipici și pe partea din spate a conectorului IEC, pentru o rigiditate sporită. Conectorul meu IEC are un comutator ON / OFF încorporat pe care îl pot folosi pentru a opri întreaga unitate. De asemenea, are o siguranță de siguranță în care am pus o siguranță de 1.6A / 250V pentru protecție dacă ceva ar trebui să meargă prost cu sursa mea de alimentare ieftină.
Am folosit instrumentul meu dremel și câteva fișiere pentru a face deschiderile în incintă și pentru a arăta frumos. De asemenea, am sculptat o deschidere pentru senzorul IR în partea din față a carcasei de deasupra ecranului LCD.
Nu am desenat un desen schematic adecvat pentru cablarea la Arduino, anunțați-mă dacă cineva ar prefera să aibă unul în loc să folosească imaginea pe care am inventat-o.
Nu ezitați să comentați dacă este necesar și voi răspunde cu bucurie la întrebări și voi actualiza acest instructiv pentru a-l face mai complet sau mai ușor de înțeles.
Pasul 9: hacking în comutatorul HDMI (opțional)
Pentru ca Arduino să afle ce sursă afișează efectiv comutatorul HDMI, avem nevoie de o modalitate de a trimite aceste informații de la comutator la Arduino. Din fericire, comutatorul comutatorului are 5 LED-uri pentru a afișa sursa de la 1 la 5 când este selectat și vom folosi aceste semnale pentru Arduino.
Am luat un semnal de la cele 5 LED-uri, dar mai târziu, când am scris codul Arduino, mi-am dat seama că nu aveam nevoie de un semnal de la LED-ul numărul 1, dacă te uiți atent la conexiunea cablului panglică la Arduino, poți vedea că firul maro din partea dreaptă nu este de fapt conectat. Avem doar LED2 conectat la A0, LED3 la A1, LED4 la A2 și LED5 la A3.
Le-am conectat la intrările analogice fără alte motive care să faciliteze cablarea în cutia mea de proiect.
Dacă decideți să construiți acest proiect și nu doriți să aveți un ecran LCD pe panoul frontal, acest pas nu este necesar și poate fi omis. Va fi greu să știți ce sursă este selectată pe comutatorul HDMI dacă LED-urile de pe acesta nu sunt vizibile ca în proiectarea mea în care comutatorul este găzduit în interiorul carcasei.
Pasul 10: Codul Arduino și Arduino
Descărcați schița de pe următorul link. Aici
Pentru ca schița Arduino să se compileze corect, veți avea nevoie de 2 biblioteci:
Adafruit_NeoPixel.h pe care îl puteți descărca de aici
LiquidCrystal_I2C.h pe care îl puteți descărca aici (versiunea 2.0)
Am încercat să adaug cât mai multe comentarii posibil prin intermediul codului. Dacă ceva nu este clar, nu ezitați să postați un comentariu și să puneți întrebări. Pot ajuta mulți oameni.
Aruncând o privire prin codul pe care l-am atașat la acest pas.
Datapin este pinul selectat unde va fi conectat Din-ul benzii noastre LED
#define DATAPIN 5
Numărul de LED-uri este numărul real de LED-uri din sistemul dvs.
#define LEDCOUNT 113
Baudrate-ul nu trebuie modificat sau va trebui modificat și în fișierul de configurare Hyperion
#define BAUDRATE 500000
Acesta este nivelul de luminozitate la care doriți să funcționeze banda LED. Testarea necesară în mediul dvs. Selecție de la 0 la 100
#define BRIGHTNESS 100
Va trebui să modificați linia 24 cu propriul prefix.
Folosind fișierul de prefix atașat, găsiți numărul de LED-uri și copiați valorile din fișier în linia de prefix. Trebuie să deschideți fișierul cu ceva de genul Notepad ++ pentru a-l afișa corect.
Exemplu pentru 113 LED-uri: prefix const char = {0x41, 0x64, 0x61, 0x00, 0x70, 0x25};
Exemplu pentru 278 LED-uri: prefix const char = {0x41, 0x64, 0x61, 0x01, 0x15, 0x41};
La sfârșitul codului, în rutina check_source (), aici puteți schimba pentru fiecare sursă informațiile care vor fi afișate pe ecranul LCD atunci când sursa este selectată precum TV sau PS4 sau computer etc. etc …
Puteți seta și cursorul LCD pentru ca numele imprimat să fie tipărit în centrul ecranului LCD.
Odată ce sunteți mulțumit de codul dvs., îl puteți încărca pe Arduino și verificați dacă funcționează corect cu cel puțin ecranul LCD pentru moment.
Odată ce Arduino este programat, vă rugăm să adăugați un condensator de 10 uF între pinii GND și RESET. (Pin reset este + condensatorul).
Acest lucru va împiedica Arduino să repornească atunci când datele seriale care vin de la Pi la pornirea sistemului.
Dacă trebuie să reprogramați Arduino, scoateți condensatorul înainte de mână și înlocuiți-l odată ce ați terminat.
Pasul 11: Adunând totul împreună și testând
Raspberry Pi și Arduino pot fi acum conectate cu cablul USB.
Banda LED a fost conectată la carcasă și la Arduino.
Arduino și Raspberry sunt programate.
Alimentarea de 5V de la sursa de alimentare este destinată tuturor diferitelor convertoare Arduino și Raspberry.
Atunci când este alimentată cutia de proiect, sursa LED a comutatorului HDMI este aprinsă, canalul sursă poate fi modificat prin intermediul telecomenzii sau al butonului de pe comutator.
Selectați sursa de pe televizor unde ați conectat cablul principal din ieșirea din cutia de proiect și vedeți dacă obțineți o imagine pe ecran din orice sursă ați selectat pe comutatorul dvs.
După câteva secunde, banda LED ar trebui să se aprindă progresiv și să se oprească. Aceasta înseamnă că Arduino a început și conexiunea cu banda LED este bună.
Curând după aceea, banda LED ar trebui să înceapă să afișeze culori conform informațiilor transmise de Raspberry.
Succes !! Ați terminat proiectul și puteți începe să vă bucurați de o emisiune de lumini TV distractivă
Pasul 12: Controlați banda LED de pe telefon
Pentru a adăuga un pic de distracție, puteți descărca o aplicație pe Iphone, sunt sigur că trebuie să fie disponibilă și pentru alte dispozitive.
Foarte ușor de utilizat, asigurați-vă că banda dvs. Pi și LED sunt aprinse și apăsați butonul Detectare din partea stângă sus. Ar trebui să detecteze serverul pe care îl puteți numi după cum doriți.
Selectați-l și sunteți pregătiți, puteți alege culori de pe roata de culori, iar banda dvs. se va aprinde în mod corespunzător sau va alege dintre diferite efecte care vor fi afișate.
Premiul II la Concursul Raspberry Pi 2016
Recomandat:
Steam Punk UPS-ul dvs. pentru a obține ore de funcționare pentru routerul dvs. Wi-Fi: 4 pași (cu imagini)
Steam Punk UPS-ul dvs. pentru a obține ore de funcționare pentru routerul dvs. Wi-fi: există ceva fundamental dezagreabil în ceea ce privește ca UPS-ul dvs. să-și convertească puterea bateriei de 12V DC în 220V AC, astfel încât transformatoarele care rulează routerul și fibra ONT să-l poată converti din nou în 12V DC! De asemenea, vă confruntați cu [de obicei
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: Bună ziua. Iată-mă cu un nou proiect numit O-R-A Este un ceas de perete RGB LED Matrix care afișează: oră: minut temperatura umiditate pictograma condiției meteorologice curente Evenimente din Google Calendar și 1h de notificări de reamintire la o anumită oră care arată:
Fiecare litru contează! "Scut" pentru dozator de apă Arduino: 7 pași (cu imagini)
Fiecare litru contează! "Scut" pentru dozatorul de apă Arduino: Bună! Cu acest instructiv, puteți doza o cantitate dorită de apă. Sistemul poate funcționa în mL și L. Vom folosi un Arduino UNO, un debitmetru pentru a număra cantitatea de apă, un LCD pentru a arăta starea, butoane pentru a schimba setările și un releu pentru ac
Controlați aspectul modelului dvs. de tren cu televizorul dvs. REMOTE !: 7 pași (cu imagini)
Controlați-vă aspectul modelului trenului cu televizorul dvs. REMOTE !: În acest instructiv, vă voi arăta cum să realizați un sistem de telecomandă IR pentru un model tren. Veți putea apoi să vă controlați trenurile în timp ce vă relaxați pe canapea. Deci sa începem
Cum să ascultați biblioteca dvs. iTunes prin televizorul sau receptorul dvs. Av: 5 pași
Cum să ascultați biblioteca dvs. iTunes prin intermediul televizorului sau al receptorului dvs. Av: Bine, am făcut acest lucru instructabil în 10 minute. A fost atât de ușor! Un laptop ar fi bun pentru asta, dar și un desktop lângă televizor este în regulă. Dacă aveți un Airport Express, atunci voi adăuga un pas pentru voi. (Notă: Nu dețin un aeroport expres, așa că dacă