Isi kandungan:

Prototaip Papan Suara Arduino-Raspberry Pi: 9 Langkah (dengan Gambar)
Prototaip Papan Suara Arduino-Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Prototaip Papan Suara Arduino-Raspberry Pi: 9 Langkah (dengan Gambar)

Video: Prototaip Papan Suara Arduino-Raspberry Pi: 9 Langkah (dengan Gambar)
Video: Pico Prototyping - Building a "Pico Uno" 2024, November
Anonim
Papan Kekunci Prototaip Arduino-Raspberry Pi
Papan Kekunci Prototaip Arduino-Raspberry Pi

Papan suara prototaip yang dibuat dengan Arduino dan Raspberry Pi dimaksudkan untuk menjadi cara mudah untuk memainkan 4 suara atau suara yang berbeza sambil memiliki pilihan untuk menukar set suara dengan tombol dan menampilkan set suara saat ini dengan layar LCD.

* Harap maklum: Kod untuk projek ini 99% lengkap, tetapi tidak berfungsi.

Raspberry Pi mengawal skrin LCD 16x2 dan pengekod putar sementara Arduino membaca input analog dari perintang peka daya (FSR) dan menghantar isyarat ke Arduino untuk memainkan suara. Kami berdua tidak pernah menggunakan Arduino atau Pi sebelum kelas ini, tetapi profesor kami memberi kami semua alat dan panduan yang diperlukan untuk membuat kod dan membina projek ini dengan mudah. TinkerCad, alat pemodelan 3D dalam talian percuma oleh AutoDesk, digunakan untuk memodelkan projek kami.

Bahagian paling sukar dalam projek ini adalah mencari jalan untuk membuat Arduino dan Raspberry Pi berkomunikasi dengan komunikasi bersiri. Pada asalnya kami hanya mahu menggunakan Pi untuk keseluruhan projek, tetapi kami memerlukan Arduino untuk membaca isyarat analog dari FSR. Kami dengan mudah menghantar baris kata atau angka dari Arduino dan memaparkannya di Pi, tetapi di mana masalahnya timbul ketika kami cuba membaca nilai-nilai tersebut ke dalam Python dan menerapkannya ke dalam pernyataan keadaan untuk memprosesnya.

Kemahiran Diperlukan

  • Pemahaman ringkas mengenai C / C ++ untuk pengekodan Arduino
  • Pemahaman ringkas mengenai pengekodan Python untuk Raspberry Pi
  • Pengetahuan tentang bagaimana papan roti disambung
  • Kemahiran pemodelan 3D asas
  • Keinginan untuk belajar dan memperluas pengaturcaraan, pendawaian, dan membina sesuatu yang agak kemas

Senarai bahagian

1 x Raspberry Pi 3

1 x Elegoo Uno ATAU Arduino Uno

1 x 830 Tie Breadboard

1 x Papan Pemecahan GPIO (RSP-GPIO)

1 x Ribbon Cable untuk Breakout Board

4 x Perintang Sensitif Kekuatan Kecil

1 x Skrin LCD Karakter 16x2 Asas

1 x Modul Pengekod Rotary

24 x wayar lelaki hingga wanita

10 x wayar lelaki hingga lelaki

Perintang 4 x 10k

Potensiometer 1 x 10k

1 x pad lutut busa taman (kedai dolar)

Langkah 1: Uji FSR Dengan Arduino

Uji FSR Dengan Arduino
Uji FSR Dengan Arduino

Kami pertama kali memutuskan untuk mencuba FSR dengan Arduino. FSR menghantar isyarat analog dan oleh itu kami harus menggunakan Arduino kerana Pi tidak menerima analog tanpa litar lain. Kami ingin menguji ambang untuk memastikan bahawa tekanan berada pada tekanan yang baik. Kami mendapati jumlahnya sekitar 150 daripada jumlah keseluruhan 1000. Perancang siri di Arduino IDE sangat membantu untuk langkah ini.

Langkah 2: Rangka Pelan Lembaga

Rangka Pelan Lembaga
Rangka Pelan Lembaga
Rangka Pelan Lembaga
Rangka Pelan Lembaga

Kami kemudian menyusun dan mengukur rancangan untuk dewan. Kami ingin mempunyai 4 pad untuk memainkan suara, tempat untuk skrin LCD untuk memaparkan kumpulan suara semasa, dan pengekod putar untuk menukar kumpulan suara.

Langkah 3: Modelkan Papan di TinkerCad

Modelkan Papan di TinkerCad
Modelkan Papan di TinkerCad
Modelkan Papan di TinkerCad
Modelkan Papan di TinkerCad
Modelkan Papan di TinkerCad
Modelkan Papan di TinkerCad

Setelah rancangan dibuat, kami membuat model di laman web pemodelan 3D percuma dalam talian yang dipanggil TinkerCad oleh Autodesk. Kami sangat mengesyorkannya bagi anda yang tidak mahu menghabiskan banyak wang untuk perisian pemodelan 3D yang besar kerana mudah digunakan, berasaskan awan, dan mempunyai sokongan penuh untuk pencetakan 3D.

Setelah dimodelkan, kami harus memisahkannya menjadi 2 keping untuk memasangkannya pada pencetak. Ia dicetak dengan sangat baik, tetapi kesilapan saya tidak mengukur saiz skrin LCD dengan baik (jangan membuat kesilapan itu!) Kami telah memuat naik fail. STL sebelah kiri dan kanan jika anda ingin menyemaknya.

Langkah 4: Uji Skrin LCD

Uji Skrin LCD
Uji Skrin LCD

Kami telah menggunakan skrin di Arduino dan sangat mudah untuk disiapkan. Walau bagaimanapun, lebih sukar untuk menjalankannya dengan Pi. Dengan beberapa jam penyelesaian masalah di Google dan bermain dengan kabel, akhirnya kami berjaya. Sila lihat kod Python terakhir di akhir untuk melihat bagaimana ia berfungsi. Kami menggunakan beberapa laman web untuk membantu kami menyusunnya dan menulis kodnya. Lihatnya:

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

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

Langkah 5: Uji Rotary Encoder Dengan Skrin LCD

Uji Rotary Encoder Dengan Skrin LCD
Uji Rotary Encoder Dengan Skrin LCD

Kami kemudian ingin melihat apakah kami dapat membuat skrin LCD mengubah teksnya ketika pengekod diputar. Pengekod tidak mempunyai jumlah sudut atau putaran yang ditetapkan, jadi dalam kod kami menghitung berapa kali ia dipusingkan mengikut arah jam atau berlawanan arah jam dan membuatnya dikira menjadi 3. Sekiranya ia berlalu, ia akan kembali ke 0, dan jika berada di bawah 0, ia akan naik hingga 3. Angka-angka itu dapat ditetapkan untuk seberapa banyak set bunyi yang anda suka, tetapi kami hanya menguji satu set suara. Pastikan suara anda berada di folder / lokasi yang sama dengan kod Python utama yang sedang dijalankan.

Langkah 6: Pasang Papan

Berkumpul Dewan
Berkumpul Dewan
Berkumpul Dewan
Berkumpul Dewan
Berkumpul Dewan
Berkumpul Dewan

FSR meluncur di bawah empat slot yang berbeza. Kami memusatkan mereka dan mengetuknya. Kami mengesyorkan pita salur atau mungkin juga terpaku kerana pita scotch yang sederhana sangat melekat pada bahan cetak 3D. Selepas perjalanan cepat ke kedai dolar, kami menjumpai alas lutut taman yang lembut namun licin yang dapat kami potong menjadi empat keping untuk digunakan sebagai butang papan. Kami memotongnya sehingga mereka dapat pas dengan pas di tempat mereka sehingga mereka dapat tetap di tempatnya, tetapi juga mudah dikeluarkan jika perlu.

Langkah 7: Wire It All Up

Wire It All Up
Wire It All Up
Wire It All Up
Wire It All Up

Setelah memasang papan dan meletakkan FSR, pengekod, dan skrin di tempat, kami memasang semuanya. Anda boleh menggunakan 2 papan roti, tetapi kami dapat memuatkan semuanya pada satu. Gambarnya kelihatan seperti huru-hara, tetapi kami membuat rajah skematik dalam program percuma yang disebut Fritzing. Perhatikan bahawa anda boleh menukar pin yang ingin anda lampirkan semuanya, tetapi rajah tersebut sesuai dengan kod kami.

Langkah 8: Selesaikan Pengekodan SEMUA

Ini adalah bahagian yang sukar. Seperti yang dinyatakan dalam intro, kami tidak dapat menyelesaikan bahagian ini. Kodnya ada 99% di sana, tetapi satu bahagian yang tidak berfungsi adalah komunikasi bersiri dari Arduino ke Pi. Kami dapat menghantar maklumat dengan mudah ketika kami menghubungkan Arduino ke Pi dengan kabel USB, tetapi Pi tidak dapat melakukan apa-apa kecuali memaparkan maklumat tersebut di layar. Kami ingin mengetahui butang mana yang ditekan dan membuatnya memainkan suara tertentu, tetapi data yang datang melalui komunikasi tidak dapat dimasukkan ke dalam pernyataan syarat untuk menguji butang apa yang ditekan.

Sila lihat kod yang dilampirkan, nota telah dikomentari dalam kod Python untuk Pi. Kod Arduino mestilah 100%.

Langkah 9: Kesimpulannya

Membuat kesimpulan
Membuat kesimpulan

Secara keseluruhan, projek ini merupakan pengalaman pembelajaran yang BESAR untuk kami berdua dan kami berharap penulisan ini dapat memberi inspirasi kepada para pelajar, guru, atau pengedar masa depan untuk projek mereka sendiri dan membimbing mereka dengan belajar dari kesilapan kami. Beri tahu profesor robotik hebat kami yang banyak membantu sepanjang masa kami di kelas dan memberi kami peluang untuk bersenang-senang dan belajar banyak di kelas senior COMP! Terima kasih untuk membaca:)

Disyorkan: