Isi kandungan:

Visual Visual Strip Strip LED Retro: 4 Langkah (dengan Gambar)
Visual Visual Strip Strip LED Retro: 4 Langkah (dengan Gambar)

Video: Visual Visual Strip Strip LED Retro: 4 Langkah (dengan Gambar)

Video: Visual Visual Strip Strip LED Retro: 4 Langkah (dengan Gambar)
Video: [4K] 1 Hour Visual Loop - DJ Visuals Compilation 2024, Julai
Anonim
Image
Image
Senarai Bahagian
Senarai Bahagian

Sebagai pemuzik dan pelajar kejuruteraan elektrik, saya suka projek yang bersilang dengan dua bidang ini. Saya telah melihat beberapa alat visualisasi DIY (di sini, di sini, di sini dan di sini), tetapi masing-masing telah melewatkan sekurang-kurangnya satu daripada dua tujuan yang saya tetapkan untuk diri saya sendiri: kualiti binaan profesional dan paparan yang agak besar (8 * 8 Matriks LED tidak mencukupi di sini!). Dengan bakat antik, dan dengan ukuran 40 "x 20", visualizer audio ini mencapai kedua-dua tujuan tersebut.

Minta maaf terlebih dahulu untuk gambar menegak. Sebilangan besar diambil untuk media sosial.

Langkah 1: Senarai Bahagian

Saya sudah mempunyai beberapa bahagian ini. Pautan hanya untuk rujukan. Jangan beli komponen yang tidak mahal.

Elektronik

  1. WS2811 60LEDS / m @ 5m, IP30 (Non-Waterproof), Boleh Ditujukan - Ini lebih murah daripada WS2812 pada masa itu. Anda mempunyai sedikit kelonggaran di sini tetapi pastikan dimensinya betul dan anda boleh bercakap dengan LED. Perhatikan juga bahawa WS2811s adalah 12V sementara WS2812s adalah 5V.
  2. 9 x 3-Pin JST Connectors + Receptacles
  3. Bekalan Kuasa DC 12V 20A (240W) - Pada mulanya saya merancang untuk melakukan 2 jalur LED, dan mahukan satu set pembesar suara. Setiap jalur cahaya adalah 90W dalam senario terburuk (saya belum mengukur untuk mengesahkan), yang meninggalkan saya ~ 60W untuk pembesar suara + penguat. Pilihan 15A hanya $ 4 kurang lagi.
  4. Kabel kuasa (3 Prong)
  5. Arduino Uno - Saya mempunyai R3 berbaring sehingga saya menggunakannya. Anda mungkin dapat mencari pilihan yang lebih murah dari salah satu tiruan atau vendor lain.
  6. TRRS Breakout - Untuk input aux
  7. L7805 5V Regulator - Mana-mana pengatur 5V yang menerima input 12V akan berfungsi.
  8. Kapasitor 330 nF, 100 nF - setiap lembaran data L7805
  9. Kapasitor 2 x 10kR, 2 x 1kR, 2 x 100 nF - untuk bias input audio
  10. Penerima Stereo - mana-mana penerima stereo vintaj akan berfungsi selagi mempunyai input aux (3.5mm atau RCA). Saya mengambil senarai craigslist Panasonic RA6600 dengan harga $ 15. Saya cadangkan untuk memeriksa Goodwill, craigslist, dan kedai berjimat cermat yang lain. *
  11. Pembesar suara - Bukan pembesar suara BT. Hanya set pembesar suara. Perhatikan apa impedans yang sesuai dengan penerima anda. Saya menjumpai satu set 3 pembesar suara 20W (= keras) di Goodwill dengan harga $ 6, dan itu dilengkapi dengan pembesar suara "tengah" dan dua "depan".
  12. Logitech BT Audio Adapter - peranti ini dapat mengalirkan audio ke pembesar suara stereo dan litar anda
  13. Kabel lelaki RCA lelaki ke RCA
  14. Kabel Aux

Perkakasan

  1. 2x6 (8 kaki) - Tidak diberi tekanan. Harus ~ $ 6 atau kurang pada HD atau Lowe's
  2. 40% Light Transmission Acrylic - Saya memesan 18 "x 24" x 1/8 ", dan secara teknikalnya 17.75" x 23.5 ". Simpan dalam bungkusan ketika anda pergi ke laser.
  3. Wood Stain - Anda hanya memerlukan tin kecil. Saya menggunakan mahoni merah Minwax dan ia sangat bagus. Saya pasti mengesyorkan nada gelap. Saya pada awalnya mencuba wilayah dan tidak kelihatan bagus.
  4. Lacquer - Pertama, lihat video ini oleh Steve Ramsey dan tentukan sendiri yang paling sesuai. Saya mendapat tin semprot semi-gloss (tidak ada gloss tersedia) dan sejujurnya, ia tidak banyak. Tetapi saya juga hanya memakai satu kot kerana kesuntukan masa.
  5. Skru kayu 40 x 1/2 "- Saya mempunyai kepala bulat, tetapi saya cadangkan menggunakan bahagian atas rata jika anda boleh. Saya rasa ini tidak akan mengganggu kualiti binaan tetapi jangan ragu untuk meminta orang yang lebih biasa dengan kerja kayu terlebih dahulu.
  6. Kayu sekerap, gam gorila, lem panas, pateri, wayar, dan jalur arahan (gaya velcro, 20 sederhana atau 10 besar)

* Saya merancang untuk membina bar bunyi untuk menjadikan projek ini sepenuhnya "dari awal," yang akan menggantikan 9-13 di atas. Saya harap dapat mengemas kini arahan ini pada akhir musim panas.

Langkah 2: Prototaip

Prototaip
Prototaip

Bahagian ini bukan sesuatu yang perlu anda lengkapkan, tetapi saya ingin menunjukkan seperti apa projek itu berjalan.

Di sini, saya memasang LED dalam corak ular, dan bereksperimen dengan penyebaran cahaya melalui beg sampah yang berlapis di atasnya (saya sangat mengesyorkan bahawa sebagai alternatif untuk akrilik jika anda cuba mengurangkan kos. Walaupun anda perlu melampirkannya dengan cara yang berbeza).

Penyediaan 10x10 berfungsi untuk saya, tetapi anda mungkin lebih suka 8x12 atau 7x14. Jangan ragu untuk bereksperimen. Sebelum saya mempunyai stereo, saya menjumpai penguat dan menyambungkannya di papan roti saya, dan sebelum itu, saya memainkan audio dari komputer riba ke litar untuk analisis audio dan secara serentak menekan "main" di telefon saya untuk mendengarnya.

Saya sangat percaya pada ukuran dua kali, potong sekali. Oleh itu, apa sahaja yang anda lakukan, ikuti panduan itu dan anda akan bersedia.

Langkah 3: Litar + Kod

Litar + Kod
Litar + Kod
Litar + Kod
Litar + Kod
Litar + Kod
Litar + Kod

Kod boleh didapati di GitHub.

Papan roti, pateri pada papan wangi, atau reka bentuk PCB anda sendiri. Apa sahaja yang paling sesuai untuk anda di sini, lakukanlah. Demo saya di sini berjalan di papan roti, tetapi ketika saya membina bar suara saya akan memindahkan semuanya ke PCB. Untuk mendapatkan kuasa dari penyesuai, potong hujung wanita dan lepaskan penebat hitam. Keluarkan kabel yang cukup untuk memasukkannya ke terminal penyesuai. Sentiasa berhati-hati bekerja dengan AC! Selain daripada itu, hanya beberapa perkara yang perlu diberi perhatian di sini.

  1. Laluan Darat Satu perkara lain adalah memastikan jalan darat anda baik. Anda memerlukan pembumian dari penyesuai ke Arduino ke input aux, yang juga akan menyambung ke tanah pada penerima Logitech BT dan dari sana tanah di stereo. Sekiranya salah satu daripadanya adalah sambungan yang rosak atau buruk, anda akan mendapat input audio yang sangat bising dan dengan itu paparan yang sangat bising.
  2. Audio Input BiasingAudio dimainkan melalui kord aux, dari telefon atau komputer riba atau di mana sahaja, akan dimainkan pada -2.2 hingga + 2.2V. Arduino hanya mampu membaca 0 hingga + 5V, jadi anda perlu bias input audio. Ini dapat dicapai dengan berkesan dengan op amp, tetapi jika penggunaan kuasa tidak menjadi masalah (mungkin anda membeli bekalan kuasa 240W?), Ia juga dapat dicapai dengan perintang dan kapasitor. Nilai yang saya pilih berbeza kerana saya tidak mempunyai kapasitor 10uF. Anda boleh bermain-main dengan simulator untuk melihat apakah yang anda pilih akan berfungsi.
  3. Segala projek yang menggunakan transformasi Fourier akan mempunyai bahagian latar belakang yang membincangkannya. Sekiranya anda sudah mempunyai pengalaman, hebat! Sekiranya tidak, yang perlu anda fahami ialah mereka mengambil gambar isyarat dan mengembalikan maklumat mengenai frekuensi apa yang terdapat dalam isyarat itu pada waktu itu. Oleh itu, jika anda mengambil transformasi Fourier sin (440 (2 * pi * t)), ini akan memberitahu anda bahawa frekuensi 440Hz terdapat dalam isyarat anda. Sekiranya anda mengambil transformasi Fourier 7 * sin (440 (2 * pi * t)) + 5 * sin (2000 (2 * pi * t)), ini akan memberitahu anda bahawa terdapat isyarat 440Hz dan 2000Hz, dan darjah relatif di mana mereka berada. Ia dapat melakukan ini untuk sebarang isyarat dengan sebilangan fungsi komponen. Oleh kerana semua audio hanyalah sejumlah sinusoid, kita dapat mengambil sekumpulan snapshot Fourier dan melihat apa yang sebenarnya berlaku. Anda akan melihat dalam kod bahawa kita juga menggunakan tetingkap pada isyarat kita sebelum mengambil Fourier mengubah. Lebih banyak yang boleh didapati di sini, tetapi penjelasan ringkasnya adalah bahawa isyarat kita akhirnya memberikan transformasi agak menyebalkan, dan tingkap memperbaikinya untuk kita. Kod anda tidak akan hancur jika anda tidak menggunakannya, tetapi paparannya tidak kelihatan bersih. Mungkin ada algoritma yang lebih baik (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.
  4. Bolehkah Arduino benar-benar memproses semuanya secara realtime? Agar semuanya muncul dalam masa nyata, Arduino perlu mengambil 128 sampel, memproses FFT, memanipulasi nilai untuk paparan, dan mengemas kini paparan dengan cepat. Sekiranya anda mahukan ketepatan nota 1/16 pada 150bpm (hampir dengan tempo hujung atas kebanyakan lagu pop), anda perlu memproses semuanya dalam 100msec. Selain itu, mata manusia dapat melihat pada 30FPS, yang sepadan dengan panjang bingkai 30msec. Catatan blog ini tidak memberi saya keyakinan yang besar, tetapi saya memutuskan untuk melihat sendiri apakah Arduino akan bertahan. Selepas penanda aras saya sendiri, saya sangat bangga dengan R3 saya. Fasa pengiraan sejauh ini merupakan faktor pembatas, tetapi saya dapat memproses FFT 128 UINT16 panjang hanya dalam 70msec. Ini berada dalam toleransi audio, tetapi melipatgandakan kekangan visual. Pada penyelidikan lebih lanjut, saya dapati Arduino FHT, yang memanfaatkan simetri FFT dan hanya mengira nilai sebenar sahaja. Dengan kata lain, ia lebih cepat 2x. Dan sudah pasti, ia menjadikan keseluruhan kelajuan gelung ~ 30msec. Satu nota lain di sini mengenai resolusi paparan. Panjang N FFT yang disampel pada Fs Hz mengembalikan tong N, di mana tong kth sepadan dengan k * Fs / N Hz. Arduino ADC, yang membaca input audio dan mengambil sampel, biasanya berjalan pada ~ 9.6kHz. Walau bagaimanapun, FFT hanya dapat mengembalikan maklumat mengenai frekuensi hingga 1/2 * Fs. Manusia boleh mendengar hingga 20kHz, jadi kita semestinya ingin mengambil sampel pada> 40kHz. ADC boleh diretas untuk berjalan sedikit lebih cepat, tetapi tidak ada tempat di sana. Hasil terbaik yang saya lihat tanpa kehilangan kestabilan adalah pada 14kHz ADC. Selain itu, FFT terbesar yang dapat saya proses untuk masih mendapat kesan masa nyata ialah N = 128. Ini bermaksud setiap tong mewakili ~ 109Hz, yang baik pada frekuensi yang lebih tinggi tetapi buruk pada hujung rendah. Visualizer yang baik cuba menempah oktaf untuk setiap bar, yang sepadan dengan pemisahan pada [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Hz. 109Hz bermaksud 2.5 oktaf pertama semuanya dalam satu tong sampah. Saya masih dapat memperoleh kesan visual yang baik, sebahagiannya dengan mengambil purata setiap baldi, di mana baldi adalah sekumpulan tong sampah di antara dua batas ini. Saya harap ini tidak membingungkan, dan kod itu sendiri harus menjelaskan apa yang sebenarnya berlaku, tetapi jangan ragu untuk bertanya di bawah jika tidak masuk akal.

Langkah 4: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Seperti yang saya nyatakan sebelumnya, saya mahukan sesuatu dengan kualiti binaan profesional. Pada mulanya saya mula memasang pelekat kayu, tetapi seorang rakan (dan jurutera mekanikal mahir) mencadangkan pendekatan yang berbeza. Perhatikan bahawa 2x6 benar-benar 1.5 "x 5". Dan berhati-hati bekerja dengan mana-mana jentera di bawah ini.

  1. Ambil 2x6x8 dan pasir anda jika diperlukan. Potong ke dalam bahagian 2 "x 6" x 22 ". Ini memberi anda dua bilah untuk" membakar "jika anda mengacaukan.
  2. Ambil setiap bahagian 22 "dan jalankan melalui gergaji meja panjang untuk membuat bilah 1.5" x ~ 1.6 "x 22". Yang ketiga mungkin sukar dipotong pada gergaji meja, jadi anda boleh beralih ke gergaji pita. Pastikan semuanya betul-betul lurus. Selain itu, 1.6 "adalah petunjuk, dan boleh mencapai 1.75". Itulah kepingan saya, tetapi selagi semuanya sama antara satu sama lain, tidaklah terlalu penting. Faktor pengehad adalah akrilik pada 18 ".
  3. Di hujung kepingan, tandakan bentuk U yang berukuran 1/8 "di kedua sisi dan sedikit lebih dari 3/4" kedalaman. CATATAN: Sekiranya anda menggunakan akrilik yang berbeza, kedalamannya akan berubah. Pada <3/4 ", akrilik saya sama sekali tidak menyebarkan cahaya. Sedikit lagi, ia meresap sepenuhnya. Anda ingin mengelakkan sebarang" kegilaan ". Saya dapati catatan Hackaday ini sebagai rujukan yang baik, tetapi mendapat penyebaran yang sempurna adalah sangat susah!
  4. Dengan penghala meja, potong U tengah itu sepanjang jalan. Lebar 22 "lebih panjang daripada yang anda perlukan, jadi jangan risau untuk memotong hujungnya jika anda melakukannya. Router mungkin sukar, tetapi dapatkan sedikit lebih lebar daripada separuh lebar U dan berhati-hati memotong lebih dari 1 / 8 "bahan pada satu masa. Ulangi: Jangan cuba melakukan semuanya dalam 2 hantaran. Anda akan merosakkan kayu dan kemungkinan akan mencederakan diri sendiri. Bekerja dengan putaran penghala pada pemotongan 1-4, dan lawan pada 5-8. Ini memastikan bahawa anda mempunyai kawalan terbaik terhadap tork penghala.
  5. Potong jalur LED menjadi bahagian 30-LED (hanya setiap set 3 LED yang dapat ditangani). Anda mungkin perlu melepaskan beberapa sambungan. Letakkan jalur itu di sepanjang trek. Satu sisi mesti duduk rata, dan yang lain harus mempunyai sedikit ruang untuk JST yang boleh diterima, yang akan duduk rata. Sayangnya saya tidak mendapat gambar ini, tetapi lihat gambar rajah yang dilampirkan. Tandakan panjang di sini, tetapi jangan memotong apa-apa lagi.
  6. Ukur lebar setiap slat. Dengan ini dan sepanjang langkah 7, laser memotong akrilik menjadi 10 segi empat tepat yang diperlukan. Lebih baik sedikit panjang daripada sedikit pendek. Sekiranya terbakar, lap dengan isopropil.
  7. Sahkan bahawa setiap slat akrilik terletak pada panjang yang sama dengan yang anda tandakan pada langkah 5, kemudian potong slat hingga panjang ini.
  8. Anda kini memerlukan dua kepingan jambatan untuk melekatkan akrilik. Ini memungkinkan penyelenggaraan jalur cahaya dengan mudah sekiranya timbul. Potongan ini hendaklah berukuran kira-kira [lebar anda] - panjang 2 * 1/8 "dengan muka persegi 2", tetapi ia harus sedikit ketat. Dengan kepingan ini dengan kuat di tempat dan siram dengan muka depan bilah, gerudi lubang ke tengah setiap jambatan dari bahagian luar bilah. Lakukan yang terbaik untuk membuat setiap latihan yang sekata. Jangan biarkan jambatan terganggu, tetapi pastikan ia boleh menjadi jambatan. Berhati-hati untuk tidak menggerakkan skru terlalu jauh dan memecah kayu.
  9. Pada ketika ini, noda bilah dan sapukan sebarang kemasan.
  10. Sekarang skru di jambatan. Pastikan mereka duduk rata! Sekiranya tidak, anda perlu menambahkan beberapa jenis shim. Sapukan gam gorila (lebih disukai) atau lem panas (yang boleh berganda sebagai pelek) ke jambatan dan pasangkan akrilik. Jangan letakkan pelekat di sepanjang bilah itu sendiri.
  11. Palam solder JST ke satu sisi dari semua kecuali satu jalur LED. Letakkan semuanya di hujung yang sama seperti yang ditunjukkan oleh anak panah yang ditandai. Pateri wayar palam JST ke hujung yang lain. Anda mungkin perlu melepaskan lebih banyak wayar pada setiap penyambung. Pastikan sambungan akan betul semasa dipasang! Pelekat di bahagian belakang LED sangat teruk, jadi jangan mempercayainya. Letakkan LED di trek tengah dan lekatkan dengan gam gorila, perhatikan arah yang ditunjukkan pada jalur. Ingatlah bahawa anda menyelubungi semuanya.
  12. Pada slat pertama, solder wayar yang cukup panjang untuk mendapatkan power + ground dari penyesuai dan isyarat dari Arduino.
  13. Skru bilah dan jambatan ke bawah. Pasang jalur arahan ke belakang (gaya velcro, 2 medium 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.

Disyorkan: