Sadržaj:

Audio vizualizator bez adresiranja RGB LED trake: 6 koraka (sa slikama)
Audio vizualizator bez adresiranja RGB LED trake: 6 koraka (sa slikama)

Video: Audio vizualizator bez adresiranja RGB LED trake: 6 koraka (sa slikama)

Video: Audio vizualizator bez adresiranja RGB LED trake: 6 koraka (sa slikama)
Video: Колыма - родина нашего страха / Kolyma - Birthplace of Our Fear 2024, Novembar
Anonim
Image
Image

Već neko vrijeme nosim 12v RGB LED traku oko ormarića za televizor i njome upravlja dosadni LED upravljač koji mi omogućuje odabir jedne od 16 unaprijed programiranih boja!

Slušam puno muzike koja me motivira, ali osvjetljenje jednostavno ne stvara dobro raspoloženje. Da bismo to riješili, odlučili smo uzeti audio signal koji je moj zvučnik dobio preko AUX -a (priključak od 3,5 mm), obraditi ga i u skladu s tim kontrolirati RGB traku.

LED diode reagiraju na muziku na osnovu veličine basova (niske), visokih tonova (srednje) i visokih frekvencija.

Raspon frekvencija - Boja je sljedeća:

Niska - crvena

Srednja - zelena

Visoka - Plava

Ovaj projekt uključuje mnogo DIY stvari jer je cijelo kolo izgrađeno od nule. Ovo bi trebalo biti prilično jednostavno ako ga postavljate na matičnu ploču, ali prilično izazovno lemiti ga na PCB.

Supplies

(x1) RGB LED traka

(x1) Arduino Uno/Nano (preporučuje se Mega)

(x1) TL072 ili TL082 (i TL081/TL071 su u redu)

(x3) TIP120 NPN tranzistor (TIP121, TIP122 ili N-kanalni MOSFET-ovi poput IRF540, IRF 530 su također u redu)

(x1) linearni potenciometar od 10 kOhm

(x3) 100kOhm 1/4watt otpornici

(x1) 10uF elektrolitički kondenzator

(x1) 47nF keramički kondenzator

(x2) 3,5 mm audio konektor - ženski

(x2) 9V baterija

(x2) 9V priključak za zatvaranje baterije

Korak 1: Razumijevanje vrsta RGB LED traka

Razumijevanje vrsta RGB LED traka
Razumijevanje vrsta RGB LED traka

Postoje dvije osnovne vrste LED traka, "analogna" i "digitalna".

Trake analognog tipa (slika 1) imaju sve LED diode spojene paralelno, pa se ponaša kao jedna ogromna trobojna LED; možete postaviti cijelu traku na bilo koju boju koju želite, ali ne možete kontrolirati pojedinačne boje LED dioda. Vrlo su jednostavni za upotrebu i prilično su jeftini.

Trake digitalnog tipa (slika 2) rade na drugačiji način. Imaju čip za svaku LED diodu, za korištenje trake morate poslati digitalno kodirane podatke na čipove. Međutim, to znači da možete upravljati svakom LED pojedinačno! Zbog dodatne složenosti čipova, oni su skuplji.

Ako vam je teško fizički identificirati razlike između analognih i digitalnih traka,

  1. Anološki tip koristi 4 pina, 1 zajednički pozitivan i 3 negativna, odnosno po jedan za svaku boju RGB-a.
  2. Digitalni tip koristi 3 pina, pozitivni, podaci i uzemljenje.

Koristit ću trake analognog tipa, jer

  1. Postoji vrlo malo ili nimalo instruktora koji uče kako napraviti muzički reaktivnu traku analognog tipa. Većina se fokusira na digitalni tip i lakše ih je natjerati da reagiraju na muziku.
  2. Negdje sam ležao oko analognih traka.

Korak 2: Pojačavanje audio signala

Pojačavanje audio signala
Pojačavanje audio signala
Pojačavanje audio signala
Pojačavanje audio signala
Pojačavanje audio signala
Pojačavanje audio signala

Zvučni signal koji se šalje putem audio priključka je

analogni signal koji oscilira unutar +200mV i -200mV. Ovo je problem jer želimo mjeriti audio signal jednim od Arduino analognih ulaza jer Arduino analogni ulazi mogu mjeriti samo napone između 0 i 5V. Kad bismo pokušali izmjeriti negativne napone u audio signalu iz, Arduino bi čitao samo 0V i na kraju bismo odrezali dno signala.

Da bismo to riješili, moramo pojačati i pomaknuti audio signale tako da spadaju u raspon od 0-5V. U idealnom slučaju, signal bi trebao imati amplitudu od 2,5 V koja oscilira oko 2,5 V tako da mu je minimalni napon 0 V, a maksimalni napon 5 V.

Amplification

Pojačalo je prvi korak u krugu, povećava amplitudu signala sa oko + ili - 200mV na + ili - 2,5V (idealno). Druga funkcija pojačala je zaštita izvora zvuka (stvar koja generira audio signal) od ostatka kola. Odlazni pojačani signal će cijelu svoju struju izvoriti iz pojačala, tako da svako opterećenje koje se kasnije postavi u krug neće "osjetiti" izvor zvuka (telefon/iPod/laptop u mom slučaju). Učinite to postavljanjem jednog od op-pojačala u paketu TL072 ili TL082 (slika 2) u konfiguraciji neinvertirajućeg pojačala.

Tehnički list TL072 ili TL082 kaže da bi se trebao napajati sa +15 i -15V, ali budući da signal nikada neće biti pojačan iznad + ili -2.5V, u redu je pokrenuti op -pojačalo s nečim nižim. Koristio sam dvije devet -voltne baterije spojene serijski za stvaranje + ili - 9V napajanja.

Priključite +V (pin 8) i –V (pin 4) na op-pojačalo. Spojite signal iz mono utičnice na neinvertirajući ulaz (pin 3) i spojite uzemljeni pin utičnice na 0V referencu na vašem naponskom napajanju (za mene je ovo spoj između dvije 9V baterije u seriji). Ožičite otpornik od 100 kOhm između izlaza (pin 1) i invertirajućeg ulaza (pin 2) op-pojačala. U ovom krugu, koristio sam potenciometar od 10 kOhm ožičen kao promjenjivi otpornik za podešavanje pojačanja (iznos koji pojačalo pojačava) mog neinvertirajućeg pojačala. Ožičite ovaj 10K linearni konusni lonac između invertirajućeg ulaza i 0V reference.

DC Offset

Krug odstupanja istosmjernog napona ima dvije glavne komponente: razdjelnik napona i kondenzator. Razdjelnik napona izrađen je od dva 100k otpornika koji su serijski spojeni od Arduinovog 5V napajanja do mase. Budući da otpornici imaju isti otpor, napon na spoju između njih jednak je 2,5 V. Ovaj spoj od 2,5 V vezan je za izlaz pojačala putem kondenzatora od 10uF. Kako napon na strani pojačala kondenzatora raste i opada, uzrokuje da se naboj na trenutak akumulira i odbije sa strane kondenzatora spojenog na 2.5V spoj. To uzrokuje da napon na spoju od 2,5 V oscilira gore -dolje, centrirano oko 2,5 V.

Kao što je prikazano na shemi, spojite negativni vod 10uF kondenzatora na izlaz pojačala. Spojite drugu stranu poklopca na spoj između dva 100k otpornika koji su serijski spojeni između 5V i mase. Također, dodajte 47nF kondenzator od 2,5 V na masu.

Korak 3: Razlaganje signala na zbir stacionarnih sinusoida - teorija

Razlaganje signala na zbir stacionarnih sinusoida - teorija
Razlaganje signala na zbir stacionarnih sinusoida - teorija

Audio signal koji se šalje putem bilo kojeg priključka od 3,5 mm nalazi se u

opseg od 20 Hz do 20 kHz. Uzorkovano je na 44,1 kHz i svaki uzorak je kodiran na 16 bita.

Za dekonstrukciju osnovnih elementarnih frekvencija koje čine audio signal, na signal primjenjujemo Furijeovu transformaciju, koja signal razlaže na zbir nepomičnih sinusoida. Drugim riječima, Fourierova analiza pretvara signal iz izvornog domena (često vremena ili prostora) u prikaz u frekvencijskom domenu i obrnuto. Ali izračunavanje izravno iz definicije često je presporo da bi bilo praktično.

Slike prikazuju kako signal izgleda u vremenskom i frekvencijskom domenu.

Ovdje je algoritam Fast Fourier Transform (FFT) prilično koristan!

Po definiciji, FFT brzo izračunava takve transformacije faktorisanjem DFT matrice u proizvod rijetkih (uglavnom nula) faktora. Kao rezultat toga, uspijeva smanjiti složenost izračunavanja DFT -a iz O (N2), koja nastaje ako se jednostavno primijeni definicija DFT -a, na O (N log N), gdje je N veličina podataka. Razlika u brzini može biti ogromna, posebno za dugačke skupove podataka gdje N može biti u hiljadama ili milionima. U prisustvu zaokružujuće greške, mnogi FFT algoritmi su mnogo precizniji od direktne ili indirektne procjene DFT definicije.

Jednostavno rečeno, to samo znači da je FFT algoritam brži način izračunavanja Fourierove transformacije bilo kojeg signala. Ovo se općenito koristi na uređajima s niskom računalnom snagom.

Preporučuje se: