Isi kandungan:
- Langkah 1: Bahan Komputer
- Langkah 2: Piano
- Langkah 3: Perhimpunan
- Langkah 4: Cabaran Teknikal dan Pertimbangan Masa Depan
Video: Piano Pemain Synesthesia: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Piano pemain ini memainkan muzik menggunakan roda warna dan kamera! Gambar dirakam oleh kamera, diproses, dan ditafsirkan sebagai nota muzik. Sekarang ini diprogramkan untuk memainkan sajak anak-anak yang dapat diubah dengan memuat naik sketsa arduino baru yang menentukan nota mana yang harus dimainkan (Warna mana yang harus ditunjukkan ke kamera).
PC Linux onboard memulakan perkhidmatan pada boot yang mengambil gambar dengan kamera, menghitung fungsi nilai RGB dalam gambar, dan mengeluarkan suara berdasarkan nilai kembali fungsi. Sebelum memainkan suaranya, ia akan mengirimkan isyarat yang memberitahu Arduino untuk memutar servo, menunjukkan warna yang sesuai dengan nota seterusnya yang akan dimainkan. Kemudian gelung dimulakan semula, gambar diambil, roda warna diputar, dan bunyi dimainkan secara infinitum.
Projek ini adalah cara yang menyeronokkan untuk mengintegrasikan muzik, pengaturcaraan sistem Linux moden, pengaturcaraan mikro-pengawal, coretan inkscape, pemotongan laser, dan penentuan semula beberapa kotak kadbod sampah.
Semua kod dan SVG inkscape boleh didapati di github di:
github.com/melvyniandrag/pyMusik
Bahan yang Digunakan:
- Label putih kosong
- Kotak kadbod
- Kamera Web
- Krayon
- Arduino
- Beagleboard-xM
- Wayar
- Kabel Bersiri
- Pengetahuan asas mengenai pemprosesan gambar dan muzik
Langkah 1: Bahan Komputer
Dalam perjalanan anda memerlukan komputer berkemampuan Linux kecil seperti Raspberry Pi. Saya menggunakan BeagleBoard-xM lama kerana saya kebetulan meletakkannya dan saya sudah mempunyai sistem operasi pada kad SD. Anda boleh menggunakan apa sahaja, asalkan dapat mengendalikan kamera web, dapat menjalankan OpenCV (perpustakaan penglihatan komputer yang digunakan untuk mengambil dan memproses gambar roda warna), dan mempunyai soket keluar audio.
Saya menyediakan sistem operasi untuk menjalankan kod python yang menangkap gambar semasa boot mengikuti tutorial systemd. Untuk menjalankan skrip, anda perlu sudo apt-get install python-pyaudio python-opencv untuk mendapatkan perpustakaan yang ditunjukkan. Anda juga perlu memasang pyserial numpy untuk mendapatkan perpustakaan tersebut. pyaudio digunakan untuk memainkan suara, opencv digunakan untuk pengambilan gambar dan pemrosesan, numpy juga digunakan untuk pemprosesan gambar, dan pyserial diperlukan untuk berkomunikasi dengan Arduino.
Arduino digunakan untuk memutar motor servo di mana roda warna dipasang. Sekiranya anda mempunyai Raspberry Pi, anda boleh menggunakan pin GPIO di sana dan meninggalkan Arduino, tetapi anda perlu mengubah kod Python.
Dalam gambar anda dapat melihat keberanian teknologi operasi dan beberapa coretan kod.
Langkah 2: Piano
Saya mengeluarkan piano dari kadbod dari beberapa kotak lama yang saya ada. Saya mempunyai nasib baik untuk tinggal di dekat ruang pembuat yang mempunyai pemotong laser. Selama setahun saya tertanya-tanya apa yang diinginkan oleh pemotong laser, dan akhirnya saya dapat menggunakannya.
Saya mengukur komputer, arduino, dan servo sehingga saya tahu berapa banyak ruang yang saya perlukan, menarik bahagian piano di inkscape, dan memotongnya di pemotong laser. (Sunting: Saya kehabisan kadbod untuk membuat kandang memegang komputer dan arduino dan jadi saya tidak memasukkannya. Mereka berada di luar casing. Tidak mengapa, mungkin ada kotak lain dari suatu tempat, tetapi tidak Tidak penting pada akhirnya.)
Kepingan itu disatukan dengan epoksi.
Langkah 3: Perhimpunan
Berikut adalah beberapa gambar piano yang dipasang dan diwarnai. Pencetak kehabisan dakwat jadi saya tidak dapat mencetak warna pada label putih seperti yang saya rancangkan. Oleh itu, saya menggunakan krayon anak perempuan saya. Dan saya tidak dapat mencari pisau xacto untuk memotong label pada bentuk kadbod, jadi saya hanya menggunakan pisau stik dan meletakkan sesuatu pelindung di kaunter dapur. Gunakan apa yang anda dapat!
Langkah 4: Cabaran Teknikal dan Pertimbangan Masa Depan
Bahagian yang mencabar dari projek ini adalah mendapatkan nilai RGB yang sesuai untuk dibaca oleh kamera. Kamera web yang saya miliki mempunyai beberapa LED yang sangat terang dan saya tidak tahu cara mematikannya di Linux. Saya rasa ada pemacu Windows yang membolehkan anda menghidupkan dan mematikannya. Saya bereksperimen dengan mengetuk LED dengan pita elektrik dan membiarkannya menyala. Saya juga menguji ketahanan perisian dengan bukan hanya menunjukkan kertas berwarna, tetapi juga menulis sedikit laman web yang menunjukkan warna.
Bunyi yang dihasilkan oleh komputer kadang-kadang muncul dan berderak di dalamnya, dan ini berasal dari kenyataan bahawa saya mempunyai sedikit pengalaman dalam pengaturcaraan audio Linux. Perpustakaan pyaudio memancarkan banyak aduan mengenai JACK tidak dipasang di PC, tetapi secara lalai JACK tidak mahu berjalan tanpa kepala (tanpa desktop dan monitor gui). Ini adalah tugas pengaturcaraan yang saya fikir adalah penyempurnaan, tetapi tidak perlu untuk menyatakan inti pati pemain piano yang saya fikirkan.
Saya telah mempertimbangkan untuk menggunakan engkol tangan untuk mengubah warnanya, dan mungkin memilikinya pada jenis alat penggulung, tetapi itu menimbulkan komplikasinya sendiri. Servo agak bising, tetapi berfungsi dengan baik buat masa ini.
Piano pemain pada masa ini hanya diprogramkan untuk memainkan 4 nota. Ini kerana servo hanya bergerak 180 darjah, kebanyakan sajak kanak-kanak dapat dimainkan dengan hanya 3-4 nota, dan saya tidak mahu roda warna berantakan dengan kawasan warna, mungkin membingungkan kamera. Oleh itu, melalui gabungan keberuntungan muzik dan kekangan teknikal, 4 nota baik-baik saja.
Disyorkan:
Cara Membuat Pemain MP3 Dengan LCD Menggunakan Modul Pemain MP3 Arduino dan DFPlayer Mini: 6 Langkah
Cara Membuat Pemain MP3 Dengan LCD Menggunakan Modul Pemain MP3 Arduino dan DFPlayer Mini: Hari ini kita akan membuat pemain MP3 dengan LCD menggunakan Modul Pemain MP3 mini Arduino dan DFPlayer. Projek ini dapat membaca fail MP3 dalam kad SD, dan dapat menjeda dan mainkan sama dengan peranti 10 tahun yang lalu. Dan juga mempunyai lagu sebelumnya dan keseronokan lagu seterusnya
Pemain Piano Makey Makey: 7 Langkah
Pemain Piano Makey Makey: Jadi mari kita mulakan. secara keseluruhan idea ini akan memakan masa sekitar 30 minit untuk membuat keseluruhan projek tetapi ketika datang ke proses pembinaan, anda harus memastikan bahawa anda membaca langkah-langkahnya dengan teliti, jadi mari kita mulakan perkara ini
2-4 Pemain Pemain dan Main Arked Raspberry Pi: 11 Langkah
2-4 Pemain Pemain dan Mainkan Raspberry Pi Arcade: Pasangkan dan mainkan, bukan hanya istilah untuk konsol permainan plastik yang anda beli di Walmart tempatan anda. Kabinet arked plug and play ini berfungsi, dikuasakan oleh Raspberry Pi 3 yang menjalankan Retropie, mesin ini menawarkan kemampuan penyesuaian penuh dan
Sambungkan Pemain MP3 ke Pemain Pita: 6 Langkah (dengan Gambar)
Sambungkan Pemain MP3 ke Pemain Pita: Cara menyambungkan pemain mp3, atau sumber stereo lain, ke pemain pita untuk mendengarkan muzik
Pemain Kaset Pemain Amp: 3 Langkah
Pemain Kaset Pemain Kaset: Dengan beberapa inspirasi yang diperoleh daripada projek lain yang serupa yang dipaparkan di Internet, saya menukar pemain / perakam kaset Sony Walkman menjadi penguat gitar yang menggunakan 2 bateri AA