Mundarija:

Manzil bo'lmagan RGB LED chiziqli audio vizualizator: 6 qadam (rasmlar bilan)
Manzil bo'lmagan RGB LED chiziqli audio vizualizator: 6 qadam (rasmlar bilan)

Video: Manzil bo'lmagan RGB LED chiziqli audio vizualizator: 6 qadam (rasmlar bilan)

Video: Manzil bo'lmagan RGB LED chiziqli audio vizualizator: 6 qadam (rasmlar bilan)
Video: BTT SKR2 - Установка прошивки Klipper 2024, Noyabr
Anonim
Image
Image

Menda televizor shkafi atrofida 12 V RGB LED tasmasi bor edi va uni zerikarli LED drayveri boshqaradi, bu menga 16 ta oldindan dasturlashtirilgan ranglardan birini tanlash imkonini beradi!

Men juda ko'p musiqa tinglayman, bu meni ruhlantiradi, lekin yorug'lik kayfiyatni yaxshilamaydi. AUX (3,5 mm raz'em) orqali karnayga berilgan audio signalni qabul qilishga qaror qilib, uni qayta ishlang va RGB tasmasini mos ravishda boshqaring.

LEDlar musiqaga Bass (Past), Tiz (O'rta) va Yuqori chastotalarning kattaligiga qarab ta'sir ko'rsatadi.

Chastotalar diapazoni - rang quyidagicha:

Kam - qizil

O'rta - yashil

Yuqori - ko'k

Ushbu loyiha ko'plab DIY ishlarini o'z ichiga oladi, chunki butun sxema noldan qurilgan. Agar siz uni taxtaga o'rnatayotgan bo'lsangiz, bu juda oson bo'lishi mumkin, lekin uni tenglikka lehimlash juda qiyin.

Ta'minotlar

(x1) RGB LED tasmasi

(x1) Arduino Uno/Nano (Mega tavsiya etiladi)

(x1) TL072 yoki TL082 (TL081/TL071 ham yaxshi)

(x3) TIP120 NPN tranzistorli (IRF540, IRF 530 kabi TIP121, TIP122 yoki N-kanalli MOSFETlar ham yaxshi)

(x1) 10kOhm potentsiometr chiziqli

(x3) 100kOhm 1/4 vattli rezistorlar

(x1) 10uF elektrolitik kondansatör

(x1) 47nF sopol kondansatör

(x2) 3,5 mm audio ulagich - Ayol

(x2) 9V batareya

(x2) 9V batareyali ulagich

1 -qadam: RGB LED chiziqlar turlarini tushunish

RGB LED chiziqlar turlarini tushunish
RGB LED chiziqlar turlarini tushunish

LED tasmalarining ikkita asosiy turi mavjud: "analog" va "raqamli".

Analog tipdagi chiziqlar (1-rasm) barcha LEDlarni parallel ulangan, shuning uchun ular bitta katta uch rangli LED kabi ishlaydi; Siz butun chiziqni xohlagan rangga qo'yishingiz mumkin, lekin siz individual LED ranglarini boshqarolmaysiz. Ulardan foydalanish juda oson va ancha arzon.

Raqamli turdagi (2-rasm) chiziqlar boshqacha ishlaydi. Ularda har bir LED uchun chip bor, chiziqdan foydalanish uchun chiplarga raqamli kodlangan ma'lumotlarni yuborish kerak. Biroq, bu har bir LEDni alohida boshqarishingiz mumkin degan ma'noni anglatadi! Chipning qo'shimcha murakkabligi tufayli ular qimmatroq.

Agar sizga analog va raqamli chiziqlar orasidagi farqni jismonan aniqlash qiyin bo'lsa,

  1. Anolog tipida 4 ta pin, 1 ta umumiy musbat va 3 ta salbiy, ya'ni RGB ning har bir rangi uchun bittadan foydalaniladi.
  2. Raqamli tipda 3 ta pin ishlatiladi, ijobiy, ma'lumotlar va er.

Men analog tipdagi chiziqlardan foydalanaman, chunki

  1. Analog tipdagi musiqani reaktiv qilib yaratishni o'rgatadigan ko'rsatma ko'rsatmalari juda kam. Ularning aksariyati raqamli turga e'tibor qaratadi va ularni musiqaga munosabat bildirish osonroq.
  2. Menda o'xshash analog chiziqlar bor edi.

2 -qadam: Ovoz signalini kuchaytirish

Ovoz signalini kuchaytirish
Ovoz signalini kuchaytirish
Ovoz signalini kuchaytirish
Ovoz signalini kuchaytirish
Ovoz signalini kuchaytirish
Ovoz signalini kuchaytirish

Ovoz jak orqali yuboriladigan audio signal - bu

+200mV va -200mV oralig'ida tebranadigan analog signal. Endi bu muammo, biz audio signalni Arduinoning analogli kirishlari bilan o'lchashni xohlaymiz, chunki Arduino analog kirishlari faqat 0 dan 5V gacha bo'lgan kuchlanishni o'lchashi mumkin. Agar biz ovoz signalidagi salbiy kuchlanishni o'lchashga harakat qilsak, Arduino faqat 0V o'qiydi va biz oxirigacha signalning pastki qismini kesib tashlaymiz.

Buni hal qilish uchun biz ovozli signallarni 0-5V oralig'iga tushishi uchun ularni kuchaytirishimiz va almashtirishimiz kerak. Ideal holda, signal 2,5V atrofida tebranadigan 2,5V amplitudaga ega bo'lishi kerak, shuning uchun uning minimal voltaji 0V va maksimal voltaji 5V bo'lishi kerak.

Amplifikatsiya

Kuchaytirgich - bu sxemadagi birinchi qadam, u signal amplitudasini + yoki - 200mV dan + yoki - 2,5V gacha oshiradi (ideal holda). Kuchaytirgichning boshqa vazifasi - bu audio manbani (birinchi navbatda ovozli signalni ishlab chiqaruvchi) elektronning qolgan qismidan himoya qilish. Chiquvchi kuchaytirilgan signal barcha tokini kuchaytirgichdan oladi, shuning uchun keyinchalik kontaktlarning zanglashiga olib keladigan yuk tovush manbai tomonidan sezilmaydi (telefon/iPod/noutbuk). Buni TL072 yoki TL082 to'plamidagi op-amperlardan birini (2-rasm) teskari kuchaytirgich konfiguratsiyasida o'rnatish orqali qiling.

TL072 yoki TL082 ma'lumotlar jadvalida aytilishicha, u +15 va -15V kuchlanishli bo'lishi kerak, lekin signal hech qachon + yoki -2,5V dan oshmasa, op -ampni pastroq qilib ishlatish yaxshi. Men + yoki - 9V quvvat manbaini yaratish uchun ketma -ket simli ikkita to'qqiz voltli batareyadan foydalandim.

+V (8-pin) va –V (4-pin) op-ampga ulang. Signalni mono raz'emdan teskari kirmaydigan (3-pin) simga ulang va rozetkaning topraklama pinini kuchlanish manbangizdagi 0V moslamasiga ulang (men uchun bu ketma-ket ikkita 9V batareyalar ulanishi edi). Op-ampning chiqishi (pin 1) va teskari kirish (pin 2) o'rtasida 100 kOhmlik rezistorni ulang. Ushbu sxemada men teskari bo'lmagan kuchaytirgichning daromadini (kuchaytirgich kuchaytiradigan miqdorni) sozlash uchun o'zgarmaydigan qarshilik sifatida simli 10kOm potentsiometrdan foydalanardim. Ushbu 10K chiziqli konusli qozonni teskari kirish va 0V mos yozuvlar orasiga ulang.

DC ofset

DC ofset sxemasi ikkita asosiy komponentga ega: kuchlanish bo'luvchi va kondansatör. Voltaj bo'linishi Arduino 5V kuchlanishli erga ketma -ket ulangan ikkita 100k rezistordan qilingan. Rezistorlar bir xil qarshilikka ega bo'lgani uchun, ularning birlashuvidagi kuchlanish 2,5 V ga teng. Bu 2,5V ulanish 10uF kondansatör orqali kuchaytirgichning chiqishiga ulanadi. Kondensatorning kuchaytirgich tomonidagi kuchlanish ko'tarilib tushganda, u zaryadning bir zumda to'planishiga olib keladi va 2,5V konnektiga biriktirilgan kondansatör tomondan qaytariladi. Bu 2,5 V tutashishidagi kuchlanish yuqoriga va pastga tebranishga olib keladi, uning atrofida 2,5 V bo'ladi.

Sxemada ko'rsatilgandek, 10uF kondansatkichning manfiy simini kuchaytirgichning chiqishiga ulang. Qopqoqning boshqa tomonini 5V va erga ketma -ket ulangan ikkita 100k rezistorlar orasidagi ulanishga ulang. Shuningdek, erga 2,5V dan 47nF kondansatör qo'shing.

3 -qadam: Signalni statsionar sinusoidlar yig'indisiga ajratish - nazariya

Signalni statsionar sinusoidlar yig'indisiga ajratish - nazariya
Signalni statsionar sinusoidlar yig'indisiga ajratish - nazariya

Har qanday 3,5 mm raz'em orqali yuborilgan ovozli signal

diapazon 20 Gts dan 20 kHz gacha. U 44,1 kHz chastotasida namuna olinadi va har bir namuna 16 bitga kodlangan.

Ovoz signalini tashkil etuvchi asosiy elementar chastotalarni dekonstruktsiya qilish uchun biz signalni turg'un sinusoidlar yig'indisiga aylantiruvchi signalga Fourier Transformasini qo'llaymiz. Boshqacha qilib aytganda, Furye tahlili signalni asl domenidan (ko'pincha vaqt yoki makon) chastota sohasidagi tasvirga aylantiradi va aksincha. Ammo uni to'g'ridan -to'g'ri ta'rifdan hisoblash amaliy bo'lishi uchun juda sekin.

Raqamlar signal vaqt va chastota sohasida qanday ko'rinishini ko'rsatadi.

Bu erda Fast Fourier Transform (FFT) algoritmi juda foydali!

Ta'rif bo'yicha, FFT DFT matritsasini siyrak (asosan nol) omillar mahsulotiga aylantirish orqali bunday o'zgarishlarni tezda hisoblab chiqadi. Natijada, u DFTni O (N2) dan hisoblashning murakkabligini kamaytiradi, bu DFT ta'rifini O (N log N) ga qo'llanganda paydo bo'ladi, bu erda N - ma'lumotlar hajmi. Ayniqsa, N minglab yoki millionlab bo'lishi mumkin bo'lgan uzoq ma'lumotlar to'plamlari uchun tezlikdagi farq juda katta bo'lishi mumkin. Xatolik mavjud bo'lganda, ko'p FFT algoritmlari DFT ta'rifini to'g'ridan-to'g'ri yoki bilvosita baholashdan ko'ra aniqroqdir.

Oddiy qilib aytganda, bu FFT algoritmi har qanday signalning Furye konvertatsiyasini hisoblashning tezroq usuli ekanligini anglatadi. Bu odatda hisoblash quvvati past bo'lgan qurilmalarda qo'llaniladi.

Tavsiya: