Daftar Isi:

Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik: 7 Langkah (dengan Gambar)
Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik: 7 Langkah (dengan Gambar)

Video: Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik: 7 Langkah (dengan Gambar)

Video: Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik: 7 Langkah (dengan Gambar)
Video: Ngeri! Bedanya tentara luar negeri dan tentara indonesia ketika latihan 2024, November
Anonim
Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik
Jaket Pertunjukan Ringan yang Bereaksi terhadap Musik

Tutorial ini telah dibuat sebagai bagian dari proyek tahun terakhir saya untuk gelar saya di bidang Teknologi Musik dan Elektronika Terapan di University of York. Ini ditujukan untuk musisi dengan minat dalam elektronik. Produk jadi berupa matriks LED di bagian belakang jaket yang dapat menghasilkan pertunjukan cahaya sesuai alunan musik. Ini akan dilakukan dengan menganalisis input audio menggunakan Data Murni dan Arduino. Jaket akan memiliki dua pengaturan yang dapat dikontrol oleh sakelar. Satu pengaturan akan mengontrol LED sesuai dengan amplitudo musik dan yang lainnya akan membuat LED berkedip satu per satu dan berubah warna sesuai nada.

Bagaimana Ini Akan Bekerja

Perangkat ini akan terdiri dari dua sirkuit terpisah. Satu akan berbasis di sekitar Arduino Mega yang terhubung langsung ke komputer. Sirkuit lainnya akan berbasis di sekitar LilyPad Arduino dan akan sepenuhnya dimasukkan ke dalam jaket dan ditenagai melalui baterai 9V. Kedua sirkuit ini akan berkomunikasi satu sama lain secara nirkabel menggunakan modul XBee. Sinyal audio akan diterima oleh mikrofon inbuilt komputer dan dianalisis dalam Data Murni untuk mendapatkan data amplitudo dan frekuensi. Informasi ini akan ditransfer ke Arduino Mega menggunakan rangkaian input MIDI dan ini kemudian akan ditransmisikan ke LilyPad menggunakan XBees. LilyPad kemudian akan menentukan bagaimana LED pada jaket akan bereaksi.

Apa yang Anda Butuhkan

Untuk Sirkuit Mega

  • Arduino Mega 2560
  • XBee Explorer Diatur
  • Antena Pelacakan XBee 1mW - Seri 1
  • Perisai Prototipe untuk Mega
  • USB Tipe A ke B
  • Kabel USB ke MIDI
  • Soket MIDI
  • 1x220Ω Resistor
  • 1x270Ω Resistor
  • 1x1N4148 Dioda
  • 1 x 6N138 Optocoupler

Untuk Sirkuit LilyPad

  • Papan Utama LilyPad Arduino 328
  • Papan Breakout LilyPad XBee
  • Antena Pelacakan XBee 1mW - Seri 1
  • Papan Breakout Dasar FTDI LilyPad
  • 72 x LilyPad LED (berbagai warna tersedia termasuk putih, biru, merah, kuning, hijau, pink, dan ungu)
  • Sakelar Geser LilyPad
  • Kabel USB 2.0 A-Male ke Mini-B
  • Baterai 9V
  • Klip Baterai 9V

Lainnya

  • Jaket
  • Komputer dengan Data Murni dan Arduino IDE terpasang
  • Kawat Peralatan
  • Peralatan Solder
  • Pemotong Kawat
  • Penari telanjang kawat
  • Jarum dengan mata besar
  • Benang
  • Benang Konduktif
  • Gunting
  • Pita pengukur
  • Lem Kain atau Cat Kuku Bening
  • Kapur atau Eyeliner Putih
  • Kain untuk lapisan atau t-shirt lama
  • Velcro
  • Bor (mungkin)
  • LED standar (untuk pengujian)
  • Papan tempat memotong roti (untuk pengujian)
  • Resistor 220Ω lainnya (untuk pengujian)
  • Multimeter (untuk pengujian)

Biaya proyek ini akan sangat tergantung pada seberapa banyak peralatan di atas yang sudah Anda miliki. Namun, kemungkinan berada di antara £150 - £200.

Catatan singkat - papan LilyPad dirancang untuk dijahit langsung ke tekstil dan oleh karena itu menyolder klip baterai 9V ke salah satu dapat menyebabkan masalah. Sambungannya bisa halus dan mudah putus. Anda bisa mendapatkan papan LilyPad yang dirancang khusus untuk baterai AAA atau LiPo yang mungkin Anda pilih untuk digunakan. Namun, saya masih memilih untuk menempuh rute 9V karena masa pakai baterainya lebih besar daripada AAA dan Universitas saya memiliki batasan penggunaan baterai LiPo.

