Sisukord:

Mitte-adresseeritav RGB LED-riba audiovisualiseerija: 6 sammu (piltidega)
Mitte-adresseeritav RGB LED-riba audiovisualiseerija: 6 sammu (piltidega)

Video: Mitte-adresseeritav RGB LED-riba audiovisualiseerija: 6 sammu (piltidega)

Video: Mitte-adresseeritav RGB LED-riba audiovisualiseerija: 6 sammu (piltidega)
Video: Led ball with pixel strips / Led pall koos pixel adresseeritav led ribadega 2024, Juuli
Anonim
Image
Image

Mul on mõnda aega olnud teleri kapi ümber 12 V RGB LED-riba ja seda juhib igav LED-draiver, mis võimaldab mul valida ühe 16 eelprogrammeeritud värvist!

Kuulan palju muusikat, mis hoiab mind motiveeritud, kuid valgustus lihtsalt ei loo meeleolu. Selle parandamiseks otsustasin võtta kõlarile antud helisignaali läbi AUX -i (3,5 mm pesa), töödelge seda ja kontrollige vastavalt RGB -riba.

Valgusdioodid reageerivad muusikale Bass (Low), Treble (Mid) ja High sageduste järgi.

Sagedusvahemik - värv on järgmine:

Madal - punane

Keskmine - roheline

Kõrge - sinine

See projekt hõlmab palju isetegemist, sest kogu vooluahel ehitati nullist üles. See peaks olema üsna lihtne, kui seadistate selle leivalauale, kuid PCB -le jootmine on üsna keeruline.

Tarvikud

(x1) RGB LED -riba

(x1) Arduino Uno/Nano (soovitatav on mega)

(x1) TL072 või TL082 (ka TL081/TL071 sobivad)

(x3) TIP120 NPN-transistor (TIP121, TIP122 või N-kanaliga MOSFET-id nagu IRF540, IRF 530 sobivad ka)

(x1) 10 kOhm potentsiomeeter lineaarne

(x3) 100 kOhm 1/4 vatti takistid

(x1) 10uF elektrolüütkondensaator

(x1) 47nF keraamiline kondensaator

(x2) 3,5 mm helipistik - emane

(x2) 9V aku

(x2) 9V patareilüliti

Samm: RGB LED -ribade tüüpide mõistmine

RGB LED -ribade tüüpide mõistmine
RGB LED -ribade tüüpide mõistmine

LED -ribasid on kahte põhitüüpi: "analoog" ja "digitaalne".

Analoog-tüüpi (joonis 1) ribadel on kõik LED-id paralleelselt ühendatud ja seega toimib see nagu üks suur kolmevärviline LED; saate kogu riba seada mis tahes soovitud värvile, kuid te ei saa üksikute LED -ide värve juhtida. Neid on väga lihtne kasutada ja üsna odavad.

Digitaaltüüpi (joonis 2) ribad töötavad erineval viisil. Neil on iga LED -i jaoks kiip, riba kasutamiseks peate saatma kiipidele digitaalselt kodeeritud andmed. See aga tähendab, et saate iga LED -i eraldi juhtida! Kiibi täiendava keerukuse tõttu on need kallimad.

Kui teil on raske füüsiliselt tuvastada erinevusi analoog- ja digitaaltüüpide vahel,

  1. Anoloogitüüpi kasutatakse 4 tihvti, 1 ühist positiivset ja 3 negatiivset, st üks iga RGB värvi jaoks.
  2. Digitaaltüüpi kasutamine 3 kontakti, positiivne, andmeside ja maandus.

Ma kasutan analoog-tüüpi ribasid, sest

  1. On väga vähe või üldse mitte Instructableid, mis õpetavad, kuidas muusikat reageerida analoog-tüüpi riba. Enamik neist keskendub digitaalsele tüübile ja neid on lihtsam panna muusikale reageerima.
  2. Mul olid mõned analoog-tüüpi ribad ümberringi.

2. samm: helisignaali võimendamine

Helisignaali võimendamine
Helisignaali võimendamine
Helisignaali võimendamine
Helisignaali võimendamine
Helisignaali võimendamine
Helisignaali võimendamine

Helipistiku kaudu saadetav helisignaal on

analoogsignaal, mis võngub vahemikus +200 mV ja -200 mV. Nüüd on see probleem selles, et tahame helisignaali mõõta ühe Arduino analoogsisendiga, kuna Arduino analoogsisendid suudavad mõõta ainult pinget vahemikus 0 kuni 5 V. Kui me prooviksime mõõta helisignaali negatiivseid pingeid, loeks Arduino ainult 0 V ja lõikaksime signaali põhja.

Selle lahendamiseks peame helisignaale võimendama ja nihutama nii, et need jääksid vahemikku 0–5 V. Ideaalis peaks signaali amplituud olema 2,5 V, mis võngub 2,5 V ümber, nii et selle minimaalne pinge on 0 V ja maksimaalne pinge 5 V.

Võimendus

Võimendi on ahela esimene samm, see suurendab signaali amplituudi umbes + või - 200 mV -lt + või - 2,5 V -ni (ideaaljuhul). Võimendi teine ülesanne on kaitsta heliallikaid (esiteks helisignaali tekitav asi) ülejäänud vooluahela eest. Väljaminev võimendatud signaal saab kogu oma voolu võimendist, nii et igasugune koormus, mida sellele hiljem ahelas pannakse, ei ole heliallikas (minu puhul telefon/iPod/sülearvuti) "tunda". Tehke seda, seadistades ühe op-võimendi paketis TL072 või TL082 (joonis 2) mitte-inverteeriva võimendi konfiguratsioonis.

TL072 või TL082 andmelehel on öeldud, et see peaks olema toitega +15 ja -15V, kuid kuna signaali ei võimendata kunagi üle + või -2,5V, on hea kasutada op -võimendit millegi madalamaga. Kasutasin kahte järjestikku ühendatud üheksa -voldist akut, et luua + või - 9 V toiteallikas.

Ühendage oma +V (tihvt 8) ja –V (tihvt 4) op-võimendi külge. Ühendage signaal monopistikupesast mitteinverteerivasse sisendisse (tihvt 3) ja ühendage pistiku maanduspistik oma toiteallika 0 V võrdluspunktiga (minu jaoks oli see kahe 9V aku järjestikune ühenduskoht). Juhtida 100 kOhm takisti op-amp väljundi (tihvt 1) ja inverteeriva sisendi (tihvt 2) vahele. Selles vooluringis kasutasin oma mitteinverteeriva võimendi võimenduse (summa, mida võimendi võimendab) reguleerimiseks muutuva takistina juhtmega 10 kOhm potentsiomeetrit. Ühendage see 10K lineaarne koonuspott inverteeriva sisendi ja 0 V võrdluse vahel.

Alalisvoolu nihe

Alalisvoolu nihkeahelal on kaks põhikomponenti: pingejagur ja kondensaator. Pingejagur on valmistatud kahest 100k takistist, mis on ühendatud järjestikku Arduino 5V toitepingest maapinnale. Kuna takistitel on sama takistus, on pinge nendevahelisel ristmikul 2,5 V. See 2,5 V ristmik on seotud võimendi väljundiga 10uF kondensaatori kaudu. Kui pinge kondensaatori võimendi poolel tõuseb ja langeb, põhjustab see laengu hetkega kogunemist ja tõrjumist 2,5 V ristmiku külge kinnitatud kondensaatori küljelt. See põhjustab pinge 2,5 V ristmikul üles -alla võnkumist, mille keskpunkt on umbes 2,5 V.

Nagu skeemil näidatud, ühendage 10uF kondensaatori negatiivne juhe võimendi väljundiga. Ühendage korgi teine pool ristmikuga kahe 100k takisti vahel, mis on jadamisi ühendatud 5V ja maa vahel. Lisage ka 47 nF kondensaator 2,5 V -st maapinnale.

3. samm: signaali lagundamine statsionaarsete sinusoidide hulka - teooria

Signaali lagundamine statsionaarsete sinusoidide hulka - teooria
Signaali lagundamine statsionaarsete sinusoidide hulka - teooria

Mis tahes 3,5 mm pesa kaudu saadetud helisignaal asub

vahemikus 20 Hz kuni 20 kHz. Selle proovivõtt toimub sagedusel 44,1 kHz ja iga proov on kodeeritud 16 bitile.

Helisignaali moodustavate elementaarsete põhisageduste dekonstrueerimiseks rakendame signaalile Fourier 'teisendust, mis lagundab signaali statsionaarsete siinuste summaks. Teisisõnu, Fourier -analüüs teisendab signaali algsest domeenist (sageli ajast või ruumist) esituseks sageduspiirkonnas ja vastupidi. Kuid selle arvutamine otse määratlusest on sageli liiga aeglane, et olla praktiline.

Joonised näitavad, kuidas signaal ajas ja sagedusvaldkonnas välja näeb.

Siin on FFT (Fast Fourier Transform) algoritm päris kasulik!

Definitsiooni järgi, FFT arvutab sellised muutused kiiresti, faktoriseerides DFT maatriksi hõredate (enamasti null) tegurite korrutiseks. Selle tulemusel suudab see vähendada DFT arvutamise keerukust O -st (N2), mis tekib siis, kui rakendada lihtsalt DFT määratlust, O -le (N log N), kus N on andmete suurus. Kiiruse erinevus võib olla tohutu, eriti pikkade andmekogumite puhul, kus N võib olla tuhandeid või miljoneid. Ümardamisvea korral on paljud FFT algoritmid palju täpsemad kui DFT määratluse hindamine otse või kaudselt.

Lihtsamalt öeldes tähendab see lihtsalt seda, et FFT algoritm on kiirem viis mis tahes signaali Fourier -teisenduse arvutamiseks. Seda kasutatakse tavaliselt väikese arvutusvõimsusega seadmetes.

Soovitan: