Daftar Isi:

Prototipe Arduino-Raspberry Pi Soundboard: 9 Langkah (dengan Gambar)
Prototipe Arduino-Raspberry Pi Soundboard: 9 Langkah (dengan Gambar)

Video: Prototipe Arduino-Raspberry Pi Soundboard: 9 Langkah (dengan Gambar)

Video: Prototipe Arduino-Raspberry Pi Soundboard: 9 Langkah (dengan Gambar)
Video: Amazing arduino project 2024, November
Anonim
Prototipe Papan Suara Arduino-Raspberry Pi
Prototipe Papan Suara Arduino-Raspberry Pi

Prototipe papan suara yang dibuat dengan Arduino dan Raspberry Pi dimaksudkan sebagai cara sederhana untuk memainkan 4 suara atau suara yang berbeda sambil memiliki opsi untuk mengganti set suara dengan kenop dan menampilkan set suara saat ini dengan layar LCD.

*Harap diperhatikan: Kode untuk proyek ini 99% selesai, tetapi tidak berfungsi.

Raspberry Pi mengontrol layar LCD 16x2 dan rotary encoder sementara Arduino membaca input analog dari resistor sensitif gaya (FSR) dan mengirimkan sinyal ke Arduino untuk memutar suara. Kami berdua belum pernah menggunakan Arduino atau Pi sebelumnya di kelas ini, tetapi profesor kami memberi kami semua alat dan panduan yang diperlukan untuk membuat kode dan membangun proyek ini dengan mudah. TinkerCad, alat pemodelan 3D online gratis oleh AutoDesk, digunakan untuk memodelkan proyek kami.

Bagian tersulit dari proyek ini adalah menemukan cara untuk membuat Arduino dan Raspberry Pi berkomunikasi dengan komunikasi serial. Kami awalnya hanya ingin menggunakan Pi untuk keseluruhan proyek, tetapi kami membutuhkan Arduino untuk membaca sinyal analog dari FSR. Kami dengan mudah dapat mengirim baris kata atau angka dari Arduino dan menampilkannya di Pi, tetapi masalah muncul adalah ketika kami mencoba membaca nilai-nilai itu ke dalam Python dan mengimplementasikannya ke dalam pernyataan kondisi untuk memprosesnya.

Dibutuhkan keahlian

  • Pemahaman sederhana tentang C/C++ untuk pengkodean Arduino
  • Pemahaman sederhana tentang Python untuk pengkodean Raspberry Pi
  • Pengetahuan tentang cara memasang papan tempat memotong roti
  • Keterampilan pemodelan 3D dasar
  • Keinginan untuk belajar dan memperluas pemrograman, pengkabelan, dan membangun sesuatu yang agak rapi

Daftar Bagian

1 x Raspberry Pi 3

1 x Elegoo Uno ATAU Arduino Uno

1 x 830 Tie Papan Tempat memotong roti

1 x Papan Breakout GPIO (RSP-GPIO)

1 x Kabel Pita untuk Papan Breakout

4 x Resistor Sensitif Kekuatan Kecil

1 x Layar LCD Karakter 16x2 Dasar

1 x Modul Rotary Encoder

24 x Kabel pria ke wanita

10 x Kabel pria ke pria

4 x 10k resistor

1x10k potensiometer

1 x Bantalan lutut busa taman (toko dolar)

Langkah 1: Uji FSR Dengan Arduino

Uji FSR Dengan Arduino
Uji FSR Dengan Arduino

Kami pertama kali memutuskan untuk mencoba FSR dengan Arduino. FSR mengirim sinyal analog dan oleh karena itu kami harus menggunakan Arduino karena Pi tidak menerima analog tanpa sirkuit lain. Kami ingin menguji ambang batas untuk memastikan bahwa tekanan berada pada tekanan yang baik. Kami menemukan sekitar 150 dari total 1000. Plotter serial pada Arduino IDE sangat membantu untuk langkah ini.

Langkah 2: Gambarkan Rencana untuk Dewan

Gambarkan Rencana untuk Dewan
Gambarkan Rencana untuk Dewan
Gambarkan Rencana untuk Dewan
Gambarkan Rencana untuk Dewan

Kami kemudian menyusun dan mengukur rencana untuk papan. Kami ingin memiliki 4 pad untuk memutar suara, tempat untuk layar LCD untuk menampilkan grup suara saat ini, dan rotary encoder untuk mengubah grup suara.

Langkah 3: Buat Model Papan di TinkerCad

Buat Model Papan di TinkerCad
Buat Model Papan di TinkerCad
Buat Model Papan di TinkerCad
Buat Model Papan di TinkerCad
Buat Model Papan di TinkerCad
Buat Model Papan di TinkerCad

Setelah rencana dibuat, kami membuat model papan di situs pemodelan 3D online gratis bernama TinkerCad oleh Autodesk. Kami sangat merekomendasikannya bagi Anda yang tidak ingin menghabiskan banyak uang untuk perangkat lunak pemodelan 3D besar karena mudah digunakan, berbasis cloud, dan memiliki dukungan penuh untuk pencetakan 3D.

Setelah dimodelkan, kami harus membaginya menjadi 2 bagian agar pas di printer. Itu dicetak dengan sangat baik, tetapi kesalahan saya adalah tidak mengukur slot layar LCD dengan sangat baik (jangan membuat kesalahan itu!) Kami telah mengunggah file. STL sisi kiri dan kanan jika Anda ingin memeriksanya.

Langkah 4: Uji Layar LCD

Uji Layar LCD
Uji Layar LCD

Kami sudah menggunakan layar di Arduino dan itu sangat mudah diatur. Namun, lebih sulit untuk menjalankannya dengan Pi. Dengan beberapa jam pemecahan masalah di Google dan gelisah dengan kabel, akhirnya kami berhasil. Silakan lihat kode Python terakhir di bagian akhir untuk melihat cara kerjanya. Kami menggunakan beberapa situs web untuk membantu kami mentransfernya dan menulis kodenya. Lihat mereka:

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Langkah 5: Uji Rotary Encoder Dengan Layar LCD

Uji Rotary Encoder Dengan Layar LCD
Uji Rotary Encoder Dengan Layar LCD

Kami kemudian ingin melihat apakah kami dapat membuat layar LCD mengubah teksnya saat encoder diputar. Encoder tidak memiliki jumlah sudut atau rotasi yang ditetapkan, jadi dalam kode kami menghitung berapa kali diputar searah jarum jam atau berlawanan arah jarum jam dan membuatnya dihitung menjadi 3. Jika melewati, itu akan kembali ke 0, dan jika di bawah 0, itu akan kembali ke 3. Angka-angka itu dapat diatur untuk banyak set suara yang Anda suka, tetapi kami hanya pernah menguji satu set suara. Pastikan suara Anda berada di folder/lokasi yang sama dengan tempat kode Python utama dieksekusi.

Langkah 6: Pasang Papan

Merakit Papan
Merakit Papan
Merakit Papan
Merakit Papan
Merakit Papan
Merakit Papan

FSR meluncur di bawah empat slot yang berbeda. Kami memusatkan mereka dan merekamnya. Kami merekomendasikan lakban atau mungkin bahkan menempelkan karena selotip sederhana sangat buruk dalam menempel pada bahan cetak 3D. Setelah perjalanan singkat ke toko dolar, kami menemukan bantalan lutut taman yang lembut namun licin yang dapat kami potong menjadi empat bagian untuk digunakan sebagai kancing papan. Kami memotongnya agar bisa pas di tempatnya sehingga bisa tetap di tempatnya, tetapi juga mudah dilepas jika perlu.

Langkah 7: Hubungkan Semuanya

Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya

Setelah merakit papan dan meletakkan FSR, encoder, dan layar di tempatnya, kami menyambungkan semuanya. Anda dapat menggunakan 2 papan tempat memotong roti, tetapi kami dapat memasukkan semuanya menjadi satu. Gambarnya terlihat berantakan, tetapi kami membuat diagram skematik dalam program gratis bernama Fritzing. Perhatikan bahwa Anda dapat mengubah pin apa yang ingin Anda lampirkan semuanya, tetapi diagram sesuai dengan kode kami.

Langkah 8: Selesaikan Coding SEMUANYA

Ini adalah bagian yang sulit. Seperti yang dinyatakan dalam intro, kami tidak dapat menyelesaikan bagian ini. Kodenya 99% semua ada, tetapi satu bagian yang tidak berfungsi adalah komunikasi serial dari Arduino ke Pi. Kami dapat mengirim info dengan mudah ketika kami menghubungkan Arduino ke Pi dengan kabel USB, tetapi Pi tidak dapat melakukan apa pun kecuali menampilkan info itu di layar. Kami ingin mengetahui tombol mana yang ditekan dan membuatnya memainkan suara tertentu, tetapi data yang datang melalui komunikasi tidak dapat dimasukkan ke dalam pernyataan kondisi untuk menguji tombol apa yang ditekan.

Silakan lihat kode terlampir, catatan telah dikomentari dalam kode Python untuk Pi. Kode Arduino harus 100%.

Langkah 9: Akhiri

Menyimpulkan
Menyimpulkan

Secara keseluruhan, proyek ini merupakan pengalaman belajar yang BESAR bagi kami berdua dan kami berharap bahwa tulisan ini dapat memberikan inspirasi bagi siswa, guru, atau pengotak masa depan untuk proyek mereka sendiri dan untuk membimbing mereka dengan belajar dari kesalahan kami. Berteriak kepada profesor robotika kami yang luar biasa yang sangat membantu selama waktu kami di kelas dan memberi kami kesempatan untuk bersenang-senang dan belajar banyak di kelas COMP senior! Terima kasih sudah membaca:)

Direkomendasikan: