怎样制作一个受Android和Bluetooth LE控制的RGB灯

步骤1:
我们正在使用bt模块来透明地发送/接收数据,不需要对出厂默认设置进行太多更改。我发现设置唯一的名称并确认您的模块正常工作很有帮助。为此,您需要ftdi电缆或arduino板。
重要提示: hm-10的运行电压为3.3v,许多arduino的电压为5v。如果将ble模块连接到5v的电源而没有逻辑电平转换器和稳压器,则可能会损坏它。
如果您购买了带有分线板的hm-10模块,那就太好了。如果您需要构建分线板,请转到本教程。如果您想自己解决问题,可以在此数据表中找到引脚排列。
使用串行/ftdi电缆
connect
hm-10 tx-ftdi rx
hm-10 rx-ftdi tx
hm-10 gnd-ftdi gnd hm-10 vcc-ftdi vcc
然后通过控制台连接到ftdi电缆或您最喜欢的串行终端。某些效果很好:
linux/mac-cutecom
linux/windows/mac-coolterm realterm
设置:9600,n,8,1;
如果正在使用arduino
打开arduino软件,然后将 examples-》 softwareserial-》 softwareserialexample 上传到您的设备
connect
hm-10 tx-arduino pin 10 softrx
hm-10 rx-arduino pin 11 softtx hm-10 gnd-arduino gnd hm-10 vcc-arduino 3.3v
以9600波特打开串行监视器。
命令
ble模块使用at命令读取和写入系统信息,不需要在它们后面加换行符。如果您在输入命令时未得到响应,则可能未正确连接某些模块,因此您需要对模块进行故障排除。
连接时,键入:
at -它应该响应ok
您可以找到固件版本:
at + vers?-固件版本
并设置设备名称:
at + name?-获取当前名称
at + name您的名字-设置名称(最多12个字符)
数据表中的全套at命令
如果出现所有内容要正常工作,是时候继续安装android和arduino应用了!
步骤2:安装arduino sketch
如果您使用的是ws2811/ws2812 strip
复制并安装arduino草图。您可以在此处找到代码。
如果您使用的是不带ic的rgb led
您可以改用此示例代码。
步骤3:将蓝牙模块和led连接至arduino
将hm-10连接至arduino
将蓝牙rx和tx引脚连接至您的微控制器。就我而言,我不会使用arduino的usb,因此我会使用数字引脚0和1上的内置串行端口。如果您需要微控制器的usb功能,请尝试使用软件串行。
hm-10 rx-arduino tx(d1)
hm-10 tx-arduino rx(d0)
连接rgb led灯条
对于ws2812灯,您仅需要3个引脚:数据到数字引脚6、5v和gnd。如果您使用的是其他灯条,则可能有4个引脚,并且需要包含用于驱动这些灯的相关代码。
如果您使用的是rgb灯条或不带某种ic的led,则可以遵循此arduino示例。 》 将电源连接到arduino
我正在使用usb电源包,但是您可以使用壁式电源适配器或usb连接到计算机。
第4步:安装android应用程序
安装应用
该应用程序仍处于“概念验证”阶段,因此尚未为play商店准备就绪。如果要下载它,则需要对其进行侧面加载。我希望可以使用app inventor或phonegap创建具有ble支持的快速应用程序,但是此功能太新了,尚不支持,所以我尝试了android sdk!
首先启用unknown sources的应用程序检查:
设置-》安全-》 未知来源
将apk直接下载到手机中,或通过usb复制,然后使用文件浏览器运行该文件。
此应用程序的功能以及如何对其进行修改
该应用程序非常基础,在您连接到bt模块后,它会寻找串行服务,然后从中获取值3个滑块,并将它们作为字符串发送到arduino,在此它们被转换为led值。它基于android示例代码。
bluetooth le使用一种称为通用属性配置文件(gatt)模型的模型,该模型定义了服务和特征,这些特征通过称为的 uuid 即可。 hm-10有一项服务,可让您传递数据,我发现 uuid 是 0000ffe0-0000-1000-8000-00805f9b34fb 。您用于发送和接收数据的特征的uuid为 0000ffe1-0000-1000-8000-00805f9b34fb
欢迎您修改和改进源。首先安装android sdk捆绑包非常有用
在此处实时使用的主要文件
bluetoothleservice.java-蓝牙le功能
devicecontrolactivity.java-连接到设备时会发生什么情况
devicescanactivity .java-扫描ble设备的例程
samplegattattributes.java-定义公认的服务和特征 nrf主控制面板对于嗅探服务和特征以及了解有关ble设备的信息非常有用
步骤5:将所有内容放在一起
1。插入您的arduino。
2。打开blue light android应用程序。如果一切正常,您应该会在范围内看到ble模块。选择它!
3。如果连接成功,则第二个屏幕应显示“状态:已连接”,并且如果找到串行服务“是,串行:-)”
4。调整滑块,您的灯光应更改颜色
5。 hack,庆祝,修改,玩和享受!
未来的改进
*功能更强大的android应用(支持图案,颜色选择器等)
未来的ble项目
*用attiny代替arduino
*利用hm-10上的gpio引脚* ibeacon(最新hm-10固件支持)
*尝试刷新hm-10使用red bear lab的开源biscuit固件
第6步:使事物变得美丽
您需要什么
*纸板管
*胶带
*电源或usb延长线
*纸灯笼
放置arduino和蓝牙在纸板管内的模块中,用另一块纸板覆盖底部,以免它们掉落。将您的led灯带缠绕在灯管的外部,并绑好胶带。
将电源或usb延长线连接到arduino。
您可以通过天花板上的挂钩将灯笼悬挂起来,或者使用一些单丝(钓鱼线) )。
将纸板管放在灯笼内,您可以在顶部戳孔,然后用细绳或电线将其悬挂。现在,您有了一个受android和bluetooth le控制的rgb灯:-)


未来“电机驱动与控制”的四大特性!
大尺寸电视背光源订单增多,LED厂商业绩看涨
【模拟电路设计】输入失调电压
voc在线监测设备是什么,它有哪些特点
DCS、PLC在醋酸乙烯生产线中的应用设计
怎样制作一个受Android和Bluetooth LE控制的RGB灯
人工智能有哪些应用领域
5个月涨近500%!中际旭创通过收购布局汽车领域
Javelin的CMOS 3G功率放大器获三星选用
Onfido宣布已完成由全球投资公司TPG Growth牵头的一亿美元融资
热点 | 华为获中国首张5G手机许可证!
OPA2111构成的均衡立体声前置放大电路
融合全产业链_以人工智能驱动物联网新生态
深度剖析:通信开关电源电磁兼容性问题
抖音微博出手整治非法荐股乱象
大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源
分享一些ALBANY卷帘门的调试心得
怎样去简化RFID读取器的设计
NEDC续航最长的电动汽车,续航高达700公里
力求实现安全的无人驾驶汽车 追求惯性传感器的高精度化