Isi kandungan:

Lampu Pesta Mudah Alih: 12 Langkah (dengan Gambar)
Lampu Pesta Mudah Alih: 12 Langkah (dengan Gambar)

Video: Lampu Pesta Mudah Alih: 12 Langkah (dengan Gambar)

Video: Lampu Pesta Mudah Alih: 12 Langkah (dengan Gambar)
Video: Asekkk😀😀😀 #shorts #pontianak #komedi 2024, November
Anonim
Image
Image
Idea
Idea

Projek Tinkercad »

Bolehkah anda membawa cahaya ke pesta dan menjadikannya lebih menyeronokkan?

Itulah persoalannya. Dan jawapannya adalah YA (tentu saja).

Instruksional ini adalah mengenai membuat peranti mudah alih yang mendengar muzik dan membuat visualisasi muzik daripada cincin sepusat LED Neopixel.

Percubaan dibuat untuk menjadikan alat itu "menari", yakni beralih ke irama musik, tetapi pengesanan rentak terbukti menjadi tugas yang lebih rumit daripada kedengarannya (tidak dimaksudkan), jadi "menari" agak canggung, tetapi masih ada.

Peranti ini berkemampuan Bluetooth dan akan bertindak balas terhadap perintah teks. Saya tidak mempunyai masa untuk menulis Aplikasi untuk mengawal Lampu Parti (baik Android atau iOS). Sekiranya anda berjaya - sila beritahu saya !!!

Sekiranya anda menyukai arahan ini, sila pilih dalam pertandingan Make It Glow!

Bekalan

Untuk membina Lampu Pesta, anda memerlukan:

  • Modul STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 untuk Arduino (pautan di sini) - otak peranti. Peranti yang agak murah ini sangat berkuasa, tidak jelas mengapa anda akan kembali ke Arduino.
  • MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (pautan di sini)
  • Modul Bluetooth HC-05 atau HC-06 (pautan di sini)
  • Mikrofon Adafruit MAX9814 (pautan di sini)
  • Motor servo standard (pautan di sini) ialah anda mahu peranti anda "menari"
  • Papan Pembangunan Pemandu LED CJMCU 61 Bit WS2812 5050 RGB (pautan di sini)
  • TTP223 Modul Kekunci Sentuh Kapasitif yang Boleh Dikendalikan Sendiri Kunci / Papan Suis Tanpa Kunci (pautan di sini)
  • Ultra Compact 5000-mah Dual USB Output Super Slim Power Bank (pautan di sini)

  • Perintang, kapasitor, wayar, gam, skru, papan prototaip, dll.

Langkah 1: Idea

Idea
Idea

Idenya adalah untuk mempunyai alat mudah alih yang dapat ditempatkan dekat dengan sumber muzik, dan yang akan membuat visualisasi muzik berwarna. Anda seharusnya dapat mengawal tingkah laku peranti melalui butang (sentuhan) dan Bluetooth.

Buat masa ini, Party Lights telah melaksanakan 7 visualisasi (beritahu saya jika anda mempunyai lebih banyak idea!):

  1. Bulatan berwarna-warni konsentrik
  2. Salib Malta
  3. Lampu berdenyut
  4. Perapian (kegemaran peribadi saya)
  5. Lampu berjalan
  6. Pokok ringan
  7. Segmen sisi

Secara lalai, peranti akan melalui visualisasi setiap minit. Walau bagaimanapun, pengguna boleh memilih untuk mengikuti satu visualisasi dan / atau mengitarinya secara manual.

Visualisasi yang memutar palet warna mereka juga dapat "beku" jika pengguna menyukai kombinasi warna tertentu.

Dan sebagai beberapa kawalan lagi, pengguna dapat mengubah kepekaan mikrofon dan mengaktifkan / mematikan mod "tarian" motor servo.

Langkah 2: Pemprosesan Skematik dan Suara

Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi
Pemprosesan Skematik dan Bunyi

Fail skema fritzing dimasukkan dalam pakej di Github dalam subfolder "fail".

Pada dasarnya, cip MSEQ7 melakukan pemprosesan audio, membahagikan isyarat audio menjadi 7 jalur: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz, dan 16kHz

Mikrokontroler menggunakan 7 jalur tersebut untuk membuat pelbagai visualisasi, pada dasarnya memetakan amplitud jalur masing-masing ke dalam intensiti cahaya LED dan kombinasi warna.

Sumber suara adalah mikrofon dengan 3 tahap kawalan kawalan. Anda boleh meninjau tetapan keuntungan menggunakan salah satu butang bergantung pada seberapa jauh / kuatnya sumber suara.

Mikrokontroler juga berusaha melakukan pengesanan "beat" pada jalur "bass" 63Hz. Saya masih mengusahakan kaedah yang boleh dipercayai untuk mengesan dan mengekalkan keselarasan rentak.

Penggunaan butang "sentuh" adalah percubaan. Saya rasa mereka berfungsi dengan baik, namun kekurangan maklum balas akhbar agak membingungkan.

Langkah 3: Roda LED

Roda LED
Roda LED
Roda LED
Roda LED
Roda LED
Roda LED

Inti visualisasi adalah roda LED 61.

Sila ambil perhatian bahawa bahagian ini disertakan sebagai cincin individu yang harus anda gabungkan. Saya lebih suka menggunakan wayar tembaga untuk saluran kuasa (yang juga menghubungkan cincin dengan baik), dan wayar isyarat nipis.

LED bernombor 0 hingga 60 bermula dari LED luar bawah dan berpusing ke arah arah jam. LED tengah adalah nombor 60.

Setiap visualisasi bergantung pada susunan data dua dimensi, yang memetakan setiap LED ke posisi tertentu untuk segmen visualisasi sasaran.

Sebagai contoh, untuk bulatan sepusat, terdapat 5 segmen:

  • Lingkaran luar, panjang LED 0 - 23, 24 LED
  • Bulatan luar kedua, panjang LED 24 - 39, 16 LED
  • Bulatan ketiga (tengah), panjang LED 40 - 51, 12 LED
  • Bulatan dalaman kedua, panjang LED 52 - 59, 8 LED
  • LED Dalam, LED 60, 1 LED panjang

Visualisasi memetakan 5 dari 7 saluran audio dan menyalakan LED secara beransur-ansur mengikut kedudukannya dalam jalur bulat berkadar dengan tahap suara dalam jalur.

Visualisasi lain menggunakan struktur dan format data yang berbeza, tetapi idenya selalu mempunyai visualisasi yang didorong oleh susunan data, tidak banyak oleh kodnya. Dengan cara ini visualisasi dapat disesuaikan dengan bentuk yang berbeza (lebih sedikit atau lebih sedikit LED, lebih banyak jalur EQ) tanpa mengubah kod, hanya nilai dalam susunan data.

Contohnya, seperti inilah struktur data visualisasi 1 dalam lakaran:

// Visualisasi 1 & 3 - byte lingkaran bulatan penuh 5 TOTAL_LAYERS1 = 5; const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};

Langkah 4: Visualisasi

Visualisasi
Visualisasi
Visualisasi
Visualisasi
Visualisasi
Visualisasi
Visualisasi
Visualisasi

Setakat ini terdapat 7 visualisasi dan animasi permulaan:

Animasi permulaan

Apabila peranti dihidupkan, tiruan bunga api ditunjukkan. Ini sepatutnya menjadi urutan ujian LED dan Servo, tetapi kemudian berkembang menjadi versi animasi ujian seperti itu

Bulatan berwarna-warni konsentrik

Lampu mengelilingi paparan dalam bulatan sepusat berkadar dengan amplitud pita eq masing-masing. Beralih secara rawak antara jam dan lawan jam dan perlahan-lahan memutar warna ke atas roda warna 256

Salib Malta

Satu jalur adalah LED tengah. Jalur lain adalah garis menegak dan mendatar LED, dan segmen selebihnya mewakili setiap jalur EQ. Semua segmen berputar warna dalam 128 ofset untuk tetap kontras.

Lampu berdenyut

Setiap bulatan menyalakan semua LED secara serentak untuk jalur eq khusus, sambil memutar warna dengan perlahan dengan sedikit ofset. Jalur EQ secara beransur-ansur beralih dari satu lingkaran ke lingkaran seterusnya menghasilkan kemajuan ke luar.

Perapian

Jalurnya separa bulatan menyala dari bawah ke atas bermula dengan merah terang dan menambah kuning dalam perjalanan meniru api yang menyala di perapian. Kadang-kadang "percikan" putih terang memancar secara rawak. Tidak ada putaran warna

Lampu berjalan

Setiap bulatan sepusat adalah jalur EQ yang berasingan. LED utama adalah yang berada pada garis menegak di bawah LED tengah. Setelah LED menyala berkadar dengan amplitud pita, ia mula "berjalan" di sekitar bulatan masing-masing secara perlahan-lahan mengurangkan intensiti. Kedua-dua putaran jam dan lawan arah jam disokong, beralih secara rawak.

Pokok ringan

Segmen-segmen itu dinyalakan dalam garis lurus dari LED bawah ke atas dan kemudian ke sisi dalam separa bulatan sepusat yang meniru pokok palma. Putaran warna.

Segmen sisi

Ini adalah versi Salib Malta sebelumnya dengan hanya 2 segmen pepenjuru yang digunakan. Seharusnya menyerupai ikon gelombang bunyi.

Langkah 5: Kawalan Butang Sentuh

Kawalan Butang Sentuh
Kawalan Butang Sentuh

Terdapat 4 butang sensitif sentuhan:

  1. Putar melalui visualisasi dan teruskan yang terkini sehingga yang lain dipilih (secara automatik kitaran visualisasi setiap 30 saat)
  2. Skema warna semasa "Bekukan" / "beku" - jika anda suka kombinasi warna tertentu, anda boleh membekukannya - putaran warna dilumpuhkan dan visualisasi akan diteruskan hanya dengan palet warna ini
  3. Laraskan kepekaan mikrofon
  4. Hidupkan / matikan "mod menari"

Dalam mod menari, peranti akan cuba mengesan "rentak" muzik yang sedang dimainkan dan memutar kepalanya mengikut rentak. Sejauh ini "menari" agak janggal daripada cantik, jujur.

Langkah 6: Beat Detection dan Servo "menari"

Beat Detection dan Servo
Beat Detection dan Servo

Peranti ini sentiasa berusaha untuk mengesan "rentak" arus semasa sebagai jarak antara puncak berturut-turut jalur 63Hz. Setelah dikesan (dan hanya jika mod tarian AKTIF), peranti akan mengaktifkan motor servo untuk memutar kiri atau kanan secara rawak mengikut rentak.

Sebarang idea bernas tentang bagaimana menjadikannya lebih dipercayai boleh diterima!

Sketsa 'Music_Test_LED' menghasilkan 7 jalur EQ dengan cara yang sesuai untuk membuat plot menggunakan Arduino IDE.

Langkah 7: Bentuk 3D

Bentuk 3D
Bentuk 3D
Bentuk 3D
Bentuk 3D
Bentuk 3D
Bentuk 3D

Keseluruhan pemasangan Party Lights dirancang dari awal menggunakan Autodesk TinkerCAD.

Reka bentuk asal terletak di sini. Folder "files / 3D" di github.com mengandungi model STL.

Reka bentuk ini menggambarkan bagaimana peranti kelihatan dipasang.

Semua komponen dicetak dan kemudian dipasang / dilekatkan bersama.

"Kubah" menghoskan mikrokontroler, papan Bluetooth, dan mikrofon. Mikrokontroler diletakkan di papan 40mm x 60 mm dan disokong oleh rel yang ditentukan.

Servo terletak di "kaki" kubah, sementara butang terletak di pangkalan.

Peti bateri dicetak khas untuk jenis bateri yang disebutkan di bahagian Bekalan. Sekiranya anda memilih untuk menggunakan bateri yang berbeza, kompartemen perlu direka semula dengan sewajarnya.

Langkah 8: Bekalan Kuasa

Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa

Output USB Dual USB Ultra-Compact 5000-mah Super Power Power nampaknya memberikan tenaga yang cukup untuk operasi berjam-jam.

Kompartemen bateri direka sedemikian rupa sehingga melepaskan dari sisa peranti dan dapat diganti dengan yang dirancang untuk jenis bateri yang berbeza.

Palam USB diletakkan dan terpaku panas di tempat untuk menyambungkan bateri semasa ia masuk.

Langkah 9: Kawalan Bluetooth

Kawalan Bluetooth
Kawalan Bluetooth

Modul HC-05 ditambahkan untuk menyediakan cara untuk mengawal peranti tanpa wayar.

Semasa dihidupkan, peranti membuat sambungan Bluetooth yang disebut "LEDDANCE", yang boleh anda pasangkan dengan telefon anda.

Sebaik-baiknya, semestinya ada Aplikasi yang membolehkan mengendalikan Lampu Pesta (memilih palet warna, mensimulasikan penekanan butang, dll.). Namun, saya belum menulisnya.

Sekiranya anda berminat membantu menulis Aplikasi Android atau iOS untuk Lampu Pesta, beritahu saya!

Untuk mengawal peranti, anda saat ini dapat menggunakan aplikasi terminal Bluetooth, dan mengirim perintah berikut:

  • LEDDBUTT - di mana simulasi '1', '2', '3', atau '4' menekan butang masing-masing. Cth: LEDDBUTT1
  • LEDDCOLRc - di mana c adalah nombor dari 0 hingga 255 - kedudukan warna yang dikehendaki pada roda warna. Peranti akan beralih ke warna LED yang ditentukan.
  • LEDDSTAT - mengembalikan nombor 3 aksara yang terdiri daripada '0 dan' 1 sahaja:

    • kedudukan pertama: '0' - warna tidak berputar, '1' - warna berputar
    • kedudukan kedua: '0' - mod menari dimatikan, '1' - mod menari dihidupkan
    • kedudukan ketiga: '0' - mikrofon berada dalam keuntungan normal, '1' - mikrofon mendapat keuntungan tinggi

Langkah 10: Kawal Aplikasi Berdasarkan Blynk

Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk
Kawal Aplikasi Berdasarkan Blynk

Blynk (blynk.io) adalah platform IoT perkakasan-agnostik. Saya menggunakan Blynk dalam Sistem Pengairan Tanaman Automatik IoT saya yang diarahkan dan terkesan dengan kemudahan dan ketahanan platform.

Blynk menyokong penyambungan ke peranti tepi melalui Bluetooth - tepat seperti yang kita perlukan untuk PartyLights.

Sekiranya belum, sila muat turun Aplikasi Blynk, daftar dan buat semula Aplikasi Blynk PartyLights menggunakan tangkapan skrin yang dilampirkan pada langkah ini. Pastikan penetapan pin maya sama seperti pada tangkapan skrin, jika tidak, butang pada aplikasi tidak akan berfungsi seperti yang diharapkan.

Fail "blynk_settings.h" mengandungi UID Blynk peribadi saya. Apabila anda membuat projek anda, ia akan diberikan yang baru untuk anda gunakan.

Muat naik lakaran PartyLightsBlynk.ino, jalankan Aplikasi. Pasangkan dengan peranti Bluetooth dan nikmati pesta.

Langkah 11: Lakaran dan Perpustakaan

Sketsa dan Perpustakaan
Sketsa dan Perpustakaan

Sketsa utama dan fail sokongan terdapat di Github.com di sini.

Perpustakaan berikut digunakan dalam sketsa Party Lights:

  • TaskScheduler - multitasking koperasi - di sini (dibangunkan oleh saya)
  • AverageFilter - penapis purata templat - di sini (dibangunkan oleh saya)
  • Servo - Servo control - adalah perpustakaan Arduino standard
  • WS2812B -NEOPixel control - hadir sebagai sebahagian daripada pakej STM32

Halaman Wiki ini menerangkan cara menggunakan papan STM32 dengan Arduino IDE.

Langkah 12: Penambahbaikan Masa Depan

Penambahbaikan Masa Depan
Penambahbaikan Masa Depan

Beberapa perkara dapat diperbaiki dalam reka bentuk ini, yang mungkin anda pertimbangkan jika anda memulakan projek ini:

  • Gunakan ESP32 dan bukannya papan Maple Mini. ESP32 mempunyai 2 CPU, stack Bluetooth dan WiFi, dan dapat berjalan pada 60MHz, 120MHz dan bahkan 240MHz.
  • Reka bentuk yang lebih kecil - peranti yang dihasilkan adalah besar. Mungkin lebih padat (terutamanya jika anda membuang idea menari dan servo yang berkaitan)
  • Pengesanan rentak dapat ditingkatkan jauh. Apa yang datang secara semula jadi bagi kita manusia, nampaknya menjadi tugas yang sukar bagi komputer
  • Lebih banyak visualisasi dapat dirancang dan dilaksanakan.
  • Dan, tentu saja, Aplikasi boleh ditulis untuk mengawal peranti tanpa wayar dengan UI yang hebat.

Disyorkan: