from machine import Pin, ADC, PWM
import utime
# Konfigurasi pin
button_pin = 16
led_pin = 15
potentiometer_pin = 28
# Inisialisasi pin
button = Pin(button_pin, Pin.IN, Pin.PULL_DOWN)
led = PWM(Pin(led_pin))
pot = ADC(Pin(potentiometer_pin))
# Fungsi untuk membaca nilai potensiometer dan mengatur kecerahan LED
def update_led_brightness():
brightness = pot.read_u16()*256 // 256 # Menggunakan nilai potensiometer sebagai kecerahan (0-255)
led.duty_u16(brightness)
# Loop utama
while True:
# Mengecek apakah tombol ditekan
if button.value() == 1:
# Toggle keadaan LED
led.duty_u16(0 if led.duty_u16() > 0 else 65535) # Mengubah nilai duty cycle dari 0 ke 65535 atau sebaliknya
utime.sleep_ms(200) # Memberikan waktu debouncing
# Update kecerahan LED berdasarkan nilai potensiometer
update_led_brightness()
utime.sleep_ms(100) # Delay kecil untuk menghindari loop yang terlalu cepat