# import modules
########################################
from machine import Pin, PWM
from time import sleep
# set up pins
########################################
red = PWM(Pin(9))
green = PWM(Pin(8))
blue = PWM(Pin(7))
# Setup for each colour
frequency = 5000
red_pwm.freq (frequency)
green_pwm.freq (frequency)
blue_pwm.freq (frequency)
red_pwm.start(0)
green_pwm.start(0)
blue_pwm.start(0)
#Set color by changing duty cycle
def set_color(red, green, blue):
red_pwm.ChangeDutyCycle(red / 255 * 100)
green_pwm.ChangeDutyCycle(green / 255 * 100)
blue_pwm.ChangeDutyCycle(blue / 255 * 100)
try:
while True:
user_input = input("Enter RGB values (e.g. 255,0,28): ")
try:
r, g, b, = map(int, user_input.split(","))
if 0 <= r <= 255 and 0 <= g <= 255 and 0 <= b <= 255:
set_color(r, g, b)
else: print("Error, RGB values must be between 0 and 255")
except ValueError:
print("Error, Please enter valid RGB values in the format, r,g,b.")
except KeyboardInterrupt:
print("\nExiting Program...")
finally:
red_pwm.stop()
green_pwm.stop()
blue_pwm.stop()