0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带PWM的RGB LED色彩效果的制作

454398 来源:网络整理 作者:佚名 2019-11-11 11:11 次阅读

步骤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
    led
    +关注

    关注

    242

    文章

    23252

    浏览量

    660595
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5181

    浏览量

    213810
收藏 人收藏

    评论

    相关推荐

    PWMLED调光中的应用

    脉冲宽度调制(PWM)是一种常用的调光技术,它通过改变脉冲的宽度来控制LED灯的亮度。这种技术因其高效、节能和易于控制的特点,在LED调光领域得到了广泛的应用。 PWM的基本原理
    的头像 发表于 11-28 16:33 630次阅读

    PWM调制技术在LED亮度调节中的使用

    随着科技的发展,LED(发光二极管)因其高亮度、低能耗、长寿命等优点,在照明领域得到了广泛的应用。LED的亮度调节是其应用中的一个重要环节,它不仅关系到照明效果,还直接影响到能源的利用效率。P
    的头像 发表于 11-18 15:28 836次阅读

    如何选择RGB LED驱动器

    电子发烧友网站提供《如何选择RGB LED驱动器.pdf》资料免费下载
    发表于 09-25 14:29 0次下载
    如何选择<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>驱动器

    使用STM32CubeMX输出PWM,并制作呼吸灯效果

    概述 本篇文章主要介绍如何使用STM32CubeMX输出PWM,并制作呼吸灯效果。 硬件准备 首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板: 选择芯片型号 配置时钟源
    发表于 09-04 10:38

    【GD32F303红枫派开发板使用手册】第八节 TIMER-RGB彩灯实验

    本例程中使用的RGB彩灯采用共阳极驱动方式,使用三路PWM进行驱动,对应引脚输出低电平的时候对应RGB灯珠点亮,调节不同路的PWM占空比可以实现多种多样的颜色,每个通道可以输出0%-1
    的头像 发表于 06-04 09:49 481次阅读
    【GD32F303红枫派开发板使用手册】第八节 TIMER-<b class='flag-5'>RGB</b>彩灯实验

    如何使用中断的pwm来实现LED呼吸?

    我想使用中断的 pwm 来实现 LED 呼吸,即 LED 的强度应该增加或减少。
    发表于 06-04 07:21

    数字和PWM亮度控制的白色LED驱动器TPS6116x数据表

    电子发烧友网站提供《数字和PWM亮度控制的白色LED驱动器TPS6116x数据表.pdf》资料免费下载
    发表于 04-09 15:38 0次下载
    <b class='flag-5'>带</b>数字和<b class='flag-5'>PWM</b>亮度控制的白色<b class='flag-5'>LED</b>驱动器TPS6116x数据表

    SPI接口、模拟和PWM调光的双通道降压LED控制器TPS92518数据表

    电子发烧友网站提供《SPI接口、模拟和PWM调光的双通道降压LED控制器TPS92518数据表.pdf》资料免费下载
    发表于 04-08 14:47 3次下载
    <b class='flag-5'>带</b>SPI接口、模拟和<b class='flag-5'>PWM</b>调光的双通道降压<b class='flag-5'>LED</b>控制器TPS92518数据表

    PWM接口和可编程PWM调光的白色LED驱动器TPS61183数据表

    电子发烧友网站提供《PWM接口和可编程PWM调光的白色LED驱动器TPS61183数据表.pdf》资料免费下载
    发表于 03-29 09:22 0次下载
    <b class='flag-5'>带</b><b class='flag-5'>PWM</b>接口和可编程<b class='flag-5'>PWM</b>调光的白色<b class='flag-5'>LED</b>驱动器TPS61183数据表

    数字和Pwm亮度控制的白色Led驱动器TPS61161-Q1数据表

    电子发烧友网站提供《数字和Pwm亮度控制的白色Led驱动器TPS61161-Q1数据表.pdf》资料免费下载
    发表于 03-13 09:42 0次下载
    <b class='flag-5'>带</b>数字和<b class='flag-5'>Pwm</b>亮度控制的白色<b class='flag-5'>Led</b>驱动器TPS61161-Q1数据表

    PWM亮度控制的白色LED驱动器TPS6116xA数据表

    电子发烧友网站提供《PWM亮度控制的白色LED驱动器TPS6116xA数据表.pdf》资料免费下载
    发表于 03-13 09:34 0次下载
    <b class='flag-5'>带</b><b class='flag-5'>PWM</b>亮度控制的白色<b class='flag-5'>LED</b>驱动器TPS6116xA数据表

    PWM亮度控制的双组低损耗LED驱动器TPS7510x数据表

    电子发烧友网站提供《PWM亮度控制的双组低损耗LED驱动器TPS7510x数据表.pdf》资料免费下载
    发表于 03-04 14:17 0次下载
    <b class='flag-5'>带</b><b class='flag-5'>PWM</b>亮度控制的双组低损耗<b class='flag-5'>LED</b>驱动器TPS7510x数据表

    PWM亮度控制的低损耗双组LED驱动器TPS7510x数据表

    电子发烧友网站提供《PWM亮度控制的低损耗双组LED驱动器TPS7510x数据表.pdf》资料免费下载
    发表于 03-04 13:51 0次下载
    <b class='flag-5'>带</b><b class='flag-5'>PWM</b>亮度控制的低损耗双组<b class='flag-5'>LED</b>驱动器TPS7510x数据表

    PWM亮度控制的双组低损耗LED驱动器TPS7510x 数据表

    电子发烧友网站提供《PWM亮度控制的双组低损耗LED驱动器TPS7510x 数据表.pdf》资料免费下载
    发表于 03-04 13:42 0次下载
    <b class='flag-5'>带</b><b class='flag-5'>PWM</b>亮度控制的双组低损耗<b class='flag-5'>LED</b>驱动器TPS7510x 数据表

    如何使用Arduino控制RGB LED

    在本指南中,您将学习如何使用Arduino控制RGB LEDRGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino
    的头像 发表于 02-11 10:28 4908次阅读
    如何使用Arduino控制<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>