from machine import Pin, PWM # import Pin and PWM classes
from random import randint # import randint function
import time # import time module
pins = [13, 12, 11] # set pins of RGB Led
freq_num = 10000 # set PWM frequency to 10kHz
pwm0 = PWM(Pin(pins[0])) # create PWM object from Pin13
pwm1 = PWM(Pin(pins[1])) # create PWM object from Pin12
pwm2 = PWM(Pin(pins[2])) # create PWM object from Pin11
pwm0.freq(freq_num) # set PWM frequency
pwm1.freq(freq_num) # set PWM frequency
pwm2.freq(freq_num) # set PWM frequency
def setColor(r, g, b): # define setColor function
pwm0.duty_u16(65535 - r) # set PWM duty cycle
pwm1.duty_u16(65535 - g) # set PWM duty cycle
pwm2.duty_u16(65535 - b) # set PWM duty cycle
try: # if have no error, run the program between try: and except:
while True: # create an infinite loop
red = randint(0, 65535) # generate random number
green = randint(0, 65535) # generate random number
blue = randint(0, 65535) # generate random number
setColor(red, green, blue) # set RGB Led color
time.sleep_ms(200) # sleep 200 milliseconds
except: # if have error, run the program between except:
pwm0.deinit() # turn off PWM
pwm1.deinit() # turn off PWM
pwm2.deinit() # turn off PWM