版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guzhou_diaoke/article/details/88858602
- GPIO号
- 代码
#!/usr/bin/env python
import 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 location
for 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)
def off():
for i in pins:
GPIO.output(pins[i], GPIO.HIGH) # Turn off all leds
def loop():
while True:
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)
def destroy():
p_R.stop()
p_G.stop()
p_B.stop()
off()
GPIO.cleanup()
if __name__ == "__main__":
try:
loop()
except KeyboardInterrupt:
destroy()
- 结果