percobaan 4 kondisi 4
By: Haykal Aqsara
2210951023
Percobaan 4 kondisi 4
1. Kondisi [Kembali]
- Rangkai dengan inputnya yaitu potensiometer dan outputnya yaitu 1 motor servo dan 1 Buzzer.
- Buatlah program dengan konfigurasi pin input dan output berdasarkan pada pin GP Raspberry yang telah dirangkai sebelumnya. Kemudian buatlah program untuk menghasilkan output motor servo bergerak searah jarum jam dan output Buzzer berbunyi bertambah keras seiring diputar potensiometer kearah kiri.
- Run program, putar potensiometer untuk melihat output motor servo dan buzzer
- Program selesai
Program ini dibuat untuk membaca input dari potensiometer melalui pin ADC (Analog to Digital Converter) dan mengendalikannya ke dua perangkat keluaran: motor servo dan buzzer. Potensiometer dihubungkan ke pin GP26 pada mikrokontroler Raspberry Pi Pico yang memiliki kemampuan ADC. Nilai yang diperoleh dari potensiometer berupa data 16-bit (kisaran 0 hingga 65535), yang merepresentasikan posisi fisik potensio. Pembacaan dilakukan secara terus-menerus dalam loop while True
guna memperoleh data secara real-time.
Nilai dari potensiometer tersebut kemudian diubah menggunakan fungsi map_value()
dari rentang 0–65535 ke sudut yang dapat dimengerti oleh motor servo, yakni antara 0° hingga 180°. Sudut ini kemudian dikonversi ke bentuk duty cycle PWM sesuai kebutuhan kontrol servo. Duty cycle ini berbentuk 16-bit (menggunakan duty_u16
) dan dikalkulasi dari sudut menjadi nilai antara 1500 sampai 7500. Rentang ini dipilih karena motor servo umumnya menerima sinyal PWM dengan lebar pulsa antara 0,5 ms (untuk 0°) hingga 2,5 ms (untuk 180°) pada periode 20 ms (frekuensi 50 Hz). Nilai duty cycle ini kemudian dikirim ke pin PWM GP16 yang terhubung ke motor servo, sehingga gerakan servo mengikuti perubahan posisi potensiometer.
Untuk buzzer, program juga memanfaatkan nilai dari potensiometer untuk menentukan frekuensi bunyinya. Namun, berbeda dengan sebelumnya, buzzer hanya akan menyala jika sudut servo berada di luar rentang normal, yaitu kurang dari 0° atau lebih dari 180°. Kondisi ini mencerminkan bahwa potensiometer berada di luar batas kendali sudut yang diizinkan. Frekuensi buzzer ditentukan secara linier dari nilai ADC potensiometer, dalam rentang 200 Hz hingga 2000 Hz. Sinyal ke buzzer dikirim melalui pin PWM GP14 dengan duty cycle sebesar 30000 dari total 65535, yang menghasilkan suara dengan volume tertentu.
Dengan sistem ini, pengguna cukup memutar potensiometer untuk mengatur arah motor servo dan mendeteksi peringatan suara buzzer ketika sudut berada di luar batas yang ditentukan. Pendekatan ini menunjukkan konversi sinyal analog menjadi kontrol digital untuk perangkat output menggunakan mikrokontroler, dan sangat cocok digunakan dalam aplikasi interaktif seperti sistem peringatan posisi, kontrol servo berbasis sensor, serta pembelajaran dasar mekatronika dan pengendalian PWM.
Komentar
Posting Komentar