Isi kandungan:

Visualizer Audio Jalur LED RGB yang Tidak Ditujukan: 6 Langkah (dengan Gambar)
Visualizer Audio Jalur LED RGB yang Tidak Ditujukan: 6 Langkah (dengan Gambar)

Video: Visualizer Audio Jalur LED RGB yang Tidak Ditujukan: 6 Langkah (dengan Gambar)

Video: Visualizer Audio Jalur LED RGB yang Tidak Ditujukan: 6 Langkah (dengan Gambar)
Video: Review Led Bar Sound Control Light RGB 2024, November
Anonim
Image
Image

Saya mempunyai jalur LED RGB 12v di sekeliling kabinet TV saya untuk sementara waktu dan ia dikendalikan oleh pemacu LED yang membosankan yang membolehkan saya memilih salah satu daripada 16 warna yang diprogramkan!

Saya mendengar banyak muzik yang membuat saya tetap termotivasi tetapi pencahayaan tidak dapat menyesuaikan suasana. Untuk memperbaikinya yang memutuskan untuk mengambil isyarat audio yang diberikan kepada pembesar suara saya melalui AUX (bicu 3,5 mm), memprosesnya dan mengawal jalur RGB dengan sewajarnya.

LED bertindak balas terhadap muzik berdasarkan magnitud Bass (Rendah), Treble (Tengah) dan frekuensi Tinggi.

Julat Frekuensi - Warna adalah seperti berikut:

Rendah - Merah

Pertengahan - Hijau

Tinggi - Biru

Projek ini melibatkan banyak barang DIY kerana keseluruhan litar dibina dari awal. Ini semestinya cukup mudah jika anda memasangnya di papan roti, tetapi cukup mencabar untuk memasangkannya ke PCB.

Bekalan

(x1) Jalur LED RGB

(x1) Arduino Uno / Nano (Mega disyorkan)

(x1) TL072 atau TL082 (TL081 / TL071 juga baik)

(x3) TIP120 NPN Transistor (TIP121, TIP122 atau N-Channel MOSFET seperti IRF540, IRF 530 juga baik)

(x1) Potensiometer 10kOhm linear

(x3) Perintang 100kOhm 1 / 4watt

(x1) Kapasitor elektrolitik 10uF

(x1) Kapasitor seramik 47nF

(x2) Penyambung audio 3.5 mm - Perempuan

(x2) Bateri 9V

(x2) Penyambung snap bateri 9V

Langkah 1: Memahami Jenis Jalur LED RGB

Memahami Jenis Jalur LED RGB
Memahami Jenis Jalur LED RGB

Terdapat dua jenis jalur LED asas, jenis "analog" dan jenis "digital".

Jalur jenis analog (rajah 1) mempunyai semua LED yang disambungkan secara selari dan oleh itu ia berfungsi seperti satu LED tiga warna yang besar; anda boleh menetapkan keseluruhan jalur pada warna yang anda mahukan, tetapi anda tidak dapat mengawal warna LED individu. Mereka sangat mudah digunakan dan agak murah.

Jalur jenis Digital (rajah 2) berfungsi dengan cara yang berbeza. Mereka mempunyai cip untuk setiap LED, untuk menggunakan jalur yang anda perlukan untuk menghantar data berkod digital ke cip. Walau bagaimanapun, ini bermakna anda dapat mengawal setiap LED secara individu! Kerana kerumitan cip tambahan, ia lebih mahal.

Sekiranya anda sukar untuk mengenal pasti perbezaan antara jalur jenis analog dan digital,

  1. Jenis anolog menggunakan 4 pin, 1 positif biasa dan 3 negatif iaitu satu untuk setiap warna RGB.
  2. Jenis digital menggunakan 3 pin, positif, data dan landasan.

Saya akan menggunakan jalur jenis Analog, kerana

  1. Tidak banyak instruksi yang mengajar bagaimana membuat jalur jenis Analog reaktif muzik. Sebahagian besar dari mereka menumpukan perhatian pada jenis Digital dan lebih mudah membuat mereka bertindak balas terhadap muzik.
  2. Saya mempunyai beberapa jalur jenis Analog yang terletak di sekitar.

Langkah 2: Memperkuat Isyarat Audio

Memperkuatkan Isyarat Audio
Memperkuatkan Isyarat Audio
Memperkuatkan Isyarat Audio
Memperkuatkan Isyarat Audio
Memperkuat Isyarat Audio
Memperkuat Isyarat Audio

Isyarat audio yang dihantar melalui bicu audio adalah

isyarat analog yang berayun dalam + 200mV dan -200mV. Sekarang ini masalahnya ialah kita mahu mengukur isyarat audio dengan salah satu input analog Arduino kerana input analog Arduino hanya dapat mengukur voltan antara 0 dan 5V. Sekiranya kita cuba mengukur voltan negatif dalam isyarat audio dari, Arduino hanya akan membaca 0V dan kita akhirnya memotong bahagian bawah isyarat.

Untuk menyelesaikannya, kita harus memperkuat dan mengimbangi isyarat audio sehingga berada dalam jarak 0-5V. Sebaik-baiknya, isyarat harus mempunyai amplitud 2.5V yang berayun di sekitar 2.5V sehingga voltan minnya adalah 0V dan voltan maksimumnya adalah 5V.