Langkah 1: Membuat Sirkuit Input MIDI

Membuat Sirkuit Input MIDI
Membuat Sirkuit Input MIDI
Membuat Sirkuit Input MIDI
Membuat Sirkuit Input MIDI
Membuat Sirkuit Input MIDI
Membuat Sirkuit Input MIDI

Pertama-tama, mari kita pertimbangkan rangkaian Input MIDI. Ini perlu dibangun di papan prototyping yang akan dimasukkan ke Arduino Mega. Ini akan digunakan untuk mengirim pesan MIDI dari patch Data Murni ke Mega melalui pin 'COMMUNICATION RX0'. Lihat di atas untuk diagram sirkuit dan foto. Tergantung pada papan prototyping Anda, tata letak Anda mungkin sedikit berbeda tetapi saya memilih untuk menempatkan soket MIDI di sudut kiri bawah. Bor mungkin perlu digunakan di sini untuk membuat lubang pada pelindung lebih besar agar pas dengan soket. Kabel merah di foto terhubung ke 5V, kabel coklat terhubung ke ground, kabel hitam terhubung ke pin 3 pada 6N138, kabel biru terhubung ke pin 2 pada 6N138 dan kabel kuning terhubung ke RX0 pin. Ruang tersisa di sisi kanan papan prototyping untuk memberi ruang bagi XBee nanti. Istirahat mungkin perlu dilakukan di trek di papan tulis. Untuk contoh ini, mereka harus dibuat di antara pin pada 6N138.

Menguji Sirkuit Input MIDI

Untuk menguji rangkaian, unggah kode di bawah ini ke Arduino Mega menggunakan kabel USB Tipe A ke B. Pastikan pelindung tidak dimasukkan saat Anda melakukan ini karena kode tidak dapat diunggah jika ada yang terhubung ke pin RX atau TX. Juga, kode tersebut menyertakan perpustakaan MIDI.h yang mungkin perlu Anda unduh, tersedia di tautan di bawah ini.

MIDI.h

Selanjutnya, masukkan pelindung ke mega dan sambungkan ke port USB lain di komputer Anda melalui kabel MIDI ke USB. Ujung MIDI yang perlu Anda gunakan akan diberi label 'keluar'. Buat rangkaian sederhana pada papan tempat memotong roti yang menghubungkan pin 2 ke resistor 220Ω dan kemudian menghubungkannya ke anoda LED standar. Hubungkan katoda LED ke ground.

Kemudian, buat tambalan Data Murni sederhana dengan pesan [60 100] dan pesan [0 0] keduanya terhubung ke objek catatan melalui saluran masuk kirinya. Pastikan patch ini terhubung ke sirkuit Input MIDI dengan membuka pengaturan MIDI dan mengubah perangkat output. Jika ini tidak tersedia, pastikan Anda menghubungkan sirkuit MIDI ke komputer Anda sebelum Anda membuka Data Murni. Sekarang, jika sirkuit Anda benar, LED akan menyala ketika pesan [60 100] ditekan dan akan mati ketika pesan [0 0] ditekan.

Langkah 2: Merancang Matriks LED

Merancang Matriks LED
Merancang Matriks LED
Merancang Matriks LED
Merancang Matriks LED
Merancang Matriks LED
Merancang Matriks LED

Selanjutnya, matriks LED untuk bagian belakang jaket perlu dipertimbangkan. Ini akan langsung terhubung ke papan utama LilyPad. Biasanya, untuk mengontrol LED menggunakan mikrokontroler, masing-masing akan ditetapkan ke pin masing-masing. Namun, dengan hanya satu Arduino LilyPad ini akan sangat membatasi. Secara total, LilyPad memiliki 12 pin digital dan 6 analog, sehingga berpotensi 18 pin output. Namun, karena salah satu pin ini akan digunakan nanti untuk mengontrol sakelar geser, ini hanya menyisakan 17 pin.

Teknik dapat digunakan dalam situasi ini yang disebut multiplexing untuk memaksimalkan potensi pin kontrol LilyPad. Ini mengambil keuntungan dari dua fakta:

  • LED adalah dioda dan hanya memungkinkan arus mengalir dalam satu arah.
  • Mata dan otak manusia memproses gambar jauh lebih lambat daripada cahaya yang dapat merambat sehingga jika LED berkedip cukup cepat, kita tidak akan menyadarinya. Ini adalah konsep yang dikenal sebagai "Kegigihan Visi".

Dengan menggunakan teknik ini jumlah LED yang dapat dikontrol adalah (n/2) x (n-(n/2)) dimana n adalah jumlah pin kontrol yang tersedia. Oleh karena itu, dengan 17 pin yang tersedia, seharusnya memungkinkan untuk mengontrol 72 LED dalam matriks 9x8.

Diagram tata letak LED dalam matriks 9x8 dapat dilihat di atas, termasuk saran untuk pin yang harus dihubungkan ke setiap baris dan kolom. Penting untuk dicatat bahwa baris dan kolom tidak boleh bersentuhan. Juga, tidak ada resistor yang diperlukan karena fakta bahwa setiap LED memiliki built-in sendiri dengan resistansi 100Ω.

Sebelum Anda mulai menjahit, Anda harus merencanakan tata letak sirkuit pada jaket. Tempat yang baik untuk memulai di sini adalah dengan menandai pada jaket di mana LED akan pergi dengan titik-titik kecil, menggunakan pita pengukur untuk memastikan jaraknya merata. Untuk jaket kulit hitam, eyeliner putih bekerja sangat baik dan dapat dengan mudah dihapus jika terjadi kesalahan. Namun, media lain seperti kapur juga dapat digunakan tergantung pada bahan dan warna jaket Anda. Susunan warna LED yang saya gunakan bisa dilihat di atas yang akan bekerja dengan kode yang diberikan nanti. Anda dipersilakan untuk menggunakan tata letak yang berbeda meskipun ini perlu diubah dalam kode.

Hal berikutnya yang harus dipikirkan adalah kemana LilyPad, LilyPad XBee dan catu daya akan pergi. Untuk jaket yang saya gunakan, tempat yang paling masuk akal dan bijaksana tampaknya berada di bagian belakang jaket, di bagian bawah dan di lapisan dalam. Ini karena lengan pemakainya tidak mungkin terbentur di sini dan ia dapat dengan mudah mengakses matriks LED. Selain itu, karena jaket yang saya gunakan longgar di bagian bawah, tetap nyaman.

Langkah 3: Menjahit Matriks LED

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

Pada titik ini Anda bisa mulai menjahit. Benang konduktif bisa jadi sulit untuk dikerjakan, jadi berikut adalah beberapa tip berguna:

  • Merekatkan komponen ke tempatnya menggunakan lem kain akan membuatnya lebih mudah untuk dijahit.
  • Jenis jahitan yang berbeda akan memiliki sifat estetika dan fungsional yang berbeda sehingga ada baiknya untuk melihat ini sebelum Anda memulai. Jahitan lari dasar, bagaimanapun, harus baik-baik saja untuk proyek ini.
  • Simpul cenderung mudah lepas dengan benang konduktif karena "lebih kenyal" dari biasanya. Solusi untuk ini adalah menggunakan sedikit cat kuku bening atau lem kain untuk menyegelnya. Beri mereka waktu untuk mengering sebelum memotong ekornya.
  • Saat membuat sambungan ke komponen rangkaian atau menyambungkan dua baris ulir konduktif, adalah ide yang baik untuk menjahitnya beberapa kali untuk memastikan sambungan mekanis dan listrik yang baik telah dibuat.
  • Pastikan jarum Anda tajam dan memiliki mata yang besar. Menembus jaket bisa jadi sulit dan benang konduktif lebih tebal dari biasanya.
  • Hati-hati dengan rambut lepas pada benang. Ini dapat membuat celana pendek di sirkuit jika kebetulan menyentuh garis jahit lainnya. Jika ini menjadi masalah besar, semua garis dapat ditutup dengan cat kuku bening atau lem kain setelah pengujian dilakukan dan semuanya pasti bekerja dengan benar.

Tempat yang baik untuk mulai menjahit adalah dengan barisan. Untuk membuatnya selurus mungkin, Anda bisa menggambar garis samar untuk dijahit menggunakan penggaris. Setelah Anda menjahitnya, pindah ke kolom. Perhatian besar perlu dilakukan setiap kali baris tercapai karena penting agar keduanya tidak bersilangan. Ini dapat dicapai dengan membuat jahitan untuk kolom di bagian dalam jaket untuk sambungan ini, seperti yang terlihat pada foto di atas. Ketika Anda telah menyelesaikan semua baris dan kolom, multimeter dapat digunakan untuk memeriksa bahwa tidak ada celana pendek.

Setelah Anda puas, mulailah menjahit LED untuk kolom di paling kanan jaket. Pastikan bahwa setiap anoda terpasang pada barisnya sendiri dan setiap katoda terpasang pada kolom di sebelah kiri. Kemudian, letakkan LilyPad Arduino di tempatnya menggunakan lem kain di suatu tempat kira-kira di bawah kolom ini, pastikan pin untuk papan breakout FTDI menghadap ke bawah. Jahit pin 11 LilyPad ke baris 1, pin 12 ke baris 2 dan seterusnya sampai pin A5 dijahit ke baris 9. Kemudian, jahit pin 10 ke kolom paling kanan. Untuk menguji kolom pertama ini Anda dapat menggunakan kode di bawah ini. Unggah kode dan nyalakan LilyPad dengan menghubungkannya ke komputer Anda menggunakan papan breakout FTDI dan kabel USB 2.0 A-Male ke Mini-B.

Jika port yang benar tidak tersedia saat Anda mencolokkan LilyPad, Anda mungkin perlu menginstal driver FTDI yang tersedia dari tautan di bawah ini.

Instalasi Driver FTDI

Setelah Anda memiliki kolom pertama LED yang menyala, sekarang saatnya untuk menjahit sisanya ke jaket. Ini adalah proses yang cukup memakan waktu dan mungkin yang terbaik untuk dilakukan selama beberapa hari. Pastikan untuk menguji setiap kolom saat Anda melanjutkan. Anda dapat melakukan ini dengan mengadaptasi kode di atas sehingga pin untuk kolom yang ingin Anda uji dinyatakan sebagai output dalam pengaturan dan kemudian disetel LOW dalam loop. Pastikan bahwa pin kolom lainnya disetel ke TINGGI karena ini akan memastikan bahwa mereka dimatikan.

Langkah 4: Menambahkan Sakelar

Menambahkan Sakelar
Menambahkan Sakelar

Selanjutnya, Anda dapat menambahkan sakelar yang akan digunakan untuk mengubah pengaturan pada jaket. Itu perlu dijahit ke bagian dalam jaket di bawah papan LilyPad Arduino. Menggunakan ulir konduktif, ujung berlabel "mati" harus dihubungkan ke ground dan ujung berlabel "on" harus dihubungkan ke pin 2.

Anda dapat menguji sakelar menggunakan kode di bawah ini. Ini sangat sederhana dan menyalakan LED kanan bawah jika sakelar terbuka dan mati jika sakelar ditutup.

Langkah 5: Membuat Perangkat Nirkabel

Membuat Perangkat Nirkabel
Membuat Perangkat Nirkabel
Membuat Perangkat Nirkabel
Membuat Perangkat Nirkabel
Membuat Perangkat Nirkabel
Membuat Perangkat Nirkabel

Mempersiapkan LilyPad XBee dan XBee Explorer

Siapkan LilyPad XBee untuk konfigurasi dengan menyolder pada Header Pria sudut kanan 6-pin. Ini nantinya akan memungkinkannya untuk terhubung ke komputer melalui papan Breakout Dasar FTDI LilyPad dan kabel USB Mini. Juga, solder klip baterai 9V ke LilyPad XBee dengan kabel merah ke pin "+" dan kabel hitam ke pin "-".

Hubungkan papan Explorer ke pelindung prototipe untuk Arduino Mega. 5V dan Ground pada papan Explorer perlu disambungkan ke 5V dan Ground di Mega, pin output pada Explorer perlu disambungkan ke RX1 di Mega dan input di Explorer perlu disambungkan ke TX1 di Mega.

Mengkonfigurasi XBees

Selanjutnya XBees perlu dikonfigurasi. Pertama-tama, Anda perlu menginstal perangkat lunak CoolTerm secara gratis yang tersedia dari tautan di bawah ini.

Perangkat Lunak CoolTerm

Pastikan untuk membedakan antara kedua XBees dalam beberapa cara karena penting agar Anda tidak mencampuradukkannya.

Pertama, konfigurasikan XBee untuk komputer. Masukkan ke papan Breakout LilyPad XBee dan sambungkan ini ke komputer menggunakan papan breakout dasar FTDI dan kabel USB Mini. Buka CoolTerm dan di Opsi, pilih port serial yang benar. Jika Anda tidak dapat melihatnya, coba tekan 'Pindai Ulang Port Serial'. Kemudian, pastikan baud rate diatur ke 9600, nyalakan Local Echo dan atur Key Emulation ke CR. CoolTerm sekarang dapat dihubungkan ke XBee.

Ketik "+++" ke jendela utama untuk menempatkan XBee ke mode perintah. Jangan tekan kembali. Ini akan memungkinkannya untuk dikonfigurasi menggunakan perintah AT. Jika ini berhasil, setelah jeda yang sangat singkat akan ada respons pesan "OK". Jika ada penundaan lebih dari 30 detik sebelum baris berikutnya, mode perintah akan keluar dan ini perlu diulang. Banyak perintah AT perlu dimasukkan untuk mengatur ID PAN, ID SAYA, ID Tujuan dan untuk menyimpan perubahan. Kembali memang perlu dipukul setelah masing-masing perintah ini dan ini dapat dilihat pada tabel di atas. Setelah ini selesai untuk komputer XBee, itu perlu diputuskan dan proses yang sama harus dilakukan untuk jaket XBee.

Anda dapat memeriksa pengaturan XBee baru dengan mengetikkan setiap perintah AT tanpa nilai di akhir. Misalnya, jika Anda mengetik "ATID" dan menekan kembali, "1234" harus digemakan kembali.

Menguji XBees

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

  • 3.3V di LilyPad XBee ke '+' di LilyPad
  • Ground di LilyPad XBee ke Ground di LilyPad
  • RX di LilyPad XBee ke TX di LilyPad
  • TX di LilyPad XBee ke RX di LilyPad

Sekarang perangkat dapat diuji untuk memastikan bahwa XBees berfungsi dengan benar. Kode di bawah yang disebut 'Wireless_Test_Mega' perlu diunggah ke Arduino Mega dan tujuan utamanya adalah untuk menerima pesan MIDI dari tambalan Data Murni sederhana yang dibuat sebelumnya, dan mengirimkan nilai yang berbeda melalui XBee. Jika not MIDI dengan nada 60 diterima, pesan 'a' akan dikirimkan. Atau, jika pesan noteoff diterima, 'b' akan dikirim.

Selain itu, kode di bawah ini yang disebut 'Wireless_Test_LilyPad' perlu diunggah ke LilyPad. Ini menerima pesan dari Mega melalui XBees dan mengontrol LED kanan bawah yang sesuai. Jika pesan 'a' diterima, artinya not MIDI dengan nada 60 telah diterima oleh Mega, LED akan menyala. Di sisi lain, jika 'a' tidak diterima, LED akan mati.

Setelah kode diunggah ke kedua papan, pastikan pelindung telah dimasukkan kembali ke Mega dan terhubung ke komputer melalui kedua kabel. Masukkan XBee komputer ke papan Explorer. Kemudian, pastikan papan FTDI Breakout terputus dari jaket dan masukkan jaket XBee ke dalam LilyPad XBee. Hubungkan baterai 9V dan coba tekan pesan yang berbeda di Data Murni. LED kanan bawah pada jaket harus menyala dan mati.

Langkah 6: Sentuhan Akhir

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

Kode dan Patch Data Murni

Saat Anda senang jaket bekerja secara nirkabel, unggah sketsa 'MegaCode' di bawah ke Arduino Mega dan sketsa 'LilyPadCode' ke LilyPad. Buka patch Data Murni memastikan bahwa DSP aktif dan input audio diatur ke mikrofon internal komputer Anda. Coba mainkan musik dan pindahkan sakelar. Anda mungkin perlu sedikit menyesuaikan ambang batas dalam Data Murni tergantung pada seberapa banyak atau sedikit LED bereaksi terhadap audio.

Menambahkan Lapisan Baru

Terakhir, untuk membuat jaket lebih estetis dan nyaman dipakai, lapisan lain dapat ditambahkan ke bagian dalam jaket untuk menutupi jahitan dan komponennya. Ini harus dilakukan dengan menggunakan velcro untuk memudahkan akses ke sirkuit jika ada perubahan yang perlu dilakukan.

Pertama-tama, jahit strip 'lingkaran' (bagian yang lebih lembut) ke jaket di bagian dalam, di sepanjang bagian atas dan bawah kedua sisi. Sebaiknya biarkan bagian bawah bebas karena ini akan memungkinkan udara masuk ke komponen. Kemudian, potong sepotong kain dengan ukuran yang sama dan jahit strip 'pengait' velcro ini, di sepanjang bagian atas dan bawah kedua sisi. Juga, di sisi yang sama dengan velcro dan di lokasi yang paling nyaman, jahit saku tempat baterai dapat digunakan. Lihat gambar di atas untuk contoh.

Langkah 7: Anda Selesai

Jaket Pertunjukan Cahaya nirkabel Anda sekarang harus lengkap dan berhasil bereaksi terhadap audio! Satu pengaturan harus menciptakan efek seperti bilah amplitudo dan yang lainnya harus memiliki LED individual yang berkelap-kelip mengikuti musik dengan warnanya tergantung pada nada. Lihat di atas untuk contoh video. Jika Anda bertanya-tanya, warna dan nada terkait melalui Ordo Rosicrucian yang hanya didasarkan pada intonasi. Saya harap Anda menikmati proyek ini!

Direkomendasikan: