Neadresējams RGB LED sloksnes audio vizualizators: 6 soļi (ar attēliem)
Neadresējams RGB LED sloksnes audio vizualizators: 6 soļi (ar attēliem)
Anonim
Image
Image

Ap televizora skapi kādu laiku ir bijusi 12 V RGB LED sloksne, un to kontrolē garlaicīgs LED draiveris, kas ļauj izvēlēties vienu no 16 iepriekš ieprogrammētām krāsām!

Es klausos daudz mūzikas, kas mani motivē, bet apgaismojums vienkārši nerada noskaņojumu. Lai to novērstu, nolēma uztvert skaļrunim doto audio signālu caur AUX (3,5 mm ligzda), apstrādājiet to un atbilstoši kontrolējiet RGB joslu.

Gaismas diodes reaģē uz mūziku, pamatojoties uz zemo (zemo), augsto (vidējo) un augsto frekvenču lielumu.

Frekvenču diapazons - krāsa ir šāda:

Zems - sarkans

Vidēji zaļš

Augsts - zils

Šis projekts ietver daudz DIY lietu, jo visa ķēde tika veidota no nulles. Tam vajadzētu būt diezgan vienkāršam, ja to iestatāt uz maizes dēļa, bet diezgan grūti to pielodēt uz PCB.

Piegādes

(x1) RGB LED sloksne

(x1) Arduino Uno/Nano (ieteicams izmantot mega)

(x1) TL072 vai TL082 (arī TL081/TL071 ir labi)

(x3) TIP120 NPN tranzistors (TIP121, TIP122 vai N-kanālu MOSFET, piemēram, IRF540, IRF 530, arī ir labi)

(x1) 10 kOhm potenciometrs lineārs

(x3) 100 kOhm 1/4 vatu rezistori

(x1) 10uF elektrolītiskais kondensators

(x1) 47nF keramikas kondensators

(x2) 3,5 mm audio savienotājs - sieviete

(x2) 9V akumulators

(x2) 9V akumulatora kontaktspraudnis

1. darbība. Izpratne par RGB LED sloksņu veidiem

Izpratne par RGB LED sloksņu veidiem
Izpratne par RGB LED sloksņu veidiem

Ir divu veidu LED sloksnes, "analogās" un "digitālās".

Analoga tipa (1. att.) Sloksnēm visas gaismas diodes ir savienotas paralēli, un tā darbojas kā viena milzīga trīs krāsu LED; jūs varat iestatīt visu sloksni jebkurā vēlamajā krāsā, bet nevarat kontrolēt atsevišķas gaismas diodes krāsas. Tie ir ļoti ērti lietojami un diezgan lēti.

Digitālā tipa (2. att.) Sloksnes darbojas citādi. Viņiem ir mikroshēma katrai gaismas diodei, lai izmantotu sloksni, jums ir jānosūta mikroshēmām digitāli kodēti dati. Tomēr tas nozīmē, ka jūs varat kontrolēt katru LED atsevišķi! Mikroshēmas papildu sarežģītības dēļ tie ir dārgāki.

Ja jums ir grūti fiziski noteikt atšķirības starp analogo un digitālo joslu,

  1. Anologa tipa gadījumā izmantojiet 4 tapas, 1 kopēju pozitīvu un 3 negatīvus, t.i., vienu katrai RGB krāsai.
  2. Digitālā tipa izmantošana 3 tapas, pozitīvs, dati un zemējums.

Es izmantošu Analog tipa sloksnes, jo

  1. Ir ļoti maz vai vispār nav Instructables, kas māca, kā izveidot mūziku reaģējošu analoga tipa sloksni. Lielākā daļa no viņiem koncentrējas uz digitālo tipu, un ir vieglāk likt viņiem reaģēt uz mūziku.
  2. Man apkārt gulēja dažas analoga tipa sloksnes.

2. darbība: audio signāla pastiprināšana

Audio signāla pastiprināšana
Audio signāla pastiprināšana
Audio signāla pastiprināšana
Audio signāla pastiprināšana
Audio signāla pastiprināšana
Audio signāla pastiprināšana

Audio signāls, kas tiek nosūtīts caur audio ligzdu, ir

analogs signāls, kas svārstās robežās +200 mV un -200 mV. Tagad tā ir problēma, jo mēs vēlamies izmērīt audio signālu ar vienu no Arduino analogo ieeju, jo Arduino analogās ieejas var izmērīt tikai spriegumu no 0 līdz 5 V. Ja mēs mēģinātu izmērīt negatīvos spriegumus audio signālā no, Arduino nolasītu tikai 0 V, un mēs galu galā nogrieztu signāla apakšdaļu.

Lai to atrisinātu, mums ir jāpastiprina un jāizslēdz audio signāli tā, lai tie nonāktu diapazonā no 0 līdz 5 V. Ideālā gadījumā signāla amplitūda ir 2,5 V, kas svārstās ap 2,5 V, lai tā minimālais spriegums būtu 0 V, bet maksimālais - 5 V.

Pastiprināšana

Pastiprinātājs ir pirmais solis ķēdē, tas palielina signāla amplitūdu no aptuveni + vai - 200 mV līdz + vai - 2,5 V (ideālā gadījumā). Cita pastiprinātāja funkcija ir aizsargāt audio avotu (vispirms tas, kas rada audio signālu) no pārējās ķēdes. Izejošais pastiprinātais signāls visu savu strāvu iegūs no pastiprinātāja, tāpēc audio slodze (manā gadījumā tālrunis/iPod/klēpjdators) "nejutīs" jebkādu slodzi, kas tai tiks pievienota vēlāk ķēdē. Dariet to, iestatot vienu no op-amperiem TL072 vai TL082 (2. attēls) komplektā, kas nav apgriezts pastiprinātāja konfigurācijā.

TL072 vai TL082 datu lapā ir teikts, ka tam jābūt barotam ar +15 un -15V, bet, tā kā signāls nekad netiks pastiprināts virs + vai -2,5 V, ir labi palaist op -amp ar kaut ko zemāku. Es izmantoju divas sērijveidā savienotas deviņu voltu baterijas, lai izveidotu + vai - 9 V barošanas avotu.

Pievienojiet savu +V (8. tapa) un –V (4. tapa) pie op-amp. Pievienojiet signālu no mono ligzdas līdz ieejai, kas nav apgriezta (3. tapa), un savienojiet ligzdas zemējuma tapu ar 0 V atsauces sprieguma avotu (man tas bija savienojums starp divām 9 V baterijām virknē). Pievienojiet 100 kOhm rezistoru starp op-amp izeju (1. tapa) un apgriezto ieeju (2. tapa). Šajā shēmā es izmantoju 10 kOhm potenciometru, kas savienots kā mainīgs rezistors, lai pielāgotu sava neinvertējošā pastiprinātāja pastiprinājumu (summu, ko pastiprinātājs pastiprina). Pievienojiet šo 10K lineāro konusu starp apgriezto ieeju un 0V atskaiti.

Līdzstrāvas nobīde

Līdzstrāvas nobīdes ķēdei ir divas galvenās sastāvdaļas: sprieguma dalītājs un kondensators. Sprieguma dalītājs ir izgatavots no diviem 100k rezistoriem, kas virknē savienoti no Arduino 5V barošanas avota līdz zemei. Tā kā rezistoriem ir vienāda pretestība, spriegums krustojumā starp tiem ir 2,5 V. Šis 2,5 V savienojums ir saistīts ar pastiprinātāja izeju, izmantojot 10uF kondensatoru. Tā kā spriegums kondensatora pastiprinātāja pusē palielinās un samazinās, tas izraisa lādiņa īslaicīgu uzkrāšanos un atgrūšanos no kondensatora puses, kas piestiprināta 2,5 V krustojumam. Tas izraisa spriegumu 2.5V krustojumā svārstīties uz augšu un uz leju, centrējot ap 2.5V.

Kā parādīts shēmā, pievienojiet 10uF kondensatora negatīvo vadu pie pastiprinātāja izejas. Pievienojiet vāciņa otru pusi krustojumam starp diviem 100k rezistoriem, kas virknē savienoti starp 5V un zemi. Pievienojiet arī 47nF kondensatoru no 2,5 V uz zemi.

3. solis: signāla sadalīšana stacionāru sinusoīdu summā - teorija

Signāla sadalīšana stacionāru sinusoīdu summā - teorija
Signāla sadalīšana stacionāru sinusoīdu summā - teorija

Audio signāls, kas tiek nosūtīts caur jebkuru 3,5 mm ligzdu, atrodas

diapazonā no 20 Hz līdz 20 kHz. Tā paraugu ņem 44,1 kHz frekvencē un katrs paraugs tiek kodēts uz 16 bitiem.

Lai dekonstruētu pamata elementārās frekvences, kas veido audio signālu, mēs izmantojam Furjē transformāciju signālam, kas sadala signālu stacionāru sinusoīdu summā. Citiem vārdiem sakot, Furjē analīze pārveido signālu no tā sākotnējā domēna (bieži vien laika vai telpas) uz attēlojumu frekvenču jomā un otrādi. Bet to aprēķināt tieši no definīcijas bieži vien ir pārāk lēni, lai būtu praktiski.

Skaitļi parāda, kā signāls izskatās laikā un frekvenču jomā.

Tieši šeit ātrā Furjē transformācijas (FFT) algoritms ir diezgan noderīgs!

Pēc definīcijas, FFT ātri aprēķina šādas pārvērtības, faktorizējot DFT matricu retu (galvenokārt nulles) faktoru reizinājumā. Rezultātā tam izdodas samazināt DFT aprēķināšanas sarežģītību no O (N2), kas rodas, vienkārši piemērojot DFT definīciju, O (N log N), kur N ir datu lielums. Ātruma atšķirība var būt milzīga, īpaši garām datu kopām, kur N var būt tūkstošos vai miljonos. Noapaļošanas kļūdas klātbūtnē daudzi FFT algoritmi ir daudz precīzāki nekā DFT definīcijas tieša vai netieša novērtēšana.

Vienkārši sakot, tas nozīmē tikai to, ka FFT algoritms ir ātrāks jebkura signāla Furjē transformācijas aprēķināšanas veids. To parasti izmanto ierīcēs ar mazu skaitļošanas jaudu.

Ieteicams: