步骤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,仅用于查看可获得的颜色。您可以随时改进代码,并用颜色制作更多不同的东西。
我希望您喜欢并喜欢我的指导。我希望写更多关于我将来学到的东西以及分享我的项目的信息。
稳压二极管参数说明
TI OV10640汽车1.3M照相模块TIDA-00421参考设计
如何从代码的角度解读深度学习
直流减速电机使用说明
基于PIC32单片机的经典设计汇总
带PWM的RGB LED色彩效果的制作
国家自然科学基金重磅项目:我国光纤传感技术发展路线图
2015 IOT大会听大咖们讲述关于车联网的故事
通过利用编程语言LabVIEW实现数字变频FFT的频谱细化算法设计
电池技术相互结合进取才是必要的进步!
单缓冲方式的接口与应用
2021年DRAM内存价格将触底反弹
如何判断电脑是否支持DIY 超频?这篇文章告诉你
74ls175是什么(74ls175引脚图及功能_内部结构原理图及应用电路)
寻找医疗领域的下一个蓝海市场,医疗无人机将迎来爆发式增长
荣耀、小米、联想“吓人的技术”大争论
Renesas GUI挑战赛—基于智能家居系统的创建
哈佛结构和冯诺依曼结构的区别
马云无人超市最新消息汇总:杭州无人超市火爆夏天,马云却说暂时不面向社会这不是打脸吗?
美方称60国弃用中国5G 中方回应