from machine import Pin
from utime import sleep
#####################################
###### PIN CONFIGURATIONS
led1_pin = Pin(4, Pin.OUT)
led2_pin = Pin(2, Pin.OUT)
dp1_pin = Pin(17, Pin.IN)
dp2_pin = Pin(18, Pin.IN)
#####################################
###### MAIN ROUTINE
def main():
while True:
# Read button states
dp1_state = dp1_pin.value()
dp2_state = dp2_pin.value()
# DP1 & DP2 released → both OFF
if dp1_state == 0 and dp2_state == 0:
sub_led1_off()
sub_led2_off()
# DP1 pressed, DP2 released → LED1 ON
elif dp1_state == 1 and dp2_state == 0:
sub_led1_on()
sub_led2_off()
# DP1 released, DP2 pressed → LED2 ON
elif dp1_state == 0 and dp2_state == 1:
sub_led1_off()
sub_led2_on()
# Both pressed → both ON
elif dp1_state == 1 and dp2_state == 1:
sub_led1_on()
sub_led2_on()
sleep(0.1) # small delay for stability
#####################################
###### SUBROUTINES
def sub_led1_on():
led1_pin.on()
def sub_led1_off():
led1_pin.off()
def sub_led2_on():
led2_pin.on()
def sub_led2_off():
led2_pin.off()
#####################################
###### EXECUTE MAIN
if __name__ == '__main__':
main()