Isi kandungan:

Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik: 7 Langkah (dengan Gambar)
Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik: 7 Langkah (dengan Gambar)

Video: Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik: 7 Langkah (dengan Gambar)

Video: Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik: 7 Langkah (dengan Gambar)
Video: Seniman Tari Tradisional Indonesia - GWSM [ Cinematic Video ] 2024, Julai
Anonim
Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik
Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik

Tutorial ini telah dihasilkan sebagai sebahagian daripada projek tahun akhir saya untuk ijazah saya dalam Teknologi Muzik dan Elektronik Gunaan di University of York. Ia ditujukan kepada pemuzik yang berminat dengan elektronik. Produk siap akan menjadi matriks LED di bahagian belakang jaket yang dapat menghasilkan pertunjukan cahaya sesuai dengan muzik. Ini akan dilakukan dengan menganalisis input audio menggunakan Pure Data dan Arduino. Jaket akan mempunyai dua tetapan yang dapat dikendalikan oleh suis. Satu tetapan akan mengawal LED mengikut amplitud muzik dan yang lain akan mempunyai LED berkelip satu demi satu dan menukar warna mengikut nada.

Bagaimana Ia Akan Berfungsi

Peranti ini akan terdiri daripada dua litar yang berasingan. Satu akan berpusat di sekitar Arduino Mega yang dihubungkan terus ke komputer. Litar lain akan berpusat di sekitar LilyPad Arduino dan akan terkandung sepenuhnya dalam jaket dan dikuasakan melalui bateri 9V. Kedua-dua litar ini akan berkomunikasi antara satu sama lain secara wayarles menggunakan modul XBee. Isyarat audio akan diterima oleh mikrofon bawaan komputer dan dianalisis dalam Data Murni untuk mendapatkan data amplitud dan frekuensi. Maklumat ini akan dipindahkan ke Arduino Mega menggunakan rangkaian input MIDI dan ini kemudian akan dihantar ke LilyPad menggunakan XBees. LilyPad kemudian akan menentukan bagaimana LED pada jaket akan bertindak balas.

Apa yang Anda Perlu

Untuk Litar Mega

  • Arduino Mega 2560
  • XBee Explorer Dikawal Selia
  • Antena Jejak XBee 1mW - Siri 1
  • Prototaip Perisai untuk Mega
  • USB Jenis A hingga B
  • Kabel USB ke MIDI
  • Soket MIDI
  • 1 x 220Ω Perintang
  • Perintang 1 x 270Ω
  • 1 x 1N4148 Diod
  • 1 x 6N138 Optocoupler

Untuk Litar LilyPad

  • Papan Utama LilyPad Arduino 328
  • LilyPad XBee Breakout Board
  • Antena Jejak XBee 1mW - Siri 1
  • LilyPad FTDI Basic Breakout Board
  • 72 x LilyPad LED (pelbagai warna yang tersedia termasuk putih, biru, merah, kuning, hijau, merah jambu, dan ungu)
  • Suis Slaid LilyPad
  • Kabel USB 2.0 A-Male hingga Mini-B
  • Bateri 9V
  • Klip Bateri 9V

Yang lain

  • Jaket
  • Komputer dengan Pure Data dan Arduino IDE dipasang
  • Kawat Peralatan
  • Peralatan Pematerian
  • Pemotong Kawat
  • Pelucut Kawat
  • Jarum dengan mata besar
  • Benang
  • Benang Konduktif
  • Gunting
  • Pita pengukur
  • Lem Kain atau Varnish Kuku Jernih
  • Kapur atau Eyeliner Putih
  • Kain untuk lapisan atau t-shirt lama
  • Velcro
  • Bor (mungkin)
  • LED standard (untuk ujian)
  • Papan roti (untuk ujian)
  • Perintang 220Ω yang lain (untuk ujian)
  • Multimeter (untuk ujian)

Kos projek ini sangat bergantung kepada berapa banyak peralatan di atas yang sudah anda miliki. Walau bagaimanapun, ia mungkin antara £ 150 - £ 200.

Catatan ringkas - papan LilyPad direka untuk dijahit terus ke tekstil dan dengan itu menyisipkan klip bateri 9V ke salah satu boleh menyebabkan masalah. Sambungannya boleh menjadi halus dan mudah putus. Anda boleh mendapatkan papan LilyPad yang direka khas untuk bateri AAA atau LiPo yang mungkin anda memutuskan untuk memilihnya. Walau bagaimanapun, saya masih memilih untuk menggunakan laluan 9V kerana jangka hayat bateri mereka lebih besar daripada AAA dan Universiti saya mempunyai sekatan penggunaan bateri LiPo.

Langkah 1: Membuat Litar Input MIDI

Membuat Litar Input MIDI
Membuat Litar Input MIDI
Membuat Litar Input MIDI
Membuat Litar Input MIDI
Membuat Litar Input MIDI
Membuat Litar Input MIDI

Pertama sekali, mari kita pertimbangkan litar Input MIDI. Ini perlu dibina di papan prototaip yang akan masuk ke Arduino Mega. Ini akan digunakan untuk mengirim mesej MIDI dari patch Data Murni ke Mega melalui pin ‘KOMUNIKASI RX0’. Lihat di atas untuk gambarajah litar dan foto. Bergantung pada papan prototaip anda, susun atur anda mungkin sedikit berbeza tetapi saya memilih untuk meletakkan soket MIDI di sudut kiri bawah. Bor mungkin perlu digunakan di sini untuk membuat lubang pada perisai lebih besar agar sesuai dengan soket. Kabel merah dalam foto disambungkan ke 5V, coklat disambungkan ke tanah, wayar hitam disambungkan ke pin 3 pada 6N138, wayar biru disambungkan ke pin 2 pada 6N138 dan wayar kuning disambungkan ke RX0 sematkan. Ruang ditinggalkan di sebelah kanan papan prototaip untuk memberi ruang kepada XBee kemudian. Kerosakan mungkin perlu dibuat di trek di papan. Untuk contoh ini, mereka mesti dibuat di antara pin pada 6N138.

Menguji Litar Input MIDI

Untuk menguji litar, muat naik kod di bawah ke Arduino Mega menggunakan kabel USB Type A to B. Pastikan perisai tidak dimasukkan semasa anda melakukan ini kerana kodnya tidak dapat dimuat naik jika ada yang disambungkan ke pin RX atau TX. Juga, kod tersebut merangkumi perpustakaan MIDI.h yang mungkin anda perlu muat turun, tersedia di pautan di bawah.

MIDI.h

Seterusnya, masukkan perisai ke mega dan sambungkan ke port USB lain di komputer anda melalui kabel MIDI ke USB. Hujung MIDI yang perlu anda gunakan akan dilabel 'out'. Buat litar sederhana pada papan roti yang menghubungkan pin 2 ke perintang 220Ω dan kemudian sambungkannya ke anod LED standard. Sambungkan katod LED ke tanah.

Kemudian, buat patch Data Murni sederhana dengan mesej [60 100] dan mesej [0 0] kedua-duanya disambungkan ke objek nota melalui saluran masuk kirinya. Pastikan patch ini disambungkan ke litar Input MIDI dengan membuka tetapan MIDI dan menukar peranti output. Sekiranya ini tidak tersedia, pastikan anda menyambungkan litar MIDI ke komputer sebelum anda membuka Data Murni. Sekarang, jika litar anda betul, LED akan menyala ketika mesej [60 100] ditekan dan ia harus mati ketika mesej [0 0] ditekan.

Langkah 2: Merancang Matriks LED

Merancang Matrik LED
Merancang Matrik LED
Merancang Matrik LED
Merancang Matrik LED
Merancang Matrik LED
Merancang Matrik LED

Seterusnya, matriks LED untuk bahagian belakang jaket perlu dipertimbangkan. Ini akan dihubungkan terus ke papan utama LilyPad. Pada kebiasaannya, untuk mengawal LED menggunakan mikrokontroler, masing-masing akan diberikan pada pin masing-masing. Walau bagaimanapun, dengan hanya satu Arduino LilyPad ini akan menjadi sangat terhad. Secara keseluruhan, LilyPad mempunyai 12 pin digital dan 6 analog, sehingga berpotensi 18 pin output. Namun, kerana salah satu pin ini akan digunakan kemudian untuk mengawal suis slaid, ini hanya akan tinggal 17 baki.

Teknik boleh digunakan dalam situasi ini yang disebut multiplexing untuk memaksimumkan potensi pin kawalan LilyPad. Ini memanfaatkan dua fakta:

  • LED adalah diod dan hanya membenarkan arus mengalir dalam satu arah.
  • Mata dan otak manusia memproses gambar jauh lebih perlahan daripada cahaya yang dapat bergerak sehingga jika LED berkelip cukup cepat, kita tidak akan perasan. Ini adalah konsep yang dikenali sebagai "Persistence of Vision".

Dengan menggunakan teknik ini bilangan LED yang dapat dikendalikan adalah (n / 2) x (n- (n / 2)) di mana n adalah bilangan pin kawalan yang tersedia. Oleh itu, dengan 17 pin tersedia, kawalan 72 LED dalam matriks 9x8 adalah mungkin.

Gambar rajah untuk susun atur LED dalam matriks 9x8 dapat dilihat di atas, termasuk cadangan untuk pin yang harus dihubungkan oleh setiap baris dan lajur. Penting untuk diperhatikan bahawa baris dan lajur tidak boleh menyentuh. Juga, tidak diperlukan perintang kerana kenyataan bahawa setiap LED mempunyai binaan tersendiri dengan rintangan 100Ω.

Sebelum mula menjahit, anda harus merancang susunan litar pada jaket. Tempat yang baik untuk bermula di sini adalah dengan menandakan jaket di mana LED akan menggunakan titik kecil, menggunakan ukuran pita untuk memastikan bahawa jaraknya sama rata. Untuk jaket kulit hitam, eyeliner putih berfungsi dengan baik dan boleh dilap dengan mudah sekiranya terdapat kesilapan. Walau bagaimanapun, medium lain seperti kapur juga berfungsi bergantung pada bahan dan warna jaket anda. Susunan warna LED yang saya gunakan dapat dilihat di atas yang akan berfungsi dengan kod yang disediakan kemudian. Anda boleh menggunakan susun atur yang berbeza walaupun ini perlu diubah dalam kodnya.

Perkara seterusnya yang perlu difikirkan ialah ke mana LilyPad, LilyPad XBee dan bekalan kuasa akan pergi. Untuk jaket yang saya pakai, tempat yang paling masuk akal dan bijaksana nampaknya berada di bahagian belakang jaket, di bahagian bawah dan di lapisan dalam. Ini kerana tidak mungkin dipukul oleh lengan pemakai di sini dan ia dapat mengakses matriks LED dengan mudah. Juga, kerana jaket yang saya pakai longgar di bahagian bawah, ia tetap selesa.

Langkah 3: Menjahit Matriks LED

Menjahit Matriks LED
Menjahit Matriks LED
Menjahit Matriks LED
Menjahit Matriks LED
Menjahit Matriks LED
Menjahit Matriks LED

Pada ketika ini anda boleh mula menjahit. Benang konduktif boleh menjadi sukar untuk digunakan, berikut adalah beberapa petua berguna:

  • Melekatkan komponen ke tempatnya menggunakan gam kain akan menjadikannya lebih mudah dijahit.
  • Jenis jahitan yang berlainan akan mempunyai sifat estetik dan fungsional yang berbeza jadi perlu dipertimbangkan sebelum anda memulakannya. Bagaimanapun, jahitan asas berjalan baik untuk projek ini.
  • Simpul cenderung terlepas dengan mudah dengan benang konduktif kerana "springier" daripada biasa. Penyelesaiannya adalah dengan menggunakan sedikit cat varnis kuku atau gam kain untuk menutupnya. Biarkan mereka kering sebelum memotong ekornya.
  • Semasa membuat sambungan ke komponen litar atau menyatukan dua baris benang konduktif, adalah idea yang baik untuk menjahit beberapa kali ini untuk memastikan bahawa sambungan mekanikal dan elektrikal yang baik telah dibuat.
  • Pastikan jarum anda tajam dan mempunyai mata yang besar. Melewati jaket boleh menjadi sukar dan benang konduktif lebih tebal daripada biasa.
  • Berhati-hati dengan rambut yang longgar pada benang. Ini boleh membuat seluar pendek di litar jika mereka menyentuh jahitan lain. Sekiranya ini menjadi masalah utama, semua garisan boleh ditutup dengan cat kuku atau gam kain yang jelas setelah ujian dilakukan dan semuanya pasti berfungsi dengan betul.

Tempat yang baik untuk memulakan menjahit adalah dengan barisan. Untuk menjadikannya selurus mungkin, anda boleh melukis garis samar untuk dijahit menggunakan pembaris. Setelah anda menjahitnya, pindahkan ke lajur. Perhatian yang baik perlu dilakukan setiap kali berturut-turut kerana penting agar kedua-duanya tidak menyeberang. Ini dapat dicapai dengan membuat jahitan untuk tiang di bahagian dalam jaket untuk persimpangan ini, seperti yang terlihat pada foto di atas. Apabila anda menyelesaikan semua baris dan lajur, multimeter boleh digunakan untuk memeriksa bahawa tidak ada seluar pendek.

Setelah berpuas hati mulailah menjahit LED untuk tiang di paling kanan jaket. Pastikan setiap anod dilekatkan pada barisnya sendiri dan setiap katod dilekatkan pada lajur di sebelah kiri. Kemudian, letakkan LilyPad Arduino di tempat menggunakan gam kain di tempat yang hampir di bawah lajur ini, pastikan bahawa pin untuk papan pelindung FTDI menghadap ke bawah. Jahit pin 11 dari LilyPad ke baris 1, pin 12 hingga baris 2 dan seterusnya sehingga pin A5 dijahit ke baris 9. Kemudian, jahit pin 10 ke lajur paling kanan. Untuk menguji ruangan pertama ini, anda boleh menggunakan kod di bawah. Muat naik kod dan hidupkan LilyPad dengan menyambungkannya ke komputer anda menggunakan papan pemecah FTDI dan kabel USB 2.0 A-Male ke Mini-B.

Sekiranya port yang betul tidak tersedia semasa anda memasang LilyPad, anda mungkin perlu memasang pemacu FTDI yang tersedia dari pautan di bawah.

Pemasangan Pemandu FTDI

Sebaik sahaja anda menyalakan tiang pertama LED ini, inilah masanya untuk menjahit selebihnya ke jaket. Ini adalah proses yang memakan masa dan mungkin yang terbaik adalah dijelaskan dalam beberapa hari. Pastikan untuk menguji setiap lajur semasa anda mengikuti. Anda boleh melakukan ini dengan menyesuaikan kod di atas sehingga pin untuk lajur yang ingin anda uji dinyatakan sebagai output dalam penyediaan dan kemudian ditetapkan LOW dalam gelung. Pastikan pin lajur lain ditetapkan TINGGI kerana ini akan memastikan ia dimatikan.

Langkah 4: Menambah Suis

Menambah Suis
Menambah Suis

Seterusnya, anda boleh menambahkan suis yang akan digunakan untuk mengubah tetapan pada jaket. Ia perlu dijahit ke bahagian dalam jaket di bawah papan LilyPad Arduino. Dengan menggunakan benang konduktif, hujung berlabel "off" harus dihubungkan ke tanah dan ujung berlabel "on" harus dihubungkan ke pin 2.

Anda boleh menguji suis menggunakan kod di bawah. Ini sangat mudah dan menyalakan LED sebelah kanan bawah jika suis terbuka dan mematikannya jika suis ditutup.

Langkah 5: Membuat Peranti Tanpa Wayar

Menjadikan Peranti Tanpa Wayar
Menjadikan Peranti Tanpa Wayar
Menjadikan Peranti Tanpa Wayar
Menjadikan Peranti Tanpa Wayar
Menjadikan Peranti Tanpa Wayar
Menjadikan Peranti Tanpa Wayar

Menyiapkan LilyPad XBee dan XBee Explorer

Sediakan LilyPad XBee untuk konfigurasi dengan menyolder pada Header Lelaki sudut kanan 6-pin. Ini kemudian membolehkannya disambungkan ke komputer melalui papan LilyPad FTDI Basic Breakout dan kabel USB Mini. Juga, pasangkan klip bateri 9V ke LilyPad XBee dengan wayar merah menuju ke pin "+" dan wayar hitam menuju pin "-".

Sambungkan papan Explorer ke perisai prototaip untuk Arduino Mega. 5V dan Ground pada papan Explorer perlu disambungkan ke 5V dan Ground di Mega, pin output pada Explorer perlu menyambung ke RX1 pada Mega dan input pada Explorer perlu disambungkan ke TX1 pada Mega.

Mengkonfigurasi XBees

Seterusnya XBees perlu dikonfigurasikan. Pertama sekali, anda perlu memasang perisian CoolTerm secara percuma yang terdapat dari pautan di bawah.

Perisian CoolTerm

Pastikan untuk membezakan antara kedua XBees dengan beberapa cara kerana penting agar anda tidak mencampuradukkannya.

Pertama, konfigurasikan XBee untuk komputer. Masukkannya ke papan LilyPad XBee Breakout dan sambungkannya ke komputer menggunakan papan pemecah asas FTDI dan kabel USB Mini. Buka CoolTerm dan dalam Pilihan, pilih port bersiri yang betul. Sekiranya anda tidak dapat melihatnya, cuba tekan 'Re-Scan Serial Ports'. Kemudian, pastikan kadar baud ditetapkan ke 9600, hidupkan Local Echo dan tetapkan Key Emulation ke CR. CoolTerm kini boleh disambungkan ke XBee.

Ketik "+++" ke tetingkap utama untuk memasukkan XBee ke mod perintah. Jangan tekan kembali. Ini akan membolehkannya dikonfigurasi menggunakan perintah AT. Sekiranya ini berjaya, setelah jeda yang sangat pendek harus ada respons mesej "OK". Sekiranya terdapat kelewatan lebih dari 30 saat sebelum baris berikutnya, mod arahan akan keluar dan ini perlu diulang. Banyak arahan AT perlu dimasukkan untuk menetapkan PAN ID, MY ID, Destination ID dan untuk menyimpan perubahan. Return mesti dipukul setelah setiap arahan ini dan ini dapat dilihat pada jadual di atas. Setelah ini selesai untuk komputer XBee, ia perlu diputuskan dan proses yang sama harus dilakukan untuk jaket XBee.

Anda boleh menyemak tetapan XBee baru dengan menaip setiap arahan AT tanpa nilai pada akhir. Contohnya, jika anda mengetik "ATID" dan tekan kembali, "1234" harus diucapkan kembali.

Menguji XBees

Pada ketika ini, jahit LilyPad XBee ke jaket di sebelah LilyPad Arduino. Sambungan berikut perlu dibuat dengan benang konduktif:

  • 3.3V di LilyPad XBee hingga '+' di LilyPad
  • Tanah di LilyPad XBee ke Tanah di LilyPad
  • RX di LilyPad XBee ke TX di LilyPad
  • TX di LilyPad XBee ke RX di LilyPad

Kini peranti dapat diuji untuk memastikan bahawa XBees berfungsi dengan betul. Kod di bawah yang disebut 'Wireless_Test_Mega' perlu dimuat naik ke Arduino Mega dan tujuan utamanya adalah untuk menerima mesej MIDI dari patch Data Murni yang dibuat sebelumnya, dan menghantar nilai yang berbeza melalui XBee. Sekiranya nota MIDI dengan nada 60 diterima, mesej 'a' akan dihantar. Sebagai alternatif, jika mesej nota diterima, ‘b’ akan dihantar.

Di samping itu, kod di bawah yang disebut 'Wireless_Test_LilyPad' perlu dimuat naik ke LilyPad. Ini menerima mesej dari Mega melalui XBees dan mengawal LED kanan bawah dengan sewajarnya. Sekiranya mesej ‘a’ diterima, yang bermaksud bahawa nota MIDI dengan nada 60 telah diterima oleh Mega, LED akan menyala. Sebaliknya, jika ‘a’ tidak diterima, LED akan mati.

Setelah kod telah dimuat ke kedua papan, pastikan perisai telah dimasukkan kembali ke dalam Mega dan ia disambungkan ke komputer melalui kedua-dua kabel. Masukkan XBee komputer ke papan Explorer. Kemudian, pastikan papan FTDI Breakout terputus dari jaket dan masukkan jaket XBee ke dalam LilyPad XBee. Sambungkan bateri 9V dan cuba tekan pelbagai mesej dalam Data Tulen. LED kanan bawah pada jaket harus dihidupkan dan dimatikan.

Langkah 6: Sentuhan Akhir

Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir

Kod dan Patch Data Tulen

Apabila anda gembira bahawa jaket berfungsi tanpa wayar, muat naik lakaran 'MegaCode' di bawah ke Arduino Mega dan lakaran 'LilyPadCode' ke LilyPad. Buka patch Data Murni memastikan bahawa DSP dihidupkan dan input audio diatur ke mikrofon bawaan komputer anda. Cuba mainkan muzik dan alihkan suis. Anda mungkin perlu menyesuaikan ambang dalam Data Murni sedikit bergantung pada seberapa banyak atau sedikit LED bertindak balas terhadap audio.

Menambah Lapisan Baru

Akhirnya, untuk menjadikan jaket lebih cantik dan selesa dipakai, lapisan lain boleh ditambahkan ke bahagian dalam jaket untuk menutup jahitan dan komponennya. Ini harus dilakukan dengan menggunakan velcro untuk membolehkan akses mudah ke litar sekiranya ada perubahan yang perlu dilakukan.

Pertama sekali, jahit jalur 'gelung' (bahagian yang lebih lembut) ke jaket di bahagian dalam, di sepanjang bahagian atas dan bawah kedua-dua belah pihak. Adalah idea yang baik untuk membiarkan bahagian bawah bebas kerana ini akan membolehkan udara masuk ke komponen. Kemudian, potong sehelai kain dengan ukuran yang sama dan jahit pada helai 'hook' velcro ini, di sepanjang bahagian atas dan bawah kedua sisi. Juga, di sisi yang sama dengan velcro dan di lokasi yang paling mudah, jahit pada poket yang boleh digunakan oleh bateri. Lihat gambar di atas untuk contoh.

Langkah 7: Anda Selesai

Jaket Pertunjukan Cahaya tanpa wayar anda kini harus lengkap dan berjaya bertindak balas terhadap audio! Satu tetapan harus menghasilkan kesan seperti bar amplitudo dan yang lain harus mempunyai LED individu yang berkelip ke muzik dengan warnanya bergantung pada nada. Lihat di atas untuk contoh video. Sekiranya anda tertanya-tanya, warna dan nada terkait melalui Pesanan Rosikrucian yang berdasarkan intonasi saja. Saya harap anda menikmati projek ini!

Disyorkan: