Osoitteettomat RGB LED Strip Audio Visualizer: 6 vaihetta (kuvien kanssa)
Osoitteettomat RGB LED Strip Audio Visualizer: 6 vaihetta (kuvien kanssa)
Anonim
Image
Image

Minulla on ollut 12 V: n RGB-LED-nauha TV-kaapin ympärillä jonkin aikaa, ja sitä ohjaa tylsä LED-ohjain, jonka avulla voin valita yhden 16 esiohjelmoidusta väristä!

Kuuntelen paljon musiikkia, joka pitää minut motivoituneena, mutta valaistus ei vain saa aikaan tunnelmaa. Korjaa se, joka päätti ottaa kaiuttimelleni annetun audiosignaalin AUX: n (3,5 mm: n liitäntä) kautta, käsittelemällä sitä ja ohjaamalla RGB -nauhaa sen mukaisesti.

LEDit reagoivat musiikkiin basson (matala), diskantti (keski) ja korkeiden taajuuksien perusteella.

Taajuusalue - Väri on seuraava:

Matala - punainen

Keski - vihreä

Korkea - sininen

Tämä projekti sisältää paljon DIY -tavaraa, koska koko piiri on rakennettu tyhjästä. Tämän pitäisi olla melko helppoa, jos asennat sen leipälevylle, mutta melko haastavaa juottaa se piirilevylle.

Tarvikkeet

(x1) RGB -LED -nauha

(x1) Arduino Uno/Nano (mega suositellaan)

(x1) TL072 tai TL082 (TL081/TL071 ovat myös hyviä)

(x3) TIP120 NPN-transistori (TIP121, TIP122 tai N-kanavaiset MOSFET-laitteet, kuten IRF540, IRF 530, ovat myös hyviä)

(x1) 10 kOhm: n potentiometri lineaarinen

(x3) 100 kOhm 1/4 watin vastukset

(x1) 10uF elektrolyyttikondensaattori

(x1) 47nF keraaminen kondensaattori

(x2) 3,5 mm: n ääniliitin - naaras

(x2) 9V paristo

(x2) 9 V: n akun pikaliitin

Vaihe 1: RGB -LED -nauhojen tyypit

RGB -LED -nauhojen tyypit
RGB -LED -nauhojen tyypit

LED -nauhoja on kahdenlaisia, "analogisia" ja "digitaalisia".

Analogityyppisissä (kuva 1) nauhoissa on kaikki LEDit kytketty rinnan, joten se toimii kuin valtava kolmivärinen LED; voit asettaa koko nauhan haluamaasi väriin, mutta et voi hallita yksittäisten LED -valojen värejä. Ne ovat erittäin helppokäyttöisiä ja melko edullisia.

Digitaaliset (kuva 2) nauhat toimivat eri tavalla. Heillä on siru jokaiselle LED -valolle, jotta voit käyttää nauhaa lähettämällä digitaalisesti koodattuja tietoja siruille. Tämä tarkoittaa kuitenkin sitä, että voit ohjata jokaista LEDiä erikseen! Sirun erityisen monimutkaisuuden vuoksi ne ovat kalliimpia.

Jos analogisten ja digitaalisten nauhojen erojen havaitseminen on fyysisesti vaikeaa,

  1. Anologityyppinen käyttö: 4 nastaa, 1 yleinen positiivinen ja 3 negatiivista eli yksi kullekin RGB-värille.
  2. Digitaalinen käyttö 3 nastaa, positiivinen, data ja maa.

Käytän analogisia nauhoja, koska

  1. On hyvin vähän tai ei lainkaan Instructables-ohjelmia, jotka opettavat tekemään musiikista reaktiivisen analogisen tyyppisen nauhan. Suurin osa heistä keskittyy digitaaliseen tyyppiin ja on helpompi saada heidät reagoimaan musiikkiin.
  2. Minulla oli joitakin analogisia nauhoja makaamassa.

Vaihe 2: Äänisignaalin vahvistaminen

Äänisignaalin vahvistaminen
Äänisignaalin vahvistaminen
Äänisignaalin vahvistaminen
Äänisignaalin vahvistaminen
Äänisignaalin vahvistaminen
Äänisignaalin vahvistaminen

Audioliittimen kautta lähetettävä äänisignaali on

analoginen signaali, joka värähtelee välillä +200mV ja -200mV. Tämä on ongelma, koska haluamme mitata audiosignaalin yhdellä Arduinon analogituloista, koska Arduinon analogiset tulot voivat mitata vain jännitteitä välillä 0 ja 5 V. Jos yrittäisimme mitata äänisignaalin negatiivisia jännitteitä, Arduino lukisi vain 0 V ja leikkaaisimme signaalin pohjan.

Sen ratkaisemiseksi meidän on vahvistettava ja siirrettävä audiosignaaleja siten, että ne kuuluvat 0-5 V: n alueelle. Ihannetapauksessa signaalin amplitudin tulisi olla 2,5 V, joka värähtelee noin 2,5 V: n niin, että sen minijännite on 0 V ja sen maksimijännite on 5 V.

Vahvistus

Vahvistin on piirin ensimmäinen vaihe, se lisää signaalin amplitudia noin + tai - 200 mV: sta + tai - 2,5 V: iin (ihannetapauksessa). Vahvistimen toinen tehtävä on suojella äänilähdettä (ennen kaikkea äänisignaalin tuottavaa asiaa) muulta piiriltä. Lähtevä vahvistettu signaali saa kaiken virran vahvistimesta, joten äänilähde (puhelin/iPod/kannettava tietokone minun tapauksessani) ei "tunne" mitään siihen myöhemmin kohdistuvaa kuormitusta. Tee tämä asettamalla yksi op-vahvistimista TL072- tai TL082-paketissa (kuva 2) ei-invertoivassa vahvistinkokoonpanossa.

TL072: n tai TL082: n tietolomakkeessa sanotaan, että sen virran tulisi olla +15 ja -15 V, mutta koska signaalia ei koskaan vahvisteta yli + tai -2,5 V: n, on hyvä käyttää op -vahvistinta jollakin alhaisemmalla. Käytin kahta yhdeksän voltin paristoa, jotka oli kytketty sarjaan + tai - 9 V: n virtalähteen luomiseksi.

Kytke +V (nasta 8) ja –V (nasta 4) op-vahvistimeen. Johda signaali monoliittimestä ei-invertoivaan tuloon (nasta 3) ja liitä pistokkeen maadoitusnasta jännitelähteen 0 V: n viitearvoon (minulle tämä oli kahden sarjaan liitetyn 9 V: n pariston välinen liitäntä). Johda 100 kOhm: n vastus op-vahvistimen lähdön (nasta 1) ja invertoivan tulon (nasta 2) väliin. Tässä piirissä käytin 10 kOhm: n potentiometriä, joka oli kytketty muuttuvaksi vastukseksi säätääkseni vahvistusta (määrää, jonka vahvistin vahvistaa) ei-invertoivasta vahvistimestani. Johda tämä 10K lineaarinen kartiopaneeli invertoivan tulon ja 0 V: n vertailutulon väliin.

DC -siirtymä

DC -offset -piirissä on kaksi pääkomponenttia: jännitteenjakaja ja kondensaattori. Jännitteenjakaja on valmistettu kahdesta 100 k: n vastuksesta, jotka on kytketty sarjaan Arduinon 5 V: n virtalähteestä maahan. Koska vastuksilla on sama vastus, jännite niiden välisessä risteyksessä on 2,5 V. Tämä 2,5 V: n liitos on sidottu vahvistimen lähtöön 10uF kondensaattorin kautta. Kun jännite kondensaattorin vahvistinpuolella nousee ja laskee, se saa varauksen hetkellisesti kerääntymään ja torjumaan 2,5 V: n liitokseen kiinnitetyn kondensaattorin puolelta. Tämä aiheuttaa 2,5 V -liitännän jännitteen värähtelyn ylös ja alas, keskellä 2,5 V: n ympärillä.

Kytke kaavion mukaisesti 10uF -kondensaattorin negatiivinen johto vahvistimen lähtöön. Liitä korkin toinen puoli kahden 100 k: n vastuksen välille, jotka on kytketty sarjaan 5 V: n ja maan välille. Lisää myös 47 nF kondensaattori 2,5 V: sta maahan.

Vaihe 3: Signaalin hajottaminen kiinteiden sinimuotoisten summaan - Teoria

Signaalin hajoaminen kiinteiden sinimuotoisten summaan - Teoria
Signaalin hajoaminen kiinteiden sinimuotoisten summaan - Teoria

Minkä tahansa 3,5 mm: n liittimen kautta lähetetty audiosignaali on

20 Hz - 20 kHz. Se näytteistetään 44,1 kHz: n taajuudella ja jokainen näyte koodataan 16 bittiin.

Purkaaksemme audiosignaalin muodostavat elementtien perustaajuudet, käytämme Fourier -muunnosta signaaliin, joka hajottaa signaalin kiinteiden sinimuotojen summaan. Toisin sanoen Fourier -analyysi muuntaa signaalin alkuperäisestä alueesta (usein ajasta tai avaruudesta) esitykseksi taajuusalueella ja päinvastoin. Mutta sen laskeminen suoraan määritelmästä on usein liian hidasta ollakseen käytännöllistä.

Kuviot osoittavat, miltä signaali näyttää ajassa ja taajuusalueella.

Tässä FFT (Fast Fourier Transform) -algoritmi on varsin hyödyllinen!

Määritelmän mukaan

FFT laskee nopeasti tällaiset muunnokset faktoroimalla DFT -matriisin harvinaisten (enimmäkseen nolla) tekijöiden tuloksi. Tämän seurauksena se onnistuu vähentämään DFT: n laskennan monimutkaisuutta O: sta (N2), mikä syntyy, jos yksinkertaisesti sovelletaan DFT: n määritelmää, O: hon (N log N), jossa N on datakoko. Nopeusero voi olla valtava, etenkin pitkillä tietojoukoilla, joissa N voi olla tuhansia tai miljoonia. Pyöristysvirheen ollessa läsnä monet FFT-algoritmit ovat paljon tarkempia kuin DFT-määritelmän arvioiminen suoraan tai epäsuorasti.

Yksinkertaisesti sanottuna se tarkoittaa vain sitä, että FFT -algoritmi on nopeampi tapa laskea minkä tahansa signaalin Fourier -muunnos. Tätä käytetään yleensä laitteissa, joiden laskentateho on pieni.