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

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

3天内不再提示

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

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

步骤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灯:-)
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3937

    浏览量

    127503
  • BlueTooth
    +关注

    关注

    3

    文章

    213

    浏览量

    61650
收藏 人收藏

    评论

    相关推荐

    智慧城市路灯——联网单控制系统,单控制

    智慧城市路灯——联网单控制系统,单控制
    的头像 发表于 11-11 12:52 376次阅读
    智慧城市路灯——<b class='flag-5'>灯</b>联网单<b class='flag-5'>灯</b><b class='flag-5'>控制</b>系统,单<b class='flag-5'>灯</b><b class='flag-5'>控制</b>器

    双开关控制怎么接线

    双开关控制的接线方法主要有以下几种,每种方法都有其特定的应用场景和接线方式: 、串联接线法 接线步骤 : 将电源线的火线(L)与
    的头像 发表于 10-09 15:57 6122次阅读

    安装在Android 14上的LE OTA应用程序无法使用是怎么回事?

    你好。 LE OTA 应用程序示例代码无法在 Android 14 智能手机上运行。 点击更新按钮时,显示"abort" ,OTA 进程无法继续。 13 及以下版本没有问题。 为什么会这样?
    发表于 07-05 06:01

    LE OTA APP崩溃的原因?

    Bluetooth_LE_Battery_Server proj开发自己的工程代码,在安卓环境下使用LEOTA APP进行测试开发,蓝牙连接都是正常的,在选择升级文件,点击update按键时,LEOTA APP会崩溃,程序显示
    发表于 07-04 08:26

    智能家居之旅(7):HomeAssistant开发板的RGB颜色

    hello,有谁还记得之前小美的视频?当时做了RGB,并且说了 RGB些开发过程。所以
    的头像 发表于 07-03 16:39 512次阅读
    智能家居之旅(7):HomeAssistant开发板的<b class='flag-5'>RGB</b>颜色

    2不共地的控制控制4遇到的问题

    如上图,2控制器分别控制4,右控制控制
    发表于 05-24 15:45

    英飞凌是否为AIROC CYW20829 Bluetooth LE SoC芯片和模块提供Zephyr支持?

    英飞凌是否为 AIROC CYW20829 Bluetooth LE SoC 芯片和模块提供 Zephyr 支持?
    发表于 05-20 06:19

    乐鑫宣布推出ESP32-H4,支持802.15.4和Bluetooth 5.4的低功耗SoC

    乐鑫信息科技 (688018.SH) 宣布推出 ESP32-H4,继 ESP32-H2 后进步丰富了公司的 802.15.4 和 Bluetooth LE 产品矩阵。
    的头像 发表于 04-11 16:08 1406次阅读
    乐鑫宣布推出ESP32-H4,支持802.15.4和<b class='flag-5'>Bluetooth</b> 5.4的低功耗SoC

    芯原低功耗蓝牙整体IP解决方案已通过LE Audio全部功能认证

    2024年3月28日,中国上海——芯原股份 (芯原,股票代码:688521.SH) 今日宣布其低功耗蓝牙整体IP解决方案已全面支持蓝牙技术联盟 (Bluetooth SIG) 发布的LE Audio规范,
    的头像 发表于 03-28 11:30 637次阅读

    简单的无线LED电路

    这篇文章解释了简单的无线 LED 电路,可用于在夜间自动打开 LED 以照亮绘画。室内连接到 433 MHz 无线接收器单元,而发
    的头像 发表于 02-25 14:03 1349次阅读
    <b class='flag-5'>一</b><b class='flag-5'>个</b>简单的无线LED<b class='flag-5'>灯</b>电路

    构建PIR运动传感器

     在这个项目中,我们将学习如何在不需要微控制器的情况下制作运动传感器。当运动传感器感应到附近的运动时,它会亮起。当有人走过时,它可以方便地照亮
    的头像 发表于 02-11 12:11 1230次阅读
    构建<b class='flag-5'>一</b><b class='flag-5'>个</b>PIR运动传感器<b class='flag-5'>灯</b>

    如何使用Arduino控制RGB LED

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

    bluetooth_le_HelloSensor使用OTA复制Battery Server示例的相同设置时,SPI卡住了是怎么回事?

    我最初创建了示例项目 bluetooth_le_HelloSensor 并添加了我的 SPI 驱动程序代码。 它运作良好。 当我使用 OTA 复制 Battery Server 示例的相同设置时,SPI 会卡在这里: 我使用的不是 hal 驱动程序,而是 pdl 驱动程序。 可能是什么问题?
    发表于 01-19 07:56

    双控开关控制怎么接线

    双控开关是指可以通过在两不同位置的开关来控制的开关。在使用双控开关控制
    的头像 发表于 01-17 11:19 2726次阅读

    如何使用ESP32和STC51芯片制作小小光立方呢?

    分享用ESP32和STC51芯片,以及0805贴片珠,手工焊接制作的小小光立方。
    的头像 发表于 01-09 15:37 1945次阅读
    如何使用ESP32和STC51芯片<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b>小小光立方呢?