智能灯泡最近越来越受欢迎,并且正在稳步成为智能家居工具包的关键部分。智能灯泡使用户能够通过用户智能手机上的特殊应用程序控制灯光。灯泡可以打开和关闭,颜色可以从应用程序界面更改。在本文中,我们将描述一个实现智能灯泡控制器的项目,该控制器可以通过手动按钮或移动应用程序通过蓝牙进行控制。为了给这个项目添加一些天赋,我们添加了一些功能,允许用户从应用程序界面中包含的颜色列表中选择一种照明颜色。它还可以激活“自动混合”以产生色彩效果并每半秒改变一次照明。用户可以使用 pwm 功能创建他们的颜色混合,该功能也可以用作三种基本颜色(红色、绿色、蓝色)的调光器。我们还在电路中添加了外部按钮,以便用户可以切换到手动模式并通过外部按钮更改灯光颜色。
本文由两部分组成;greenpak™ 设计(请参阅其他应用示例)和 android 应用程序设计。greenpak 设计基于使用 uart 接口进行通信。选择 uart 是因为大多数蓝牙模块以及大多数其他外设(例如 wifi 模块)都支持它。因此,greenpak 设计可用于多种连接类型。
为了构建这个项目,我们将使用slg46620 cmic、一个蓝牙模块和一个 rgb led。
greenpak ic 将成为该项目的控制核心;它从蓝牙模块和/或外部按钮接收数据,然后开始所需的程序以显示正确的照明。
它还生成 pwm 信号并将其输出到 led。下面的图 1 显示了框图。
图 1:框图
该项目中使用的 greenpak 设备在一个 ic 中包含一个 spi 连接接口、pwm 块、fsm 和许多其他有用的附加块。它还具有体积小、能耗低的特点。这将使制造商能够使用单个 ic 构建小型实用电路,从而与类似系统相比将生产成本降至最低。
在这个项目中,我们将控制一个 rgb led。为了使该项目具有商业可行性,系统可能需要通过并联多个 led 并使用适当的晶体管来提高亮度水平;还需要考虑电源电路。该项目得到实施和审查。
greenpak 设计
在 greenpak designer 软件中实现的设计由 uart 接收器、pwm 单元和控制单元组成(整个设计文件可以在这里找到)
a) uart 接收器
首先,我们需要设置蓝牙模块。大多数蓝牙 ic 支持 uart 协议进行通信。uart 代表通用异步接收器/发送器。uart 可以在并行和串行格式之间来回转换数据。它包括一个串行到并行接收器和一个并行到串行转换器,它们都单独计时。
蓝牙模块中接收到的数据将传输到我们的 greenpak 设备。pin10 的空闲状态为高电平。发送的每个字符都以逻辑低开始位开始,然后是可配置数量的数据位和一个或多个逻辑高停止位。
uart 发送器发送 1 个 start 位、8 个数据位和 1 个 stop 位。通常,uart 蓝牙模块的默认波特率为 9600。我们将从蓝牙 ic 发送数据字节到 greenpak。slg46620 的 spi 模块。
由于 greenpak spi 模块没有 start 或 stop 位控制,我们将使用这些位来启用和禁用 spi 时钟信号 (sclk)。当 pin10 变低时,我们知道我们收到了一个 start 位,因此我们使用 pdly 下降沿检测器来识别通信的开始。该下降沿检测器为 dff0 提供时钟,从而启用 sclk 信号为 spi 模块提供时钟。
我们的波特率为每秒 9600 位,因此我们的 sclk 周期需要为 1/9600 = 104 µs。因此我们将 osc 频率设置为 2mhz,并使用 cnt0 作为分频器。
2 mhz – 1 = 0.5 µs
(104 µs / 0.5 µs) – 1 = 207
因此,我们希望 cnt0 计数器值为 207。为了确保我们不会丢失任何数据,我们需要将 spi 时钟延迟半个时钟周期,以便 spi 块在正确的时间被计时。我们通过使用 cnt6、2 位 lut1 和 osc 模块的外部时钟来实现这一点。cnt6 的输出直到 dff0 计时后 52 µs 才会变高,这是我们 104 µs sclk 周期的一半。当 cnt6 为高电平时,2 位 lut1 与门允许 2mhz osc 信号进入 ext。clk0 输入,其输出连接到 cnt0。
图 2:系统图
b) pwm 单元
pwm 信号是使用 pwm0 和相关时钟脉冲发生器 (cnt8/dly8) 生成的。由于脉冲宽度是用户可控的,我们使用fsm0(可以接pwm0)来统计用户数据。
在 slg46620 中,8 位 fsm1 可以与 pwm1 和 pwm2 一起使用。必须连接蓝牙模块,即必须使用spi并行输出。spi 并行输出位 0 到 7 与 dcmp1、dmcp2 和 lf osc clk 的 out1 和 out0 混合。pwm0 从 16 位 fsm0 获得其输出。如果不改变,这会导致脉冲宽度过载。为了将计数器值限制在 8 位,添加了另一个 fsm;fsm1 用作指示计数器何时达到 0 或 255 的指针。fsm0 用于生成 pwm 脉冲。fsm0 和 fsm1 必须同步。由于两个 fsm 都有预设的时钟选项,因此 cnt1 和 cnt3 用作中介将 clk 传递给两个 fsm。这两个计数器设置为相同的值,本文为 25。我们可以通过改变这些计数器值来改变 pwm 值的变化率。
fsm 的值由来自 spi 并行输出的信号“+”和“-”增加和减少。
图 3:pwm 单元设计
在控制单元内,接收到的字节从蓝牙模块获取到 spi 并行输出,然后传递给相关的功能。首先,将检查 pwm cs1 和 pwm cs2 输出以查看 pwm 模式是否被激活。如果它被激活,那么它将确定哪个通道将通过 lut4、lut6 和 lut7 输出 pwm。
lut9、lut11 和 lut14 负责检查其他两个 led 的状态。lut10、lut12 和 lut13 检查手动按钮是否被激活。如果手动模式处于活动状态,则 rgb 输出将根据 d0、d1、d2 输出状态运行,每次按下颜色按钮时这些状态都会更改。它随着来自 cnt9 的上升沿而变化,用作上升沿去抖动器。
引脚 20 配置为输入,用于在手动和蓝牙控制之间切换。
如果禁用手动模式并激活自动混频器模式,则颜色每 500 毫秒改变一次,上升沿来自 cnt7。4 位 lut1 用于防止 d0 d1 d2 处于“000”状态,因为此状态会导致灯在自动混音器模式期间关闭。
如果手动模式、pwm 模式和自动混频器模式未激活,则红色、绿色和蓝色 spi 命令流向引脚 12、13 和 14,这些引脚配置为输出并连接到外部 rgb led。
图 4:系统图
dff1、dff2 和 dff3 用于构建 3 位二进制计数器。计数器值随着在自动混音器模式下通过 p14 的 cnt7 脉冲或在手动模式下来自颜色按钮 (pin3) 的信号而增加。
安卓应用
在本节中,我们将构建一个 android 应用程序,它将监视和显示用户的控件选择。该界面由两部分组成:第一部分包含一组具有预定义颜色的按钮,因此当按下这些按钮中的任何一个时,相应颜色相同的 led 会亮起。第二部分(混合方块)为用户创建混合颜色。
在第一部分,用户选择他们希望pwm信号通过的led引脚;pwm 信号一次只能传递到一个引脚。下面的列表在 pwm 模式期间逻辑地控制其他两种颜色的开/关。
自动混音器按钮负责运行自动换光模式,每半秒换一次光。mix 部分包含两个复选框列表,以便用户可以决定将哪两种颜色混合在一起。
我们使用 mit 应用程序发明者网站构建了该应用程序。这是一个允许使用图形软件块构建 android 应用程序而无需先前软件经验的站点。
起初,我们设计了一个图形界面,通过添加一组负责显示预定义颜色的按钮,我们还添加了两个复选框列表,每个列表有 3 个元素;每个元素都在其单独的框中概述,如图 5 所示。
图 5:应用程序界面
用户界面中的按钮与软件命令相关联:应用程序将通过蓝牙发送的所有命令都是字节格式,每一位负责特定的功能。
表 1 显示了发送到 greenpak 的命令帧的形式。
表 1:位帧表示
前三位 b0、b1 和 b2 将通过预定义颜色的按钮在直接控制模式下保持 rgb led 的状态。因此,当单击其中任何一个时,都会发送按钮的相应值,如表 2 所示。
表 2:命令位代表
位 b3 和 b4 保存“+”和“-”命令,负责增加和减少脉冲宽度。按下按钮时位值为 1,松开按钮时位值为 0。
b5 和 b6 位负责选择 pwm 信号将通过的引脚(颜色):这些位的颜色指定如表 3 所示。最后一位 b7 负责激活自动混合器。
表 3:pwm 通道选择位
图 6 和图 7 演示了将按钮与负责发送先前值的编程块链接的过程。
图 6:按钮的编程块
图 7:发送“+”和“-”命令帧
下图8为顶层电路图
图 8:电路图
控制器已成功测试,颜色混合以及其他功能显示正常工作。
结论
在本文中,构建了一个智能灯泡电路,由 android 应用程序进行无线控制。该项目中使用的 greenpak cmic 还有助于将几个用于光控制的基本组件缩短并嵌入到一个小型 ic 中。
dialog semiconductor 的 anas ajaj
Linux 内核数据结构:位图(Bitmap)
AG9311MAQ扩展成本低性价比高的Type-C
Reference Design for a High-Cu
米家投影仪青春版评测 将性价比做到了极致
Velox机器人柔性鳍能力独特 既能在水中或水面自如行进
通过蓝牙控制 RGB LED 颜色
机床在线测头校准的重要性
机器人具有自主意识是真的吗?
苹果iPhone系列绝版,以iPhone X为基础命名
区块链公链如何才能快起来
平衡晶格氧活性和可逆性实现高比能钠离子电池层状正极材料
未来3-5年 边缘计算会是下一个百亿蓝海市场
小米note3什么时候上市?小米note3最新消息:小米note3蓄势待发,8月上市,全曲面屏+双摄像头设计
小米6最新消息:价值10万且无法量产的小米6亮银探索版真机图赏
CMOS图像传感器设计考虑因素及典型应用方案
向机器人征税,将影响未来
LVDS为汽车应用提供强大的视频接口
纵向集成及小型化保护设备在南方电网智能变电站示范工程中的应用
海尔HOPE平台:通过开放平台来解决技术问题
研究人员开发出一种潜在的青光眼新疗法