import machine
import time
# Inisialisasi pin untuk push button
button_1 = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_DOWN)
button_2 = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_DOWN)
button_3 = machine.Pin(20, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Inisialisasi pin untuk servo dan buzzer
servo = machine.PWM(machine.Pin(12))
buzzer = machine.Pin(21, machine.Pin.OUT)
# Fungsi untuk membaca nilai dari push button
def read_buttons():
value_1 = button_1.value()
value_2 = button_2.value()
value_3 = button_3.value()
return value_1, value_2, value_3
# Fungsi untuk mengontrol servo
def control_servo(degrees):
duty = int(((degrees / 180) * 1023) + 1023 / 20)
servo.duty_u16(duty)
# Loop utama
while True:
button_values = read_buttons()
print("Nilai button 1:", button_values[0])
print("Nilai button 2:", button_values[1])
print("Nilai button 3:", button_values[2])
# Kondisi sesuai dengan ketentuan
if button_values[1] == 1 and button_values[2] == 3:
control_servo(50)
elif button_values[1] == 2 and button_values[2] == 2:
buzzer.value(1) # Buzzer ON
time.sleep(3) # Buzzer ON selama 3 detik
buzzer.value(0) # Matikan Buzzer
elif button_values[1] == 3 and button_values[2] == 1:
control_servo(100)
time.sleep(0.) # Delay untuk menghindari pembacaan berulang tombol yang ditekan