Daftar Isi:
- Langkah 1: Daftar Bagian
- Langkah 2: Pembuatan prototipe
- Langkah 3: Sirkuit + Kode
- Langkah 4: Perakitan
Video: Retro LED Strip Audio Visualizer: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Sebagai musisi dan mahasiswa teknik elektro, saya menyukai proyek apa pun yang bersinggungan dengan dua bidang ini. Saya telah melihat beberapa visualisator audio DIY (di sini, di sini, di sini, dan di sini), tetapi masing-masing telah melewatkan setidaknya satu dari dua tujuan yang saya tetapkan untuk diri saya sendiri: kualitas pembuatan profesional dan tampilan yang relatif besar (8*8 lemah). Matriks LED tidak akan cukup di sini!). Dengan beberapa bakat vintage, dan duduk di 40" x 20", visualisator audio ini menyelesaikan kedua tujuan tersebut.
Mohon maaf sebelumnya untuk foto vertikal. Banyak dari mereka diambil untuk media sosial.
Langkah 1: Daftar Bagian
Saya sudah memiliki beberapa bagian ini. Tautan murni untuk referensi. Tolong jangan membeli komponen yang tidak perlu mahal.
Elektronik
- WS2811 60LEDS/m @ 5m, IP30 (Non-Waterproof), Addressable - Ini lebih murah daripada WS2812 pada saat itu. Anda memiliki beberapa kelonggaran di sini tetapi pastikan dimensinya benar dan Anda benar-benar dapat berbicara dengan LED. Perhatikan juga bahwa WS2811 adalah 12V sedangkan WS2812 adalah 5V.
- Konektor + Wadah 9 x 3-Pin JST
- Catu Daya DC 12V 20A (240W) - Awalnya saya berencana membuat 2 strip LED, dan menginginkan satu set speaker blow-your-house-down. Setiap strip lampu adalah 90W dalam skenario terburuk (saya belum mengukur untuk mengonfirmasi), yang membuat saya ~ 60W untuk speaker + amplifier. Opsi 15A hanya lebih murah $4.
- Kabel listrik (3 Cabang)
- Arduino Uno - Saya memiliki R3 yang tergeletak di sekitar jadi saya menggunakannya. Anda mungkin dapat menemukan opsi yang lebih murah dari salah satu tiruan atau vendor lain.
- TRRS Breakout - Untuk input aux
- L7805 5V Regulator - Setiap regulator 5V yang menerima input 12V akan berfungsi.
- Kapasitor 330 nF, 100 nF - per lembar data L7805
- Kapasitor 2 x 10kR, 2 x 1kR, 2 x 100 nF - untuk bias input audio
- Penerima Stereo - semua penerima stereo antik akan berfungsi selama memiliki input aux (3.5mm atau RCA). Saya mengambil craigslist Panasonic RA6600 seharga $15. Saya sarankan untuk memeriksa Goodwill, craigslist, dan toko barang bekas lainnya untuk hal serupa.*
- Speaker - Bukan speaker BT. Hanya satu set speaker. Perhatikan impedansi apa yang kompatibel dengan receiver Anda. Saya menemukan satu set 3 speaker 20W (= keras) di Goodwill seharga $6, dan itu datang dengan speaker "tengah" dan dua "depan".
- Logitech BT Audio Adapter - perangkat ini dapat mengalirkan audio ke speaker stereo dan ke sirkuit Anda
- RCA male ke kabel RCA male
- kabel aux
Perangkat keras
- 2x6 (8ft) - Tidak diberi perlakuan tekanan. Harus ~$6 atau kurang di HD atau Lowe's
- 40% Akrilik Transmisi Ringan - Saya memesan 18" x 24" x 1/8", dan secara teknis 17,75" x 23,5". Simpan dalam pembungkus saat Anda melakukan pemotongan laser.
- Noda Kayu - Anda hanya membutuhkan kaleng kecil. Saya menggunakan mahoni merah Minwax dan hasilnya sangat bagus. Saya merekomendasikan nada gelap. Saya awalnya mencoba provinsi dan itu tidak terlihat bagus.
- Lacquer - Pertama, lihat video ini oleh Steve Ramsey dan putuskan sendiri apa yang terbaik. Saya mendapat kaleng semprot semi-gloss (tidak ada gloss yang tersedia) dan jujur, itu tidak banyak membantu. Tapi saya juga hanya melakukan satu lapis karena keterbatasan waktu.
- 40 x 1/2" Sekrup kayu - Saya memiliki kepala bundar yang tersedia untuk saya, tetapi saya sarankan menggunakan flat top jika Anda bisa. Saya tidak berpikir itu akan mengganggu kualitas pembuatan tetapi jangan ragu untuk bertanya kepada siapa pun yang lebih akrab dengan pengerjaan kayu terlebih dahulu.
- Kayu bekas, lem gorila, lem panas, solder, kawat, dan strip perintah (gaya velcro, 20 sedang atau 10 besar)
* Saya berencana membangun sound bar untuk membuat proyek ini sepenuhnya "dari awal", yang akan menggantikan 9-13 di atas. Saya berharap untuk memperbarui instruksi ini dengan itu pada akhir musim panas.
Langkah 2: Pembuatan prototipe
Bagian ini bukanlah sesuatu yang perlu Anda selesaikan, tetapi saya ingin menunjukkan seperti apa proyek itu seiring berjalannya waktu.
Di sini, saya menempelkan LED dalam pola ular, dan bereksperimen dengan difusi cahaya melalui kantong sampah berlapis di atasnya (saya sangat menyarankan itu sebagai alternatif akrilik jika Anda mencoba untuk memotong biaya. Meskipun Anda harus melakukannya pasang dengan cara yang berbeda).
Pengaturan 10x10 berfungsi untuk saya, tetapi Anda mungkin lebih suka 8x12 atau 7x14. Jangan ragu untuk bereksperimen. Sebelum saya memiliki stereo, saya menemukan amplifier dan menghubungkannya ke papan tempat memotong roti, dan sebelum itu, saya memutar audio dari laptop saya ke sirkuit untuk analisis audio dan secara bersamaan menekan "play" di ponsel saya untuk mendengarnya.
Saya sangat percaya pada ukuran dua kali, potong sekali. Jadi apa pun yang Anda lakukan, ikuti panduan itu dan Anda akan siap.
Langkah 3: Sirkuit + Kode
Kode tersedia di GitHub.
Breadboard, solder ke perfboard, atau desain PCB Anda sendiri. Apa pun yang terbaik untuk Anda di sini, lakukanlah. Demo saya di sini berjalan di papan tempat memotong roti, tetapi ketika saya membangun soundbar, saya akan mentransfer semuanya ke PCB. Untuk mendapatkan daya dari adaptor, potong ujung betina dan lepaskan insulasi hitam. Lepaskan cukup banyak kabel sebenarnya untuk memasangnya ke terminal adaptor. Selalu berhati-hati bekerja dengan AC! Selain itu, hanya beberapa hal yang perlu diperhatikan di sini.
- Jalur Tanah Satu hal lagi adalah memastikan jalur tanah Anda bagus. Anda memerlukan ground dari adaptor ke Arduino ke input aux, yang juga akan terhubung ke ground pada receiver Logitech BT dan dari sana ground pada stereo. Jika salah satu dari ini adalah koneksi yang rusak atau buruk, Anda akan mendapatkan input audio yang sangat bising dan karenanya tampilan yang sangat bising.
- Biasing Input AudioAudio yang diputar melalui kabel aux, dari ponsel atau laptop Anda atau di mana pun, akan diputar pada -2.2 hingga +2.2V. Arduino hanya mampu membaca 0 hingga +5V, jadi Anda perlu membiaskan input audio. Ini dapat dicapai secara efisien dengan op amp, tetapi jika konsumsi daya tidak menjadi masalah (mungkin Anda membeli catu daya 240W?), Hal ini juga dapat dilakukan dengan resistor dan kapasitor. Nilai yang saya pilih berbeda karena saya tidak memiliki kapasitor 10uF. Anda dapat bermain-main dengan simulator untuk melihat apakah yang Anda pilih akan berhasil.
- Transformasi Fourier Setiap proyek yang menggunakan transformasi Fourier akan memiliki bagian latar belakang yang membahasnya. Jika Anda sudah memiliki pengalaman, bagus! Jika tidak, yang perlu Anda pahami adalah bahwa mereka mengambil snapshot sinyal dan mengembalikan informasi tentang frekuensi apa yang ada dalam sinyal itu pada saat itu. Jadi jika Anda mengambil transformasi Fourier dari sin(440(2*pi*t)), itu akan memberitahu Anda bahwa frekuensi 440Hz hadir dalam sinyal Anda. Jika Anda mengambil transformasi Fourier dari 7*sin(440(2*pi*t)) + 5*sin(2000(2*pi*t)), ini akan memberi tahu Anda bahwa ada sinyal 440Hz dan 2000Hz, dan derajat relatif di mana mereka hadir. Itu dapat melakukan ini untuk sinyal apa pun dengan sejumlah fungsi komponen. Karena semua audio hanyalah penjumlahan dari sinusoid, kita dapat mengambil transformasi Fourier dari sekumpulan snapshot dan melihat apa yang sebenarnya terjadi. Anda akan melihat dalam kode bahwa kami juga menerapkan jendela ke sinyal kami sebelum mengambil Fourier mengubah. Lebih lanjut tentang itu dapat ditemukan di sini, tetapi penjelasan singkatnya adalah bahwa sinyal yang akhirnya kita berikan pada transformasi agak menyebalkan, dan windows memperbaikinya untuk kita. Kode Anda tidak akan rusak jika Anda tidak menggunakannya, tetapi tampilannya tidak akan terlihat bersih. Mungkin ada algoritma yang lebih baik yang tersedia (YAAPT, misalnya), tetapi mengikuti prinsip KISS, saya memilih untuk menggunakan apa sudah tersedia, yang merupakan beberapa perpustakaan Arduino yang ditulis dengan baik untuk Fast Fourier Transform, atau FFT.
- Bisakah Arduino benar-benar memproses semuanya secara realtime? Agar semuanya muncul secara realtime, Arduino perlu mengambil 128 sampel, memproses FFT itu, memanipulasi nilai untuk tampilan, dan memperbarui tampilan dengan sangat cepat. Jika Anda menginginkan presisi nada 1/16 pada 150bpm (mendekati tempo atas sebagian besar lagu pop), Anda perlu memproses semuanya dalam 100msec. Selain itu, mata manusia dapat melihat pada 30FPS, yang sesuai dengan panjang bingkai 30 mdtk. Posting blog ini tidak memberi saya kepercayaan diri terbesar, tetapi saya memutuskan untuk melihat sendiri apakah Arduino akan bertahan. Setelah benchmark saya sendiri, saya sangat bangga dengan R3 saya. Tahap perhitungan sejauh ini merupakan faktor pembatas, tetapi saya dapat memproses 128 panjang FFT UINT16 hanya dalam 70 mdtk. Ini berada dalam toleransi audio, tetapi lebih dari dua kali lipat kendala visual. Pada penelitian lebih lanjut, saya menemukan Arduino FHT, yang memanfaatkan simetri FFT dan hanya menghitung nilai sebenarnya saja. Dengan kata lain, ini sekitar 2x lebih cepat. Dan tentu saja, itu membawa seluruh kecepatan loop ke ~30msec. Satu catatan lain di sini pada resolusi layar. Panjang N FFT yang diambil sampelnya pada Fs Hz mengembalikan N bin, di mana bin ke-k sesuai dengan k * Fs/N Hz. Arduino ADC, yang membaca input audio dan mengambil sampel, biasanya berjalan pada ~9,6kHz. Namun, FFT hanya dapat mengembalikan informasi tentang frekuensi hingga 1/2 * Fs. Manusia dapat mendengar hingga 20kHz, jadi kami idealnya ingin mengambil sampel pada >40kHz. ADC dapat diretas untuk berjalan sedikit lebih cepat, tetapi tidak jauh dari sana. Hasil terbaik yang saya lihat tanpa kehilangan stabilitas adalah pada ADC 14kHz. Selain itu, FFT terbesar yang dapat saya proses untuk tetap mendapatkan efek waktu nyata adalah N=128. Ini berarti setiap nampan mewakili ~109Hz, yang bagus pada frekuensi yang lebih tinggi tetapi buruk pada frekuensi rendah. Visualisator yang baik mencoba untuk memesan satu oktaf untuk setiap bar, yang sesuai dengan pemisahan pada [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093,00, 4186.01] Hz. 109Hz berarti 2,5 oktaf pertama semuanya dalam satu nampan. Saya masih bisa mendapatkan efek visual yang baik, sebagian dengan mengambil rata-rata setiap ember, di mana ember adalah sekelompok sampah di antara dua batas ini. Saya harap ini tidak membingungkan, dan kode itu sendiri harus menjelaskan apa yang sebenarnya terjadi, tetapi jangan ragu untuk bertanya di bawah jika tidak masuk akal.
Langkah 4: Perakitan
Seperti yang saya nyatakan sebelumnya, saya menginginkan sesuatu dengan kualitas bangunan profesional. Awalnya saya mulai menempelkan bilah kayu bersama-sama, tetapi seorang teman (dan insinyur mesin yang terampil) menyarankan pendekatan yang berbeda. Perhatikan bahwa 2x6 sebenarnya adalah 1,5" x 5". Dan harap berhati-hati bekerja dengan salah satu mesin di bawah ini.
- Ambil 2x6x8 dan pasir jika perlu. Potong menjadi bagian 2" x 6" x 22". Ini memberi Anda dua bilah untuk "dibakar" jika Anda mengacaukannya.
- Ambil setiap bagian 22" dan jalankan melalui gergaji meja memanjang untuk membuat bilah 1,5" x ~ 1,6" x 22". Sepertiga terakhir mungkin sulit untuk dipotong pada gergaji meja, jadi Anda dapat beralih ke gergaji pita. Pastikan semuanya selurus mungkin. Selain itu, 1,6" adalah panduan, dan bisa naik hingga 1,75". Itulah bagian saya, tetapi selama semuanya sama satu sama lain, itu tidak terlalu menjadi masalah. Faktor pembatasnya adalah akrilik pada 18".
- Di ujung potongan, tandai bentuk U dengan tinggi 1/8" di kedua sisi dan sedikit lebih dalam dari 3/4". CATATAN: Jika Anda menggunakan akrilik yang berbeda, kedalamannya akan berubah. Pada <3/4", akrilik saya tidak menyebarkan cahaya sama sekali. Sedikit lebih, itu menyebar sepenuhnya. Anda ingin menghindari "manik-manik." Saya menemukan posting Hackaday ini sebagai referensi yang baik, tetapi mendapatkan difusi yang sempurna adalah sangat sulit!
- Dengan router meja, potong U tengah itu sampai ke bawah. 22" lebih panjang dari yang Anda butuhkan, jadi jangan khawatir ujungnya akan terpotong jika Anda melakukannya. Router bisa jadi rumit, tetapi dapatkan sedikit yang sedikit lebih lebar dari setengah lebar U dan hati-hati memotong lebih dari 1/ 8" bahan sekaligus. Ulangi: Jangan mencoba melakukan semuanya dalam 2 lintasan. Anda akan merusak kayu dan kemungkinan akan melukai diri sendiri. Bekerja dengan rotasi router pada pemotongan 1-4, dan bekerja melawannya pada 5-8. Ini memastikan bahwa Anda memiliki kontrol terbaik atas torsi router.
- Potong strip LED menjadi bagian 30-LED (hanya setiap set 3 LED yang dapat dialamatkan). Anda mungkin perlu melepas beberapa sambungan. Letakkan strip itu di sepanjang rel. Satu sisi harus duduk rata, dan yang lain harus memiliki sedikit ruang untuk penerimaan JST, yang akan duduk rata. Sayangnya saya tidak mendapatkan gambar ini, tetapi lihat diagram terlampir. Tandai panjangnya di sini, tetapi jangan memotong apa pun.
- Ukur lebar setiap bilah. Dengan ini dan panjang dari langkah 7, laser memotong akrilik menjadi 10 persegi panjang yang diperlukan. Lebih baik sedikit panjang daripada sedikit pendek. Jika terbakar, bersihkan dengan isopropil.
- Pastikan bahwa setiap bilah akrilik berada pada panjang yang sama dengan yang Anda tandai pada langkah 5, lalu potong bilah hingga panjang ini.
- Anda sekarang membutuhkan dua potongan jembatan untuk menempelkan akrilik. Ini memungkinkan perawatan strip cahaya yang mudah jika terjadi sesuatu. Potongan-potongan ini harus kira-kira [lebar Anda] - panjang 2 * 1/8" dengan permukaan persegi 1/2", tetapi harus sedikit pas. Dengan potongan-potongan ini dengan kuat di tempatnya dan rata dengan bagian depan bilah, bor lubang melalui bagian tengah setiap jembatan dari bagian luar bilah. Lakukan yang terbaik untuk membuat setiap latihan merata. Jangan biarkan jembatan tetap terkunci, tetapi pastikan mereka bisa. Berhati-hatilah untuk tidak mendorong sekrup terlalu jauh dan membelah kayu.
- Pada titik ini, nodai bilah dan aplikasikan hasil akhir apa pun.
- Sekarang sekrup di jembatan. Pastikan mereka duduk rata! Jika tidak, Anda perlu menambahkan semacam shim. Oleskan lem gorila (lebih disukai) atau lem panas (yang bisa berfungsi ganda sebagai shim) ke jembatan dan tempelkan akrilik. Jangan mengoleskan perekat apa pun di sepanjang bilah itu sendiri.
- Solder wadah JST ke satu sisi dari semua kecuali satu strip LED. Letakkan semuanya di ujung yang sama seperti yang ditunjukkan oleh panah yang ditandai. Solder kabel colokan JST ke ujung lainnya. Anda mungkin perlu melepas lebih banyak kabel pada setiap konektor. Pastikan koneksi akan benar saat dicolokkan! Perekat di bagian belakang LED sangat buruk, jadi jangan percaya. Letakkan LED di jalur tengah dan rekatkan dengan lem gorila, perhatikan arah yang ditunjukkan pada strip. Ingatlah bahwa Anda mengacaukan semuanya.
- Pada slat pertama, solder kabel yang cukup panjang untuk mendapatkan power + ground dari adaptor dan sinyal dari Arduino.
- Pasang kembali bilah dan jembatan. Pasang strip perintah ke belakang (gaya velcro, 2 sedang di atas dan bawah atau 1 besar di tengah). Buat semua sambungan yang diperlukan, dan gantung di dinding dengan jarak ~3". Nikmati hasil kerja Anda.
Direkomendasikan:
Kabel Audio A/V Retro ke Audio Tambahan: 8 Langkah (dengan Gambar)
Kabel Audio A/V Retro ke Audio Tambahan: Saya membuat kabel ini untuk melayani fungsi yang sangat spesifik - untuk menghubungkan pemutar MP3 ke radio mobil yang dilengkapi dengan port A/V daripada port audio tambahan. Proses ini hampir identik dengan kabel patch stereo Retro saya, satu-satunya perbedaan adalah
Visualizer Audio Strip LED RGB Non-Addressable: 6 Langkah (dengan Gambar)
Non-Addressable RGB LED Strip Audio Visualizer: Saya memiliki strip LED 12v RGB di sekitar kabinet TV saya untuk sementara waktu dan dikendalikan oleh driver LED membosankan yang memungkinkan saya memilih satu dari 16 warna yang telah diprogram sebelumnya! Saya mendengarkan a banyak musik yang membuat saya termotivasi tetapi pencahayaannya tidak
Strip LED DIY: Cara Memotong, Menghubungkan, Menyolder, dan Strip LED Daya: 3 Langkah (dengan Gambar)
Strip LED DIY: Cara Memotong, Menghubungkan, Menyolder, dan Power LED Strip: Panduan pemula untuk membuat proyek lampu Anda sendiri menggunakan strip LED. Fleksibel andal dan mudah digunakan, strip LED adalah pilihan terbaik untuk berbagai aplikasi. Saya akan membahas dasar-dasar pemasangan strip LED 60 LED/m dalam ruangan sederhana, tetapi
Lampu Strip LED Sederhana (Tingkatkan Strip LED Anda): 4 Langkah (dengan Gambar)
Lampu Strip LED Sederhana (Tingkatkan Strip LED Anda): Saya telah menggunakan strip LED cukup lama sekarang dan selalu menyukai kesederhanaannya. Anda hanya memotong sepotong peran, menyolder beberapa kabel ke sana, memasang catu daya dan Anda mendapatkan sumber cahaya sendiri. Selama bertahun-tahun saya telah menemukan c
ESP8266 RGB LED STRIP Kontrol WIFI - NODEMCU Sebagai Remote IR untuk Strip Led yang Dikendalikan Melalui Wifi - Kontrol Smartphone LED STRIP RGB: 4 Langkah
ESP8266 RGB LED STRIP Kontrol WIFI | NODEMCU Sebagai Remote IR untuk Strip Led yang Dikendalikan Melalui Wifi | RGB LED STRIP Smartphone Control: Hi guys dalam tutorial ini kita akan belajar bagaimana menggunakan nodemcu atau esp8266 sebagai remote IR untuk mengontrol strip LED RGB dan Nodemcu akan dikendalikan oleh smartphone melalui wifi. Jadi pada dasarnya Anda dapat mengontrol STRIP LED RGB dengan ponsel cerdas Anda