#!/usr/bin/env pythonimport RPi.GPIO as GPIO
import time
import random
pins ={'pin_R':11,'pin_G':12,'pin_B':13}
GPIO.setmode(GPIO.BOARD)# Numbers GPIOs by physical locationfor i in pins:
GPIO.setup(pins[i], GPIO.OUT)# Set pins' mode is output
GPIO.output(pins[i], GPIO.HIGH)# Set pins to high(+3.3V) to off led
p_R = GPIO.PWM(pins['pin_R'],100)
p_G = GPIO.PWM(pins['pin_G'],100)
p_B = GPIO.PWM(pins['pin_B'],100)
p_R.start(100)# Initial duty Cycle = 0(leds off)
p_G.start(100)
p_B.start(100)defoff():for i in pins:
GPIO.output(pins[i], GPIO.HIGH)# Turn off all ledsdefloop():whileTrue:
r = random.randint(0,100)
g = random.randint(0,100)
b = random.randint(0,100)
p_R.ChangeDutyCycle(r)
p_G.ChangeDutyCycle(g)
p_B.ChangeDutyCycle(b)
time.sleep(1)defdestroy():
p_R.stop()
p_G.stop()
p_B.stop()
off()
GPIO.cleanup()if __name__ =="__main__":try:
loop()except KeyboardInterrupt:
destroy()