Percobaan 4
MOTOR, BUZZER DAN POTENSIOMETER
- 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
2. Hardware dan Diagram Blok[Kembali]
A. Hardware
B. Blok Diagram
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
A. Rangkaian Simulasi
B. Prinsip Kerja
Rangkaian ini bekerja dengan sebuah potensiometer sebagai input dan motor servo serta buzzer sebagai output. Seiiring potensiometer diperbesar nilainya maka akan menggerakkan motor servo searah jarum jam dan bunyi buzzer bertambah keras suaranya.
4. Flowchart dan Listing Program[Kembali]
from machine import Pin, PWM, ADC
from time import sleep
import utime
# Inisialisasi
pot = ADC(26) # GP26 = ADC0
servo = PWM(Pin(16))
buzzer = PWM(Pin(14))
# Konfigurasi PWM
servo.freq(50) # 50 Hz untuk servo
buzzer.freq(1000) # Awal frekuensi buzzer
def map_value(value, in_min, in_max, out_min, out_max):
return int((value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
while True:
val = pot.read_u16() # Nilai ADC 16-bit (0 - 65535)
# === Servo Motor ===
# Membaca nilai potensiometer (0 - 65535)
pot_value = pot.read_u16()
# Konversi ke sudut servo (0° - 180°)
angle = map_value(pot_value, 0, 65535, 0, 180)
# Konversi sudut ke duty cycle (1500 - 7500) → sesuai servo PWM
duty = map_value(angle, 0, 180, 1500, 7500)
servo.duty_u16(duty)
# Print untuk debugging
print(f"Pot Value: {pot_value}, Angle: {angle}, Duty: {duty}")
# === Buzzer ===
# Ubah val ke frekuensi (200 Hz - 2000 Hz)
freq = int(200 + (val / 65535) * (2000 - 200))
buzzer.freq(freq)
buzzer.duty_u16(30000) # Volume/suaranya
sleep(0.05)
Buatlah rangkaian seperti gambar pada percobaan 4, jika nilai pada potensiometer diperbesar maka servo bergerak searah jarum jam dan buzzer berbunyi bertambah frekuensinya.
Rangkaian Simulasi Klik Disini
Video Demo Klik Disini
DataSheet Raspberry Pi Pico Klik Disini
DataSheet Buzzer Klik Disini
DataSheet Motor Servo Klik Disini