Pengukuhan

Penguat adalah langkah pertama dalam litar, ia meningkatkan amplitud isyarat dari sekitar + atau - 200mV hingga + atau - 2.5V (idealnya). Fungsi penguat lain adalah untuk melindungi sumber audio (perkara yang menghasilkan isyarat audio dari awal) dari rangkaian lain. Isyarat yang diperkuat keluar akan mengalirkan semua arus dari penguat, jadi apa-apa beban yang dimasukkan kemudian di litar tidak akan "dirasakan" oleh sumber audio (telefon / iPod / komputer riba dalam kes saya). Lakukan ini dengan menyediakan salah satu op-amp dalam pakej TL072 atau TL082 (rajah 2) dalam konfigurasi penguat yang tidak terbalik.

Lembar data TL072 atau TL082 mengatakan bahawa ia harus dikuasakan dengan +15 dan -15V, tetapi kerana isyarat tidak akan pernah diperkuat di atas + atau - 2.5V, baiklah menjalankan op-amp dengan sesuatu yang lebih rendah. Saya menggunakan dua bateri sembilan volt yang disambungkan secara bersiri untuk membuat bekalan kuasa + atau - 9V.

Kabelkan + V anda (pin 8) dan –V (pin 4) ke op-amp. Kabelkan isyarat dari bicu mono ke input bukan pembalik (pin 3) dan sambungkan pin pembumian bicu ke rujukan 0V pada bekalan voltan anda (bagi saya ini adalah persimpangan antara dua bateri 9V dalam siri). Kawat perintang 100kOhm antara output (pin 1) dan input terbalik (pin 2) op-amp. Dalam litar ini, saya menggunakan potensiometer 10kOhm sebagai perintang yang berubah-ubah untuk menyesuaikan keuntungan (jumlah yang diperkuat oleh penguat) penguat tidak terbalik saya. Kawat periuk lancip linier 10K ini antara input terbalik dan rujukan 0V.

Offset DC

Litar offset DC mempunyai dua komponen utama: pembahagi voltan dan kapasitor. Pembahagi voltan dibuat dari dua perintang 100k yang disambungkan secara bersiri dari bekalan 5V Arduino ke tanah. Oleh kerana perintang mempunyai rintangan yang sama, voltan di persimpangan di antara mereka sama dengan 2.5V. Persimpangan 2.5V ini diikat pada output penguat melalui kapasitor 10uF. Oleh kerana voltan di sisi penguat kapasitor naik dan turun, ia menyebabkan cas terkumpul dan tolak seketika dari sisi kapasitor yang melekat pada simpang 2.5V. Ini menyebabkan voltan di simpang 2.5V berayun ke atas dan ke bawah, berpusat di sekitar 2.5V.

Seperti yang ditunjukkan dalam skema, sambungkan plumbum negatif kapasitor 10uF ke output dari penguat. Sambungkan bahagian lain penutup ke persimpangan antara dua perintang 100k yang berwayar secara bersiri antara 5V dan tanah. Juga, tambahkan kapasitor 47nF dari 2.5V ke tanah.

Langkah 3: Menguraikan Isyarat ke dalam Jumlah Sinusoid Stasioner - Teori

Menguraikan Isyarat Menjadi Jumlah Sinusoid Stasioner - Teori
Menguraikan Isyarat Menjadi Jumlah Sinusoid Stasioner - Teori

Isyarat audio yang dihantar melalui bicu 3.5mm ada di

julat 20 Hz hingga 20 kHz. Ia diambil sampel pada 44.1 kHz dan setiap sampel dikodkan pada 16 bit.

Untuk menguraikan frekuensi elemen asas yang membentuk isyarat audio, kami menerapkan Transformasi Fourier ke isyarat, yang menguraikan isyarat menjadi jumlah sinusoid pegun. Dengan kata lain, analisis Fourier menukar isyarat dari domain asalnya (selalunya masa atau ruang) menjadi representasi dalam domain frekuensi dan sebaliknya. Tetapi mengira secara langsung dari definisi sering terlalu lambat untuk menjadi praktikal.

Angka menunjukkan bagaimana isyarat kelihatan dalam domain masa dan frekuensi.

Di sinilah algoritma Fast Fourier Transform (FFT) cukup berguna!

Menurut Definisi, FFT dengan cepat mengira transformasi sedemikian dengan memfaktorkan matriks DFT menjadi produk faktor jarang (kebanyakannya sifar). Akibatnya, ia berjaya mengurangkan kerumitan pengkomputeran DFT dari O (N2), yang muncul jika seseorang hanya menerapkan definisi DFT, ke O (N log N), di mana N adalah ukuran data. Perbezaan kelajuan boleh menjadi sangat besar, terutama untuk set data yang panjang di mana N mungkin beribu-ribu atau berjuta-juta. Sekiranya terdapat ralat bulat, banyak algoritma FFT jauh lebih tepat daripada menilai definisi DFT secara langsung atau tidak langsung.

Secara sederhana, ini bermaksud bahawa algoritma FFT adalah cara yang lebih pantas untuk mengira Transformasi Fourier dari sebarang isyarat. Ini biasanya digunakan pada peranti dengan daya pengkomputeran yang rendah.

Disyorkan: