Pembaz yang terdapat di Maker pHAT adalah berbeza daripada pembaz di Maker UNO. Pembaz di Maker pHAT adalah jenis aktif manakala di Maker UNO pula adalah jenis pasif. Pembaz aktif hanya boleh mengeluarkan 1 nada sahaja berbanding pembaz pasif yang boleh menghasilkan pelbagai nada bergantung kepada frekuensi isyarat yang diterima. Jadi untuk belajar menghasilkan bunyi daripada pembaz di Raspberry Pi, ia hanya ada 2 keadaan sahaja iaitu bunyi atau senyap.
💡 Tahukah Anda? Pustaka gpiozero sudah menyediakan fungsi Buzzer yang boleh kita gunakan untuk menghasilkan bunyi daripada pembaz di Maker pHAT. Ia menjadikan penulisan kod python lebih mudah.
Ulangkaji:
Contoh Kod Pengaturcaraan
1. Menghasilkan Bunyi Ketika Skrip Python Dijalankan
Selain daripada LED, saya juga suka gunakan bunyi sebagai petunjuk (indicator) sesuatu status. Sebagai contoh kita boleh gunakan bunyi pembaz untuk memberitahu skrip python sudah dijalankan.
2. Menghasilkan Bunyi Ketika Butang Ditekan
Ini juga penting untuk menunjukkan butang sudah ditekan. Kerana kita tidak tahu mungkin ada ketika mekanisme butang sudah rosak didalam.
3. Menghasilkan Bunyi Untuk Status Lain
Apa sahaja status yang anda rasa ia penting untuk anda tahu, gunakan pembaz sebagai petunjuk. Kali ini saya tetapkan apabila butang SW3 ditekan, Raspberry Pi akan shutdown. Jadi bunyi bip 3 kali adalah untuk memberitahu perkara tersebut.
Ubah Kod Pengaturcaraan
Tidak ada banyak kod yang boleh diubah untuk mengawal pembaz, dek kerana cara penggunaannya yang agak ringkas. Anda boleh mencuba fungsi-fungsi lain untuk mengawal pembaz disini – gpiozero API Output Buzzer.
Mungkin anda pernah hadapi dimana tempoh bunyi yang dihasilkan tidak sekata walaupun pada kod pengaturcaraan adalah tetap. Ini kerana, Raspberry Pi menjalankan sistem operasi dan menguruskan pelbagai tugasan pada satu masa, tidak seperti Arduino. Saya sarankan untuk tidak membina projek yang sangat mementingkan ketepatan masa di Raspberry Pi. Jika anda memang perlukannya, gunalah mikropengawal untuk memudahkan kerja anda.
Semoga perkongsian ini bermanfaat. Bagi membolehkan saya terus mengusahakan blog ini, amatlah berbesar hati sekiranya tuan/puan dapat memberi sumbangan ikhlas bagi menampung kos (hosting, domain, masa, barang, dll). Terima kasih. Maybank Idris Zainal Abidin 162731011315