通过蓝牙控制RGB LED颜色

发布者:EE小广播最新更新时间:2021-12-22 来源: EEWORLD作者: Dialog半导体公司(瑞萨全资子公司)关键字:RGB  LED  APP  蓝牙  智能灯 手机看文章 扫描二维码
随时随地手机看文章

智能灯越来越受欢迎,并且正在稳步成为智能家居的关键部分。智能灯使用户能够通过智能手机上的应用程序控制灯光,可以在APP界面打开和关闭灯,也可以调节颜色。在本文中,我们将介绍一个如何实现智能灯控制器的项目,可以手动按钮或用移动APP通过蓝牙进行控制。为了给这个项目增加一些特色,我们添加了一些功能,允许用户从APP界面中包含的颜色列表中选择照明颜色。还可以激活“自动混合”以产生彩色效果,也可以每半秒改变一次灯光。用户可以使用PWM功能创建自己的颜色混合,该功能也可以用作三种基本颜色(红色、绿色、蓝色)的调光器。我们还在电路中添加了外部按钮,以便用户可以切换到手动模式并通过外部按钮调换灯光颜色。


本文由两部分组成:GreenPAK™设计和安卓应用程序设计。GreenPAK设计基于使用UART接口进行通信。选择UART是因为大多数蓝牙模块以及大多数其他外设(例如Wi-Fi模块)都支持它。 因此,GreenPAK设计可用于多种连接类型。


为了创建这个项目,我们将使用SLG46620 GreenPAK IC、一个蓝牙模块和一个RGB LED。


GreenPAK IC将是该项目的控制核心:它从蓝牙模块和/或外部按钮接收数据,然后开始所需的程序来显示正确的照明。它还生成PWM信号并将其输出到LED。下面的图1展示了功能框图。


image.png

图1:框图


该项目中使用的GreenPAK器件在单颗IC中包含了一个SPI连接接口、PWM功能块、FSM和许多其他有用的附加功能块。它还具有体积小、能耗低的特点。这使得制造商能用单个IC构建小型实用电路,从而降低生产成本。


在这个项目中,我们将控制一个RGB LED。为了使该项目具有商用可行性,系统可能需要通过并联多个LED并使用适当的晶体管来提高亮度等级;电源电路也需要考虑。我们对该项目完成了实现和检验。


GreenPAK设计


在GreenPAK Designer软件中实现的设计由UART接收器、PWM单元和控制单元组成。


a) UART接收器


首先,我们需要设置蓝牙模块。大多数蓝牙IC支持UART协议进行通信。UART是通用异步收发传输器,可以将数据在并行和串行格式之间相互转换。它包括一个串行到并行接收器,和一个并行到串行转换器,它们都单独计时。


蓝牙模块中接收到的数据将传输到GreenPAK器件。Pin10的空闲状态为高(HIGH)。发送的每个字符都以逻辑“低起始位(Low Start bit)”开头,然后是可配置数量的数据位(bit)和一个或多个逻辑“高停止位(High Stop bit)”。


UART发送器发送1个低起始位(Low Start bit)、8个数据位(bit)和1个高停止位(High Stop bit)。通常,蓝牙模块的UART默认波特率为9600。我们将从蓝牙IC发送数据字节到GreenPAK。


由于GreenPAK SPI功能块没有低起始位(Low Start bit)或高停止位(High Stop bit)控制,我们将使用这些位(bit)来启用和禁用SPI时钟信号(SCLK)。当Pin10变低(LOW)时,我们知道我们收到了一个低起始位(Low Start bit),因此我们使用GreenPAK 内部的PDLY配置为下降沿检测器来识别通信的开始。该下降沿检测器为GreenPAK 内部的DFF0提供触发时钟,从而启用SCLK信号为GreenPAK SPI功能块提供时钟。


我们将波特率设定为每秒9600 bit/s,对应SCLK周期为1/9600 = 104 µs。因此我们将OSC频率设置为2MHz,并使用GreenPAK内部的CNT0配置为分频器。为了使接收到的时钟周期是104 µs,需要将CNT0计数值设定为2818。


参照图2中GreenPAK内部的可配置单元图示,为了确保不丢失任何数据,我们需要将SPI时钟延迟半个时钟周期,以便SPI功能块在正确的时间被计时。我们通过使用CNT6、2-bit LUT1和OSC功能块的外部时钟来实现这一点。CNT6的输出直到DFF0被计时后52 µs才会变高,是该SPI的SCLK周期104 µs的一半。当CNT6为高(HIGH)的时侯,配置为与门的2-bit LUT1允许时钟信号(CLK Begin)进入OSC 的EXT. CLK0输入,其输出时钟信号连接到CNT0的CLK端子。


image.png

图2:系统电路框图


b) PWM功能单元


参照图3中GreenPAK内部的可配置单元图示,PWM信号是使用PWM0和相应时钟脉冲发生器(CNT8/DLY8)生成的。由于脉冲宽度是用户可控的,我们使用FSM0(可以连接到PWM0)来统计用户数据。


在SLG46620中,8-bit FSM1可以与PWM1和PWM2结合使用。需要连接蓝牙模块,即必须使用SPI并行输出模块。SPI并行输出模块的bit 0~7与DCMP1、DMCP2和LF OSC CLK的OUT1和OUT0组合。PWM0从16-bit FSM0获得其输出。如果不改变,这会导致脉冲宽度过载。为了将计数器值限制在8位(bits),我们添加了另一个FSM:FSM1用作提示计数器达到0或255的提示器。FSM0用于生成 PWM脉冲,因此FSM0和FSM1必须同步。由于两个FSM都有预设的时钟选项,因此CNT1和CNT3用作将CLK传递给两个FSM的中间分频媒介。这两个计数器设置为相同的值,在本文中为25。我们可以通过改变这些计数器值来改变PWM值的变化率。


FSM的值由来自SPI并行输出模块的信号“+”和“-”来增加和减少。


image.png

图3:PWM单元设计


c) 控制单元


参照图4中GreenPAK内部的可配置单元图示,在控制单元内,接收到的字节是从蓝牙模块获取到SPI并行输出,然后传递给相关的功能模块。首先,将检查PWM CS1和PWM CS2输出,查看PWM模式是否被激活。如果它被激活,它将决定通过LUT4、LUT6和LUT7中的哪个通道输出PWM。


LUT9、LUT11和LUT14负责检查其他两个LED的状态。LUT10、LUT12和LUT13检查手动按钮是否被激活。如果手动模式处于开启状态,则RGB将根据D0、D1、D2输出状态运行,每次按下颜色按钮时,这些输出状态会改变。它随着来自CNT7的上升沿而变化,CNT7用作上升沿信号的去抖动功能。


Pin 20配置为输入,用于在手动控制模式和蓝牙控制模式之间切换。


如果禁用手动模式并开启自动混合模式,则颜色每500毫秒改变一次,上升沿来自CNT7。4-bit LUT1 用于防止D0 D1 D2处于“000”状态,因为该状态会导致灯在自动混合模式时关闭。


如果手动模式、PWM模式和自动混合模式未启用,则红色、绿色和蓝色SPI命令流向引脚12、13和14,这些引脚配置为输出,并连接到外部RGB LED。


image.png

图4:系统电路框图


DFF6、DFF7和DFF8用于构建3-bit二进制计数器。计数器值随着CNT7脉冲增加,并在MUXs' (GreenPAK逻辑单元LUT10、LUT12、LUT13)的输入端产生不同的D0,D1,D2逻辑组合。


安卓应用程序


在本节中,我们将创建一个安卓应用程序,它将监测和显示用户的控件选择。界面由两部分组成:第一部分包含一组具有预定义颜色的按钮,因此当按下这些按钮中的任意一个时,相应颜色的LED会亮起。第二部分(MIX方块)为用户创建混合颜色。


在第一部分,用户选择他们希望PWM信号通过的LED引脚;PWM信号一次只能传递到一个引脚。下面的列表在PWM模式期间逻辑地控制其他两种颜色的开/关。


自动混合按钮负责运行自动换灯光模式,每半秒换一次灯光。MIX部分包含两个复选框列表,用户可以决定将哪两种颜色混合在一起。


我们使用MIT App Inventor网站创建了该应用程序。该网站允许用户在没有任何软件经验的情况下,使用图形软件块创建安卓应用程序。


我们最初设计的图形界面添加了一组负责显示预定义颜色的按钮,我们还添加了两个复选框列表,每个列表有3个元素;每个元素都在其单独的框中显示,如图5所示。


image.png

图5:App界面


用户界面中的按钮与软件命令相关联:应用程序通过蓝牙发送的所有命令都是以字节格式,每一个bit负责特定的功能。


表1显示了发送到GreenPAK的命令帧的形式。


image.png

表1:bit帧表示


前三个bit:B0、B1和B2将通过预定义颜色的按钮在直接控制模式下保持RGB LED的状态。因此,当单击其中任意一个按钮时,将发送该按钮的相应值,如表2所示。


image.png

表2:命令bit表示


B3和B4 bit控制“+”和“-”命令,它们负责增加和减少脉冲宽度。按下按钮时bit值为1,松开按钮时bit值为0。


B5和B6 bit负责选择PWM信号将通过的引脚(颜色):这些bit的颜色指定如表3所示。最后一个bit B7负责激活自动混合功能。


image.png

表3:PWM通道选择bit


图6和图7展示了将按钮与负责发送以上值的编程块链接的过程。


image.png

图6:按钮的编程块


image.png

图7:发送“+”和“-”命令帧


下方图8为顶层电路图。


image.png

图8:电路图


控制器已测试成功,颜色混合以及其他功能均显示正常工作。


结论


在本文中,我们创建了一个由安卓应用程序进行无线控制的智能灯电路。该项目中使用的GreenPAK IC有助于将几个用于控制灯光的基本组件集成到一个小型IC中。


关键字:RGB  LED  APP  蓝牙  智能灯 引用地址:通过蓝牙控制RGB LED颜色

上一篇:三季度中国可穿戴设备市场出货量增速显著下降
下一篇:爱芯元智亮相ICCAD 2021:详解自研芯片AI赋能ISP提升画质

推荐阅读最新更新时间:2024-11-10 07:41

如何使LED灯泡可调光
  多年来,制造商不断向市场推出LED灯,其最终目标是要用来取代白炽灯和紧凑型荧光灯(CFL)。这些灯泡设计的演变经历了从非常简单的不可调光方案,到高级但昂贵的可调光方案,再到性价比更高的可调光方案。   许多LED灯都宣称可调光,但实际上,很多LED灯的性能并不十分理想,且由于所使用的调光器和电路负载不同而性能各异。有时,将LED灯安装在设有调光器的室内后,LED灯会出现闪烁且无法均衡调整光亮度的情况。   这些缺陷是由于现阶段美国使用的大部分调光器都是基于双向晶闸管(TRIAC)二线前沿切相电路的,这些电路开发于20世纪60年代,适用于电阻式白炽灯。TRIAC是一种双向半导体电源开关,由可变定时电路生成的脉冲触发,并在传导电流
[电源管理]
如何使<font color='red'>LED</font>灯泡可调光
三星提前引爆Micro LED与OLED电视对决战火 Mini LED阵营伺机出击
近年来高端大尺寸电视战场打得如火如荼,力推OLED电视的乐金电子(LG Electronics)、Sony等在高端电视市场抢得优势,电视龙头厂三星电子(Samsung Electronics)面对严峻挑战,决定提前让次世代显示技术Micro LED上阵,2018年下半将登上全球舞台,抢攻全球顶端消费市场试水温,并与OLED电视正面交锋。   三星过去在电视市场扮演呼风唤雨的主导角色,然而大陆电视厂强势崛起,日系电视厂杀出重围,使得三星市占流失的压力大增,2017年三星电视销售量估计约4,200万台,衰退约10%,2018年出货量恐再度下修,尤其是三星策略性转攻50吋以上的大尺寸电视市场,可能导致销售量持续下滑。   全球OLED电
[手机便携]
C51---2.3 LED流水灯
原理图 main函数 固定500ms延时 LED1-LED8流水灯闪烁 #include REGX52.H #include INTRINS.H void Delay500ms() //@12.000MHz { unsigned char i, j, k; _nop_(); i = 4; j = 205; k = 187; do { do { while (--k); } while (--j); } while (--i); } void main() { while(1) { P2=0XFE;//1111 1110 De
[单片机]
C51---2.3 <font color='red'>LED</font>流水灯
国星光电:公司Micro LED芯片实现小批量供货
近日,国星光电在接受投资者调研时表示,公司聚焦Mini/Micro LED超高清显示领域, 持续推出有核心竞争力的产品系列:Mini LED方面,公司研发覆盖了Mini直显P0.4到P0.9全系列产品,其中 Mini LED P0.4系列产品为全球首发,采用独创 20in1 封装方式,是目前全球封装密度最高的Mini产品;Mini背光方面,公司储备Mini POB、Mini COB、Mini COG三大技术路线,可满足不同客户定制化需求。 Micro LED方面,国星光电发挥子公司国星半导体与本部上下游联动优势,巨量转移工艺取得突破性进展,产品良率高,同时国星半导体已开发了面向于P0.3间距及面向P0.1间距的Micro LED
[手机便携]
POV LED时钟的设计
设计一个旋转的LED时钟,将一排LED灯组安装在指针旋转板上,利用人眼的视觉暂留效应,使用单片机I/O端口控制LED的点亮和熄灭形成图像从而显示出时钟画面。在介绍旋转LED时钟的实现原理和方案的同时,给出了其硬件电路设计和软件流程。 1 旋转时钟原理分析 物体在快速运动时,当人眼看到的影像消失后,人眼仍能继续保留其影像,约0.1秒左右,这种现象称为视觉暂留现象。旋转时钟就是利用了视觉暂留效应,原理如图1所示。图1(a)中最内侧的一个发光二极管和最外侧的一个发光二极管在点亮并绕电机轴高速旋转后就形成了图1(b)所示的内框和外框。图1(b)紧挨着外框的那个LED灯用来显示时间刻度。假设12点那个刻度为0°,则每个小时时针之间的角度
[单片机]
POV <font color='red'>LED</font>时钟的设计
采用LED模拟调光的机器视觉辨认系统电路设计指南
  由于发光二级管技术的不断发展,正逐步地应用于信号、显示、照明和机器视觉辨认等各种领域。而常用的LED 亮度控制方式主要是模拟调光和数字调光( PWM)。比起现有的模拟调光,数字调光能取得一个更高的调光比和电流精度,应用更为广泛。在普通照明中,PWM 调光的开关频率一般在几百到几千赫兹之间,可以有效的避免人眼可见的闪烁。但在机器视觉辨认和工业检验等领域,由于使用的高速摄像机和传感器响应速度速度比人眼快很多,因此在这些领域使用PWM调光必须增加开关频率到几十千甚至更高,实现较为复杂,而模拟调光却没有这方面的问题。本文通过可变降压和线性调光的两级电路实现了高效、准确、高动态范围的模拟调光输出,并使用TI 的 C2430 芯片来实现输
[电源管理]
采用<font color='red'>LED</font>模拟调光的机器视觉辨认系统电路设计指南
我国 LED 照明行业发展情况探讨解析
北京时间2013年10月30日,2013-2014赛季NBA常规赛打响,相比LED照明行业的常规赛,NBA却没有这么激烈。毋庸置疑,LED是照明行业近几年来升起的新秀。它打败了节能,推到了白炽灯统治的时代。无论是技术创新,还是节能意识都越来越被大众所推崇。但“LED照明何时迎来总决赛”这个疑问一直缠扰着行业。 LEDVS政策 2013年3季度,相关政策聚焦在节能环保领域,包括中央出台两项文件和安徽省《节能环保产业发展规划的通知》,三项文件均明确提出促进半导体照明发展,并提出具体目标措施。 中央发布的两项文件《国务院关于加快发展节能环保产业的意见》和《关于加大工作力度确保实现2013年节能减排目标任务的通知》,就培
[电源管理]
我们为什么要关注蓝牙LE Audio标准?
iEB110 IP的LE Audio功能,制造商可以开发出低功耗音频产品,这些产品可以提供一些革命性的新功能,这些功能以前是无法实现的,即使是通过第三方专有解决方案。这个新版本(指带有LE Audio的蓝牙5.2版本)的主要亮点是首次通过Bluetooth LE链路提供音频支持。这被称为蓝牙技术联盟历史上最大的开发成果之一,Bluetooth LE现在不仅支持音频,其新功能集还将支持多个应用场景,这些应用将改变我们未来多年使用和共享音频的方式。 LE Audio的核心是新的低复杂度通信编解码器(LC3),它是现在所有LE Audio产品所必需的,支持广泛的采样率、比特率和帧率,可以为产品开发人员提供最大的灵活性来优化其产品,进而为
[嵌入式]
我们为什么要关注<font color='red'>蓝牙</font>LE Audio标准?
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved