步骤1:获取组件
您需要什么:
Raspberry Pi 3(如果型号不同,也没什么不同)
RGB LED阴极或阳极
1 x 100 ohm和2 x 150 ohm电阻
Micro USB电缆2.5 A,5 V USB电源(对于RPi 3,它最多需要2.5 A,但是对于较旧的版本2 A就足够了)
SD卡
面包板
电缆或跳线-》在这种情况下,我建议使用雌雄跳线
步骤2:让我们从硬件开始
首先,让我们从硬件开始。对于硬件,必须确保使用的是RGB LED:阴极还是阳极?为此,您可以从根本上自己进行测试或咨询您的提供者。为了进行测试,只需将电缆连接到接地和3.3V引脚,然后将接地连接到RGB LED的长脚,再将3.3 V连接到任何其他脚。如果它点亮,则您的RGB LED为阴极RGB LED,如果不工作,则为阳极RGB LED。
最后,这两种类型的LED都是一样的,只是略有不同。使用共阴极LED,您必须将长脚接地(RPi 3的第6、9、14、20、25、30、34和39针),而将阳极LED则必须将其连接至5 V( RPi 3的第二或第四引脚)。如果您使用的是其他版本,唯一要做的就是打开RPi模型的“引脚列表”并检查RPi的5 V引脚。
对于红色,绿色和蓝色支脚,我选择了RPi 3的第20、21和22引脚。
您应该将rgb led的绿色引脚连接到GPIO 20,将红色引脚连接到GPIO 21,蓝色引脚连接到GPIO 22,但不直接连接到GPIO,从原理图上还可以看到,还必须连接电阻-红色100欧姆,绿色和蓝色150欧姆-然后,将RPi的GND直接连接到长脚如果使用共阴极,则为RGB LED的数量。否则,连接5 V而不是GND。您也可以使用不同的引脚,但是我为软件选择了它们。
为RPi 3接通电源后,您的硬件部分就完成了:)
在您的图片中可以看到,我没有使用任何电阻,这是因为我当前正在使用共阳极RGB LED,并且已将长脚直接连接到3.3V。
步骤3:继续使用软件
在我的RPi 3中,我使用Raspbian作为操作系统。我认为,这是查找来源的最简单的操作系统,也是最容易学习的操作系统。如果尚未上传,则可以从上面的链接中找到最新版本以及如何将其上传到RPi的指南。
https://www.raspberrypi.org/downloads/raspbian/
在此指导中,我更喜欢使用Python对RPi进行编程。它是一种易于读写的语言,非常适合包括我在内的初学者:)
对于使用Python进行编码,我更喜欢使用终端进行编程。您还可以使用Python 3或Python 2程序。但是从终端,我发现它更实用。如果您有其他意见,我想在评论中进行讨论:)
要开始编程,您应该打开终端屏幕并输入
nano rgbled.py
此命令将为您的RGB LED创建一个新的python文件。您也可以随意命名,我选择了此名称以使其与其他程序区分开。
您将看到空白页,用于编码。现在,这是您开始编写Python的部分。
这里是代码,此代码用于阴极RGB LED,因为它更常见且更易于使用,但我将为阳极做一些说明。 RGB LED,如果您无法使用代码启动程序,我也添加了Python文件,您也可以使用该文件:
#将RPi的引脚定义为Input/Output
import RPi.GPIO作为GPIO
#导入库以延迟命令。
导入时间
#用于GPIO编号
GPIO.setmode(GPIO.BCM)
#在您关闭时关闭警告编译代码GPIO.setwarnings(False)
RUNNING = True
#定义引脚
绿色= 20
红色= 21
blue = 22
#将引脚定义为输出
GPIO.setup(red,GPIO.OUT)
GPIO.setup (绿色,GPIO.OUT)
GPIO.setup(蓝色,GPIO.OUT)
#选择pwm的频率
频率= 100
#定义将要与PWM一起使用的引脚
RED = GPIO.PWM(red,Freq)
GREEN = GPIO.PWM(green,Freq)
BLUE = GPIO.PWM(blue,Freq)
尝试:
#我们在运行时从循环开始
:
#点亮针脚。 100表示将100%分配给该引脚
RED.start(100)
GREEN.start(1)
BLUE.start(1)
#对于阳极RGB LED用户,如果您也想从RED开始,唯一要做的就是将RED定义为1,将GREEN和BLUE定义为100。
对于x在范围内(1,101) ):
#用于更改PWM的宽度,此命令用于
GREEN.ChangeDutyCycle(x)
#对于阳极LED用户,只需更改x使用101-x
#并延迟时间。使用sleep。您可以通过从以下时间更改时间来改变颜色的持续时间
time.sleep(0.05)
对于x在范围(1,101):
红色.ChangeDutyCycle(101-x)
time.sleep(0.025)
for x in range(1,101)
GREEN.ChangeDutyCycle(101-x)
BLUE.ChangeDutyCycle(x)
time.sleep(0.025)
for x in range(1,101):
RED.ChangeDutyCycle (x)
time.sleep(0.025)
除了KeyboardInterrupt:
#这部分的目的是,当您中断代码时,它将停止while循环并关闭引脚,这意味着您的LED不再发光
RUNNING = False
GPIO.cleanup()
步骤4:运行代码
编写代码已完成。现在按CTRL + X退出代码,然后按Y保存代码。
您现在拥有一个Python代码,需要运行它。
要运行python代码,您需要输入终端:
sudo python RGBLED.py //或输入文件名而不是RGBLED
恭喜,您可以在这里完成所有操作!
这仅适用于一个RGB LED,仅用于查看可获得的颜色。您可以随时改进代码,并用颜色制作更多不同的东西。
我希望您喜欢并喜欢我的指导。我希望写更多关于我将来学到的东西以及分享我的项目的信息。
责任编辑:wv
-
led
+关注
关注
242文章
23252浏览量
660595 -
PWM
+关注
关注
114文章
5181浏览量
213810
发布评论请先 登录
相关推荐
评论