import machine
import utime
# Konfigurasi pin
led_pin = machine.Pin(15, machine.Pin.OUT)
potentiometer_pin = machine.ADC(28)
button_pin = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_UP)
potentiometer_threshold = 1000 # Ambang batas potensiometer untuk menyalakan lampu
led_pwm = machine.PWM(led_pin) # Inisialisasi PWM untuk lampu LED
led_state = 1 # Inisialisasi keadaan awal lampu LED (1: menyala, 0: mati)
try:
while True:
# Membaca nilai potensiometer
pot_value = potentiometer_pin.read_u16()
# Mengatur kecerahan lampu LED berdasarkan nilai potensiometer
brightness = int(pot_value / 65535 * 1023)
led_pwm.freq(1000) # Frekuensi PWM
led_pwm.duty_u16(brightness)
# Mengecek push button
button_state = button_pin.value()
if button_state == 0: # Jika push button ditekan
# Toggle keadaan lampu LED
led_state = 1 - led_state
# Jika lampu LED dinyalakan, berkedip selama 1 detik
if led_state == 1:
for _ in range(5):
led_pwm.duty_u16(65535)
utime.sleep(0.2)
led_pwm.duty_u16(0)
utime.sleep(0.2)
else:
# Jika lampu LED dimatikan, tunggu sebentar
utime.sleep(0.5)
# Memberikan jeda sebentar sebelum membaca nilai potensiometer lagi
utime.sleep(0.1)
except KeyboardInterrupt:
pass
finally:
# Mematikan lampu dan membersihkan GPIO
led_pwm.duty_u16(0)