本帖最后由 ljf101230 于 2023-1-31 13:06 编辑
#申请原创# @小跑堂
本人很高兴有幸参与21ic与贸泽联合举办的无线DIY设计。目前主流的无线传输主要是wifi和蓝牙,而我有幸拿到Silicon Labs BGM220-EK4314A蓝牙模块进行相关设计无线蓝牙控灯设计,下面咱们介绍一下Silicon Labs BGM220-EK4314A模块。
Silicon Labs BGM220-EK4314A资源管理器套件是超低成本的小封装开发与评估平台,适用于BGM220P蓝牙模块。该套件有一个USB接口、一个板载SEGGER J-Link调试器、一个用户LED和按钮,并可通过mikroBus插座和Qwiic连接器对硬件附加板提供支持。硬件附加支持允许开发人员使用来自mikroE、sparkfun、AdaFruit和Seeed Studios的现成板进行各种组合,来创建和原型化应用程序。总之Silicon Labs BGM220-EK4314A集成化高,体积小,方便设计开发!
一、方案介绍
我的方案主要是以BGM220-EK4314A蓝牙模块作为主控芯片控制灯的相关动作,具体动作包括:
a.主灯的开启以及明暗变化
b.氛围灯的开启
c.远端通过手机或其他蓝牙设备进行连接,控制灯的通断以及明暗以及氛围灯的变化
以上就是方案介绍,但在实际验证过程中不清楚是静电问题还是其他问题导致蓝牙模块一直无法搜索到(使用官方的bt_soc_blinky程序验证,无法搜索到蓝牙),用官方的IO口功能能够正常使用,然后我将方案修改为串口通讯连接控制灯的变化,其实对于蓝牙还是串口都是一种通讯传输方式,主要还是发送和接收数据从而控制BGM220-EK4314A蓝牙模块相关功能动作,下面就串口控制的实现详细讲解一下实现过程,当然蓝牙问题我会继续排查问题点。
二、设计搭建
为倡导绿色环保要求,本人用快递小盒作为主体外壳,外壳上有3个LED灯,其中主灯为黄灯可控制明暗变化,红灯和绿灯为模拟的氛围灯可单独开关和交替亮灭,盒内部就是BGM220-EK4314A蓝牙模块接线。
三、结果演示
1、串口调试助手进行通信测试,发送1-10的数值对应不同的功能。
数值1-4为黄灯PWM控制明暗的选择,串口调试助手发送数据后,BGM220-EK4314A蓝牙开发板会反馈一个同样的数据确认开发板已经收到数据的反馈,通过下图可明显看出不同数值灯的明亮变化。
2、氛围的的控制,数值5-9为氛围灯控制,10为全部关闭,相关照片如下:
红色氛围灯开
绿色氛围灯开
红色和绿色氛围灯一起开
单控氛围灯
当然还有利用IO口电平翻转实现氛围灯的一些交互闪烁灯功能,持续定时发送相关功能数值就会实现不同频率的闪烁氛围灯。
四、开发过程
1、IDE
BGM220-EK4314A蓝牙模块的开发使用Simplicity Studio。
Simplicity Studio 是集成所有 Silicon Labs 技术、SoC 和模块的统一开发环境。它为您提供对特定目标设备的 Web 和 SDK 资源的访问;软件和硬件配置工具;具有行业标准代码编辑器、编译器和调试器的集成开发环境 (IDE)。借助 Simplicity Studio,您可获得全套高级增值工具,用于网络分析和代码相关能耗分析。对于本人第一次用Simplicity Studio 开发来说,Simplicity Studio 非常简单易用,下面一起来说一下项目的全部组成。
打开软件后,插上开发板Simplicity Studio会自动识别开发板型号并推荐相关的应用文档原理图DEMO等资源,开发非常方便!
2、模块化Simplicity Studio开发
①应用模块使用
Simplicity Studio有好多实际的现成模块直接安装,但之前应该先安装好SDK,我安装的是4.2.0的SDK
②simple LED 模块的安装与配置
③IO stream USART 串口模块的配置
④相关引脚的设置
⑤相关模块的调用API函数文件以及初始化部分
⑥实现程序直接在app_process_action(void)函数中编写,主程序自动调用。
五、总结
首先感谢21ic与贸泽提供这种平台让我能够使用到如此方便易开发的蓝牙模块,Silicon Labs BGM220-EK4314A模块资源丰富,适合新手进行相关DIY设计。当然本文档对程序框架等说明的也有一部分,如果用到此模块或是Simplicity Studio开发过程中有问题的大家可以交流,本人从0开始算是对此模块和软件有了一定的了解!最后本设计不足的地方就是没有用到经典的蓝牙功能,BGM220-EK4314A蓝牙开发也很简单,下面把相关链接分享给大家有需求的可以直接参照相关步骤就可以配置!
https://docs.silabs.com/bluetooth/3.0/lab-manuals/getting-started-with-bluetooth-in-simplicity-studio-v5
|