Dalam sesi ini kita akan menggunakan fungsi Raspberry Pi dan PYGAME untuk membuat papan suara. Secara ringkas, kita akan menyambungkan beberapa butang ke pin GPIO Raspberry Pi dan apabila butang ini ditekan Raspberry Pi memainkan fail audio yang tersimpan dalam ingatannya. Fail audio ini boleh dimainkan satu persatu atau semuanya boleh dimainkan bersama. Dengan kata lain anda dapat menekan satu atau beberapa butang pada masa yang sama, Raspberry Pi akan memainkan satu atau beberapa fail audio dengan sewajarnya pada masa yang sama. Lihat Video Demo di akhir artikel ini. Lihat juga Seri Tutorial Raspberry Pi kami bersama dengan beberapa Projek IoT yang bagus.
Kami mempunyai 26 pin GPIO di Raspberry Pi yang dapat diprogram, salah satunya digunakan untuk menjalankan beberapa fungsi khas dan kemudian kami mempunyai 17 GPIO yang tersisa. Setiap pin GPIO dapat memberikan atau menarik maksimum 15mA. Dan jumlah arus dari semua GPIO tidak boleh melebihi 50mA. Oleh itu, kita dapat memperoleh maksimum 3mA secara purata dari setiap pin GPIO ini. Kami akan menggunakan perintang untuk mengehadkan aliran semasa. Ketahui lebih lanjut mengenai Pin GPIO dan butang antara muka dengan Raspberry Pi di sini.
Komponen yang Diperlukan:
Di sini kita menggunakan Raspberry Pi 2 Model B dengan OS Raspbian Jessie. Semua keperluan asas Perkakasan dan Perisian dibincangkan sebelumnya, anda boleh mencarinya dalam Pengenalan Raspberry Pi dan LED Berkedip Raspberry PI untuk memulakan, selain daripada yang kita perlukan:
- Raspberry Pi dengan OS yang dipasang sebelumnya
- Bekalan kuasa
- Penceramah
- Perintang 1KΩ (6 keping)
- Tombol tekan (6 keping)
- Kapasitor 1000uF
Penjelasan Kerja:
Di sini kita Memainkan Suara menggunakan Butang dengan Raspberry Pi. Kami telah menggunakan 6 butang tekan untuk memainkan 6 fail audio. Kita boleh menambah lebih banyak butang dan fail audio untuk memanjangkan papan ini untuk membuat corak yang lebih cantik dengan menekan butang ini. Sebelum menjelaskan lebih lanjut, selesaikan langkah-langkah di bawah.
1. Pertama sekali muat turun 6 fail Audio dari pautan yang diberikan di bawah ini atau anda boleh menggunakan fail audio anda, tetapi kemudian anda perlu menukar nama fail dalam Kod.
Muat turun fail Audio dari sini
2. Buat folder baru di layar desktop Raspberry Pi dan beri nama sebagai "PI SOUND BOARD".
3. Buka zip fail audio yang dimuat turun ke folder yang telah kita buat di DESKTOP pada langkah sebelumnya.
4. Buka tetingkap terminal di Raspberry Pi dan masukkan arahan di bawah:
sudo amixer cset numid = 3 1
Perintah ini memberitahu PI untuk memberikan output audio melalui bicu audio 3.5mm di atas kapal.
Sekiranya anda mahukan output audio dari Port HDMI maka anda boleh menggunakan arahan di bawah:
$ sudo amixer cset numid = 3 2
5. Sambungkan pembesar suara ke bicu output audio 3.5mm pada papan Raspberry Pi.
6. Buat fail PYTHON (*.py extension) dan simpan dalam folder yang sama. Lihat tutorial ini untuk membuat dan menjalankan Program Python di Raspberry Pi.
7. Pengadun Pygame akan dipasang secara lalai dalam OS. Sekiranya program, setelah pelaksanaan, tidak mengingat PYMIXER, kemudian kemas kini OS Raspberry Pi dengan memasukkan perintah di bawah di tetingkap terminal. Pastikan Pi disambungkan ke internet.
sudo apt-get kemas kini
Tunggu beberapa minit untuk OS dikemas kini.
Sekarang sambungkan setiap komponen mengikut rajah litar yang diberikan di bawah, Salin program PYHTON ke dalam fail PYHTON yang dibuat di desktop dan akhirnya tekan run untuk memainkan fail audio melalui butang. Program Python diberikan pada akhir dengan Demo Video.
Rajah Litar:
Penjelasan Pengaturcaraan:
Di sini kami telah membuat Program Python untuk memainkan Fail Audio mengikut tekan butang. Di sini kita perlu memahami beberapa perintah, yang telah kita gunakan dalam program ini.
import RPi.GPIO sebagai IO
Kita akan mengimport fail GPIO dari perpustakaan, perintah di atas membolehkan kita memprogram pin GPIO PI. Kami juga mengganti nama menjadi "GPIO" menjadi "IO", jadi dalam program setiap kali kami ingin merujuk pada pin GPIO, kami akan menggunakan kata 'IO'.
Peringatan IO (Salah)
Kadang-kadang, ketika pin GPIO yang kita cuba gunakan mungkin melakukan beberapa fungsi lain. Kemudian anda akan menerima amaran setiap kali anda melaksanakan program. Perintah ini memberitahu Raspberry Pi untuk mengabaikan amaran dan meneruskan program.
IO.setmode (IO.BCM)
Di sini kita akan merujuk pin i / o PI dengan nama fungsinya. Oleh itu, kami memprogram nombor pin GPIO dengan BCM, yang membolehkan kami memanggil PIN dengan nombor pin GPIO mereka. Seperti kita boleh memanggil PIN39 sebagai GPIO19 dalam program ini.
import pygame.mixer
Kami memanggil pengadun pygame untuk memainkan fail audio.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Kami meminta fail audio 'buzzer.wav' yang disimpan dalam folder desktop. Sekiranya anda ingin memainkan fail lain, ubah nama fail audio dalam fungsi yang diberikan di atas. Anda boleh menamakan sebarang fail yang terdapat di folder desktop.
saluran1 = pygame.mixer.Channel (1)
Di sini kita menyediakan saluran untuk setiap butang sehingga kita dapat memainkan semua fail audio secara serentak.
if (IO.input (21) == 0): channel1.play (audio1)
Sekiranya, jika dalam pernyataan itu benar, pernyataan di bawahnya akan dilaksanakan sekali. Oleh itu, jika pin GPIO 21 turun atau dibumikan, maka ia akan memainkan fail audio yang diberikan kepada pemboleh ubah audio1 . Seperti di Circuit Diagram, kita dapat melihat bahawa GPIO pin 21 menjadi rendah ketika kita menekan butang pertama. Oleh itu, kita boleh memainkan fail audio dengan menekan butang yang sesuai.
manakala 1: digunakan sebagai loop selamanya, dengan perintah ini pernyataan di dalam gelung ini akan dijalankan secara berterusan.
Anda boleh membuat perubahan pada program python untuk membuat Sound Board yang paling memuaskan dengan Raspberry Pi. Anda bahkan boleh menambah lebih banyak butang untuk menjadikan sesuatu lebih menarik dan memainkan lebih banyak fail audio.