600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 树莓派GPIO控制RGB彩色LED灯

树莓派GPIO控制RGB彩色LED灯

时间:2021-08-27 02:26:06

相关推荐

树莓派GPIO控制RGB彩色LED灯

树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色。

RGB模块简介

这个RGB彩色LED里其实有3个灯,分别是红灯、绿灯和蓝灯。控制这三个灯分别发出不同强度的光,混合起来就能发出各种颜色的光了。 LED灯上的4根引脚分别是GND,R,G,B。 GND需要接地。我们把它连到树莓派的电源地上。 R,G,B分别是红绿蓝灯的正极接口。我们把它们连接到树莓派的GPIO口上。

RGB彩色LED灯模块.jpg

硬件连接

R接到树莓派GPIO18

G连接树莓派GPIO15

B连接树莓派GPIO14

其中GPIO编号方式为BCM编号方式,具体请看

电路连接原理图如下:

树莓派连接RGB彩色LED灯原理图

程序代码

新建RGB_LED.py文件,输入以下代码:

#!/usr/bin/env python# encoding: utf-8import RPi.GPIOimport timeR,G,B=18,15,14RPi.GPIO.setmode(RPi.GPIO.BCM)RPi.GPIO.setup(R, RPi.GPIO.OUT)RPi.GPIO.setup(G, RPi.GPIO.OUT)RPi.GPIO.setup(B, RPi.GPIO.OUT)pwmR = RPi.GPIO.PWM(R, 50)pwmG = RPi.GPIO.PWM(G, 50)pwmB = RPi.GPIO.PWM(B, 50)pwmR.start(0)pwmG.start(0)pwmB.start(0)try:t = 1while True:# 红色灯全亮,蓝灯,绿灯全暗(红色)pwmR.ChangeDutyCycle(100)pwmG.ChangeDutyCycle(0)pwmB.ChangeDutyCycle(0)time.sleep(t)# 绿色灯全亮,红灯,蓝灯全暗(绿色)pwmR.ChangeDutyCycle(0)pwmG.ChangeDutyCycle(100)pwmB.ChangeDutyCycle(0)time.sleep(t)# 蓝色灯全亮,红灯,绿灯全暗(蓝色)pwmR.ChangeDutyCycle(0)pwmG.ChangeDutyCycle(0)pwmB.ChangeDutyCycle(100)time.sleep(t)# 红灯,绿灯全亮,蓝灯全暗(黄色)pwmR.ChangeDutyCycle(100)pwmG.ChangeDutyCycle(100)pwmB.ChangeDutyCycle(0)time.sleep(t)# 红灯,蓝灯全亮,绿灯全暗(洋红色)pwmR.ChangeDutyCycle(100)pwmG.ChangeDutyCycle(0)pwmB.ChangeDutyCycle(100)time.sleep(t)# 绿灯,蓝灯全亮,红灯全暗(青色)pwmR.ChangeDutyCycle(0)pwmG.ChangeDutyCycle(100)pwmB.ChangeDutyCycle(100)time.sleep(t)# 红灯,绿灯,蓝灯全亮(白色)pwmR.ChangeDutyCycle(100)pwmG.ChangeDutyCycle(100)pwmB.ChangeDutyCycle(100)time.sleep(t)except KeyboardInterrupt:passpwmR.stop()pwmG.stop()pwmB.stop()RPi.GPIO.cleanup()PythonCopy

然后,运行这个py脚本,就可以看到RGBLED灯在7种颜色间切换。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。