from machine import Pin, PWM, ADC
from time import sleep
# Setup PWM for RGB pins
red = PWM(Pin(2))
green = PWM(Pin(1))
blue = PWM(Pin(0))
red.freq(1000)
green.freq(1000)
blue.freq(1000)
# Setup potentiometer
pot = ADC(Pin(26))
while True:
# Red color pattern
red_value = int(pot.read_u16() / 65535 * 255)
green_value = 0 # No green in red pattern
blue_value = 0 # No blue in red pattern
red.duty_u16(int(red_value / 255 * 65535))
green.duty_u16(int(green_value / 255 * 65535))
blue.duty_u16(int(blue_value / 255 * 65535))
print("Flashing Red...")
sleep(1) # Wait for a second to see the red flash
# Green color pattern
red_value = 0 # No red in green pattern
green_value = int(pot.read_u16() / 65535 * 255)
blue_value = 0 # No blue in green pattern
red.duty_u16(int(red_value / 255 * 65535))
green.duty_u16(int(green_value / 255 * 65535))
blue.duty_u16(int(blue_value / 255 * 65535))
print("Flashing Green...")
sleep(1) # Wait for a second to see the green flash
# Blue color pattern
red_value = 0 # No red in blue pattern
green_value = 0 # No green in blue pattern
blue_value = int(pot.read_u16() / 65535 * 255)
red.duty_u16(int(red_value / 255 * 65535))
green.duty_u16(int(green_value / 255 * 65535))
blue.duty_u16(int(blue_value / 255 * 65535))
print("Flashing Blue...")
sleep(1) # Wait for a second to see the blue flash
# White color pattern
red_value = int(pot.read_u16() / 65535 * 255)
green_value = int(pot.read_u16() / 65535 * 255)
blue_value = int(pot.read_u16() / 65535 * 255)
red.duty_u16(int(red_value / 255 * 65535))
green.duty_u16(int(green_value / 255 * 65535))
blue.duty_u16(int(blue_value / 255 * 65535))
print("Flashing White...")
sleep(1) # Wait for a second to see the white flash
print("Program ended.")