Turinys:

RGB foninis apšvietimas + garso vizualizatorius: 4 žingsniai (su nuotraukomis)
RGB foninis apšvietimas + garso vizualizatorius: 4 žingsniai (su nuotraukomis)

Video: RGB foninis apšvietimas + garso vizualizatorius: 4 žingsniai (su nuotraukomis)

Video: RGB foninis apšvietimas + garso vizualizatorius: 4 žingsniai (su nuotraukomis)
Video: Большой игровой коврик XXL – рабочая поверхность с RGB подсветкой 2024, Liepa
Anonim
RGB foninis apšvietimas + garso vizualizatorius
RGB foninis apšvietimas + garso vizualizatorius
RGB foninis apšvietimas + garso vizualizatorius
RGB foninis apšvietimas + garso vizualizatorius

Sveiki atvykę į mano instrukcijas, kaip sukurti RGB LED apšvietimą, pvz. televizoriaus ar stalo gale.

Pati schema yra labai paprasta, nes WS2812 LED juostelės yra labai lengvai sujungiamos su, pvz., „Arduino Nano“.

Pastaba: jums nereikia naudoti papildomos „MSGEQ7 Audio Analyzer“grandinės, jei norite tik LED foninio apšvietimo be garso vizualizacijos.

Pateikiau išsamų naudotų dalių sąrašą ir tai, kur galite jų nusipirkti:

  • „Arduino Nano“/ „Uno“(„Amazon“/ „AliExpress“)
  • WS2812 RGB LED juostelė („Amazon“/ „AliExpress“), atkreipkite dėmesį, kad IP reiškia apsaugą (pvz., Jei reikia, neperšlampama), o skaičius nurodo, kiek šviesos diodų vienam metrui yra juostelėje (svarbu maitinti)
  • 5 V maitinimo šaltinis („Amazon“) (priklauso nuo to, kiek šviesos diodų juostelės turi) -> kiekvienas šviesos diodas užima ~ 20 mA, šioje instrukcijoje naudojama juostelė turi 45 šviesos diodus (30 per metrą), todėl man reikia 45*20 mA ~ 1, 5 amperų maitinimo šaltinio (Arduino, MSGEQ7 taip pat reikia), aš prijungiau maitinimo šaltinį, kuris teikia 3A, kurio mums dabar tikrai pakanka
  • 3,5 mm garso lizdas („Amazon“/ „AliExpress“)
  • Potenciometras 10 kOhm („Amazon“/ „AliExpress“)
  • Paspaudimo mygtukas („Amazon“/ „AliExpress“)
  • Rezistorius (1x 10kOhm, 1x 220Ohm, MSGEQ7: 2x100kOhm)
  • Kondensatoriai (1x 1000yF Electrolytic (Amazon / AliExpress), 2x 10nF, MSGEQ7: 2x 0,1yF, 1x33pF (Amazon / AliExpress)
  • Paprastas diodas („Amazon“/ „AliExpress“)
  • DC Jack („Amazon“/ „AliExpress“)

1 žingsnis: sukurkite schemą

Sukurkite schemą
Sukurkite schemą
Sukurkite schemą
Sukurkite schemą
Sukurkite schemą
Sukurkite schemą

Pagrindinė schema:

Taigi, naudojant „Adafruit_NeoPixel“biblioteką, „WS2812 Strip“sąsaja su „Arduino“yra gana paprasta.

LED juostelėje yra 3 kaiščiai: VCC, DATA, GND. VCC yra prijungtas prie 5 V, GND prie žemės, o viduryje esantis DATA kaištis yra prijungtas prie „LED_DATA Pin D6“„Arduino“. Dabar kiekvienas juostelės šviesos diodas turi WS2812 mikroschemą, kuri priima duomenis, kuriuos gauna iš „Arduino“, ir perduoda juos kitam šviesos diodui, todėl mums tereikia vieną kartą tiekti „Led“duomenis į pirmąjį juostos šviesos diodą.

Paspaudimo mygtuko logika keisti režimus ir potenciometras ryškumui valdyti paaiškinta kitame žingsnyje.

Tikslią schemą rasite „Fritzing“failo ekrano kopijoje, kurią taip pat galima atsisiųsti.

Atminkite, kad labai svarbu prijungti „Arduino 5V“kištuką prie maitinimo šaltinio tik per diodą, kad „Arduino“nebūtų sugadintas, jei prijungtumėte USB kabelį, kad jį užprogramuotumėte. 10nF ir 1000uF taip pat yra saugumo sumetimais, kad netrūktų energijos.

MSGEQ7 grandinei:

Tai yra labiausiai paplitusi grandinė, jungianti MSGEQ7 prie „Arduino“. Čia taip pat reikia 3,5 mm garso lizdo. Daugumos garso lizdų vidurinis kaištis yra GND, kaiščiai kairėje/dešinėje yra stereo kanalai, kurie per 10nF kondensatorių jungiasi prie MSGEQ7 signalo įvesties kaiščio, kaip parodyta schemoje. Prie signalo įvesties kaiščio galite papildomai pridėti potenciometrą, kad galėtumėte valdyti garso signalo jautrumą, tačiau tai tikrai nėra būtina. MSGEQ7 yra prijungtas prie „Arduino“su analoginiu išvesties kaiščiu, prijungtu prie A1 (MSGEQ_OUT), „Strobe“kaiščio į D2 („STROBE“), atstatyti kaištį į D5 („RESET“).

2 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

„GitHub“nuoroda užbaigti eskizą: PhilKes/RGB_Audio_Backlight

Pastabos dėl kodo:

Kode nurodome objektą „WS2812 Strip“su nauju „Adafruit_NeoPixel“objektu, perduodančiu šviesos diodų skaičių (pakeiskite NUM_LEDS, jei norite nustatyti), „Arduino“kaištį, prijungtą prie „LED_DATA“kaiščio, ir kodavimo tipą + spalvų verčių perdavimo greitį.

Kai tai bus padaryta, mes nustatysime numatytąjį ryškumą sąrankoje () per setBrightness (0-255) ir įjungsime juostą su begin (). Dabar galime nustatyti kiekvieną atskirą „Pixel/LED“tam tikrą RGB spalvą naudodami „setPixel“(LED, spalva). Kai baigsime, nustatykite visus šviesos diodus į naujas reikšmes, atnaujiname juostelę su strip.show (). Iš esmės tai yra visa kodo logika, kurios mums reikia norint užprogramuoti bet kokią norimą animaciją. Dabar, norėdami iš tikrųjų valdyti animacijas / režimus, prie „Arduino“pridedame mygtuko / lytėjimo jungiklį. Todėl vieną mygtuko galą prijungiame prie VCC, o kitą - prie „Arduino“kaiščio D3, o 10 kOhm rezistorių - prie GND. Sąrankoje () prie šio kaiščio pridedame pertrauką, kuri kiekvieną kartą paspaudus mygtuką sušaukia „changeMode“() metodą. „ChangeMode“() mes tiesiog perjungiame į kitą režimą ir liepiame dabartinei animacijai nutrūkti. Kai tai atsitiks, ciklas () bus naujai paleistas ir paleis naują animaciją/režimą.

Pateiktos animacijos apima: vaivorykštės spalvų išblukimą, raudoną, žalią, mėlyną, baltą spalvą, muzikos analizatoriaus režimą

Be to, aš pridėjau 10 kOhm potenciometrą, kad valdytų juostos ryškumą. metodas checkBrightness () tikrina prie potenciometro, prijungto prie kaiščio A2 (vidurinis potenciometro kaištis), išvestį ir atitinkamai atnaujina juostos ryškumą.

„MusicAnalyzer“() režimui per MSGEQ7:

Šis režimas vizualizuoja garso signalą, prijungtą prie MSGEQ7 signalo įvesties. MSGEQ išleidžia analoginį signalą, rodantį vieną garso juostą (8 juostos, nuo žemų iki aukštų dažnių). „MusicAnalyzer“() metodas gauna dabartines garso juostų vertes, iš naujo nustatydamas MSGEQ ir buferizuodamas pateiktas analogines vertes. Išvestinę juostą galima pakeisti uždėjus aukštą „Strobe“kaiščio šoną. Po to, kai visos 8 juostos yra buferinės, metodas pakeičia visas LED pikselių reikšmes ir apskaičiuoja naują LED 0 reikšmę. Spalva susideda iš: žemo dažnio (žemųjų dažnių) raudonos spalvos, vidutinio dažnio žalios spalvos ir aukšto dažnio mėlynos spalvos. Vertės perkėlimas prieš įkeliant naują vertę suteikia mums gražią sklandžiai animaciją.

3 veiksmas: nustatykite garsą kompiuteryje

Image
Image

Jei norite, kad jūsų muzika/garsas būtų įtrauktas į MSGEQ7, tačiau muzika vis dar būtų leidžiama garsiakalbiuose, turite naudoti „RealtekHD Stereomix“funkciją arba prijungti MSGEQ garso įvestį prie, pvz. garso plokštės/pagrindinės plokštės galinių garsiakalbių išvestis.

Norėdami įjungti „Stereomix“sistemoje „Win10“, dešiniuoju pelės mygtuku spustelėkite garsiakalbio piktogramą apačioje dešinėje ir spustelėkite „Garsai“, čia galite suaktyvinti „Stereomix“skirtuke „Įrašymas“(dešiniuoju pelės mygtuku spustelėkite -> aktyvuoti). Jei „Stereomix“nematomas, dešiniuoju pelės mygtuku spustelėkite ir pasirinkite „Rodyti išjungtus įrenginius“. Dabar atidarykite „Stereomix“nustatymus ir liepkite jam klausytis ir kopijuoti pagrindinių garsiakalbių garsą.

Jei norite naudoti galinio garsiakalbio išvestį, meniu „Garsai“atidarykite pagrindinio garsiakalbio nustatymus, skirtuką „Patobulinimai“, tada sąraše pasirinkite „Aplinka“ir išskleidžiamajame meniu pasirinkite „Kambarys“.

Tai dabar leidžia lygiagrečiai išvesti garsiakalbius ir MSGEQ7.

4 žingsnis: pastabos

Kadangi schema nėra tokia sudėtinga ar didelė, man pavyko visą grandinę sudėti į mažą dėžutę su skylutėmis USB jungčiai, garso lizdui, DC lizdui, potenciometrui ir mygtukui. Galite tiesiog naudoti kištukinius antgalius ir prijungti 3 laidus prie „WS2812 Strip“per trumpiklius.

Rekomenduojamas: