11浏览
查看: 11|回复: 11

[K10教程] 【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

[复制链接]
【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好


【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图2

驴友花雕  高级技神
 楼主|

发表于 3 小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

添加通信模块——无线广播

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图2

板载传感器相关积木

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图3

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 3 小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

辅助:屏幕显示相关积木

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图2

LED控制模块

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 3 小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

知识点:无线广播------行空板 K10 BLE、BLE Mesh 广播
一、BLE 普通广播(广播包 Advertising,非连接型)
1. 工作原理
发送板不建立蓝牙配对连接,定时(间隔可设)向外发送短小广播数据包;周围所有开启蓝牙扫描的 K10/ESP32 设备被动抓取数据,属于一对多离线通信,全程不用 WiFi、路由器。
发送端:只发包,不等待应答
接收端:持续扫描,识别目标设备标识后读取内容
2. 核心参数
传输距离:空旷 5–10 米,隔墙大幅衰减
功耗优势:发送、待机电流都很低,电池供电可长时间运行
数据限制:单帧广播载荷很短,一般几十字节以内
拓扑:1 个发射源→N 个接收机,接收机之间互不通信
3. 适用场景
一块主控批量控制多台 LED、蜂鸣器、小电机开关
手环式传感器广播温湿度、按键状态给多块行空板
无网络教室简易一控多教具
4. 短板
不能传长文本、语音、图片、大量数值
无可靠重传机制,干扰环境容易丢包
只能单向发,接收端无法回传数据给发射板

二、BLE Mesh 网格广播组网
1. 工作原理
所有行空板加入同一个 Mesh 网络,节点地位平等:
任意一块板子发送一条消息,全网所有 Mesh 节点同步收到;信号弱的节点还能中继转发消息,扩大覆盖范围,属于多向全网广播。
完全离线运行,不需要 WiFi 路由。
2. 对比普通 BLE 广播优势
信号中继:远距离、隔墙场景靠中间板子接力传递信号
双向互通:每个节点既能发全网广播,也能接收全网消息
分组控制:可划分分组,消息只发给指定分组设备,不用全部设备响应
稳定性高于单纯 Advertising 广播,自带简单纠错
3. 典型应用
教室几十台行空板灯光同步亮灭、抢答同步触发
多房间灯光、智能开关统一控制
分布式传感器,任意节点上报数据全网可见
4. 固有局限
单条消息数据量依旧偏小,依旧无法承载音频、大图
组网设备数量过多时,消息延迟会上升
相比 WiFi UDP,传输速度慢很多

三、两者统一短板汇总
大数据传输能力弱:仅适配开关指令、1–2 组数字、简短标识
高速传输不行:实时音频、大屏多行文字、图像一律不推荐
穿墙能力一般,密集金属遮挡信号暴跌
大量设备同时发包容易产生蓝牙信道冲突丢包

四、行空板 K10 实操区分选择
简单一控多、电池低功耗、距离近 → BLE 普通 Advertising 广播(代码简单、资源占用最小)
多设备互相收发、需要中继扩距离、批量分组控制 → BLE Mesh(组网复杂一点,功能更强)
要传文字、声音、大量数据、距离远、设备多稳定通信 → 优先改用 WiFi UDP 广播

补充简易实操要点
BLE 广播必须设置唯一设备名称 / UUID,接收端过滤识别,避免抓取无关蓝牙设备数据包;
Mesh 组网所有设备必须写入同一组网密钥、同一网络 ID 才能互相通信;
电池供电项目首选 BLE 体系,插电稳定大数据项目优先 WiFi。

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 3 小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

【花雕动手做】行空板 K10 系列实验之无线广播使用陀螺仪姿态传感器遥控板载LED灯
实验开源代码(无线广播发送端)

  1. // 行空板K10硬件驱动库,封装屏幕、画布、RGB彩灯、陀螺仪姿态识别全部外设
  2. #include "unihiker_k10.h"
  3. // DF官方BLE无线广播库,实现离线分组一对多消息发送
  4. #include <DFRobot_ESP32_Radio.h>
  5. // 创建无线广播通信对象
  6. DFRobot_ESP32Radio Radio;
  7. // 屏幕方向参数,2为默认正向显示
  8. uint8_t screen_dir = 2;
  9. // 行空板整机总控制对象
  10. UNIHIKER_K10 k10;
  11. /**
  12. * setup 上电初始化函数,只运行一次
  13. * 初始化硬件、屏幕画布、开启蓝牙广播、绘制开机界面、设置彩灯亮度
  14. */
  15. void setup() {
  16.     // 初始化行空板底层硬件(陀螺仪、屏幕、RGB、系统总线)
  17.     k10.begin();
  18.     // 加载预设屏幕朝向
  19.     k10.initScreen(screen_dir);
  20.     // 创建内存画布,文字先缓存、批量刷新防闪屏
  21.     k10.creatCanvas();
  22.     // 打开ESP32-S3蓝牙BLE广播模块,进入发射就绪状态
  23.     Radio.turnOn();
  24.     // 设置通信分组1;只有同Group=1的接收板才能收到广播指令
  25.     Radio.setGroup(1);
  26.     // 屏幕背景设纯黑色
  27.     k10.setScreenBackground(0x000000);
  28.     // 第3行浅橘色大标题
  29.     k10.canvas->canvasText("行空板 K10 无线广播", 3, 0xFFCC99);
  30.     // 第5行粉紫色功能说明
  31.     k10.canvas->canvasText(" 用陀螺仪遥控LED灯", 5, 0xFF99FF);
  32.     // 把画布文字一次性刷新显示到屏幕
  33.     k10.canvas->updateCanvas();
  34.     // RGB彩灯亮度调到5,比之前示例更亮一点
  35.     k10.rgb->brightness(round(5));
  36. }
  37. /**
  38. * loop 无限主循环
  39. * 循环不断检测陀螺仪倾斜姿态,识别到动作立刻发送对应BLE广播指令,本机同步亮灯提示
  40. */
  41. void loop() {
  42.     // 判断姿态:板子向后倾斜
  43.     if ((k10.isGesture(TiltBack))) {
  44.         // 向外广播发送指令 hou
  45.         Radio.send("hou");
  46.         // 画布第7行白色提示文字
  47.         k10.canvas->canvasText("    后倾打开白色灯", 7, 0xFFFFFF);
  48.         k10.canvas->updateCanvas();
  49.         // 本机全部RGB点亮白色
  50.         k10.rgb->write(-1, 0xFFFFFF);
  51.         delay(1000);          // 保持状态1秒
  52.         k10.canvas->canvasClear(7); // 清空本行文字
  53.         k10.rgb->write(-1, 0x000000);// 熄灭彩灯
  54.     }
  55.     // 判断姿态:板子向左倾斜
  56.     if ((k10.isGesture(TiltLeft))) {
  57.         Radio.send("zuo");
  58.         k10.canvas->canvasText("    左倾打开红色灯", 8, 0xFF0000);
  59.         k10.canvas->updateCanvas();
  60.         k10.rgb->write(-1, 0xFF0000);
  61.         delay(1000);
  62.         k10.canvas->canvasClear(8);
  63.         k10.rgb->write(-1, 0x000000);
  64.     }
  65.     // 判断姿态:板子向前倾斜
  66.     if ((k10.isGesture(TiltForward))) {
  67.         Radio.send("qian");
  68.         k10.canvas->canvasText("    前倾打开绿色灯", 9, 0x00FF00);
  69.         k10.canvas->updateCanvas();
  70.         k10.rgb->write(-1, 0x00FF00);
  71.         delay(1000);
  72.         k10.canvas->canvasClear(9);
  73.         k10.rgb->write(-1, 0x000000);
  74.     }
  75.     // 判断姿态:板子向右倾斜
  76.     if ((k10.isGesture(TiltRight))) {
  77.         Radio.send("you");
  78.         k10.canvas->canvasText("    右倾打开蓝色灯", 10, 0x0000FF);
  79.         k10.canvas->updateCanvas();
  80.         k10.rgb->write(-1, 0x0000FF);
  81.         delay(1000);
  82.         k10.canvas->canvasClear(10);
  83.         k10.rgb->write(-1, 0x000000);
  84.     }
  85. }
复制代码


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 3 小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

陀螺仪姿态无线广播发送端代码解读

一、头文件与全局对象

  1. #include "unihiker_k10.h"
  2. #include <DFRobot_ESP32_Radio.h>
复制代码

unihiker_k10.h:行空板 K10 全套硬件驱动,内置陀螺仪姿态识别、屏幕画布、RGB 彩灯驱动;
DFRobot_ESP32_Radio.h:蓝牙 BLE 广播库,实现离线一对多无线发指令。

  1. DFRobot_ESP32Radio Radio;
  2. uint8_t screen_dir=2;
  3. UNIHIKER_K10 k10;
复制代码

Radio:无线通信实例,负责开启蓝牙、设置分组、发送广播字符串;
screen_dir=2:屏幕默认正向显示;
k10:整机控制总对象,操控陀螺仪、屏幕、彩灯。

二、setup () 上电一次性初始化

  1. void setup() {
  2.         k10.begin();
复制代码

初始化全部硬件:陀螺仪传感器、显示屏、RGB 灯、系统底层 IO。

  1. k10.initScreen(screen_dir);
  2.         k10.creatCanvas();
复制代码

初始化屏幕方向;创建内存画布,文字先缓存再统一刷新,减少屏幕闪烁。

  1. Radio.turnOn();
  2.         Radio.setGroup(1);
复制代码

打开 BLE 蓝牙广播模块;设置通信组 1,只有同组编号的接收板才能收到消息。

  1. k10.setScreenBackground(0x000000);
  2.         k10.canvas->canvasText("行空板 K10 无线广播", 3, 0xFFCC99);
  3.         k10.canvas->canvasText(" 用陀螺仪遥控LED灯", 5, 0xFF99FF);
  4.         k10.canvas->updateCanvas();
复制代码

屏幕底色黑色;在 3、5 行打印标题说明文字;刷新画布显示文字。

  1. k10.rgb->brightness(round(5));
复制代码

设置 RGB 彩灯亮度等级 5,亮度适中。

三、loop () 循环主体(姿态持续检测)
loop 会高速无限循环,不停检测板子倾斜姿态,识别动作立刻执行发送 + 本地提示。
1、向后倾斜 TiltBack

  1. if ((k10.isGesture(TiltBack))) {
  2.         Radio.send("hou"); //广播发送指令hou
  3.         k10.canvas->canvasText("    后倾打开白色灯", 7, 0xFFFFFF);
  4.         k10.canvas->updateCanvas();
  5.         k10.rgb->write(-1, 0xFFFFFF); //本机全RGB亮白色
  6.         delay(1000); //保持1秒
  7.         k10.canvas->canvasClear(7); //清除第7行文字
  8.         k10.rgb->write(-1, 0x000000); //熄灭彩灯
  9. }
复制代码

2、向左倾斜 TiltLeft

  1. if ((k10.isGesture(TiltLeft))) {
  2.         Radio.send("zuo");
  3.         屏幕打印红字提示、本机亮红灯,1秒后清文字关灯
  4. }
复制代码

3、向前倾斜 TiltForward

  1. if ((k10.isGesture(TiltForward))) {
  2.         Radio.send("qian");
  3.         屏幕打印绿字提示、本机亮绿灯,1秒后清文字关灯
  4. }
复制代码

4、向右倾斜 TiltRight

  1. if ((k10.isGesture(TiltRight))) {
  2.         Radio.send("you");
  3.         屏幕打印蓝字提示、本机亮蓝灯,1秒后清文字关灯
  4. }
复制代码

四、指令对应对照表

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

五、整体运行逻辑
不靠按键,依靠内置陀螺仪感应板子倾斜角度;
识别倾斜动作后,两件事同步执行:
① BLE 向外广播对应指令(多台接收板同步接收)
② 本机屏幕文字提示 + RGB 亮对应颜色做本地反馈;
亮灯、文字只维持 1 秒,之后自动清除恢复待机状态。

六、程序优缺点
1、优点
离线 BLE 广播,不用 WiFi 路由器,电池就能供电;
体感操控,不用按压按键,交互更有趣;
1 块姿态发送板可同时控制多台接收行空板同步变色。
2、缺点
delay(1000)阻塞延时:亮灯 1 秒内,再次倾斜板子不会立刻响应,必须等延时结束;
短时间连续大幅度倾斜容易姿态识别错乱;
BLE 仅支持简短字符串指令,不能传输图片、音频、大量数值。
3、配套接收端要求
接收端必须同样Radio.setGroup(1),并且四条指令分别绑定回调函数:
"hou" → 亮白灯
"zuo" → 亮红灯
"qian" → 亮绿灯
"you" → 亮蓝灯

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 半小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

Mind+图形编程(陀螺仪姿态发送端)

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1
回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 半小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

本帖最后由 驴友花雕 于 2026-6-10 15:45 编辑

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1      【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图2
     【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图3


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 半小时前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

【花雕动手做】行空板 K10 系列实验之无线广播使用陀螺仪姿态传感器遥控板载LED灯
实验开源代码(无线广播接收端)

  1. // 引入行空板K10硬件驱动库,封装屏幕、画布、RGB彩灯等全部板载外设接口
  2. #include "unihiker_k10.h"
  3. // 引入DF官方ESP32无线库,底层基于ESP32-S3 BLE蓝牙广播,实现离线分组消息接收
  4. #include <DFRobot_ESP32_Radio.h>
  5. // 提前声明4条指令对应的接收回调函数,setup绑定指令时编译器需要识别这四个自定义函数
  6. void onRadioReceive_0();
  7. void onRadioReceive_1();
  8. void onRadioReceive_2();
  9. void onRadioReceive_3();
  10. // 创建无线通信操作实例,负责蓝牙开关、分组配置、指令与函数绑定、后台监听广播数据包
  11. DFRobot_ESP32Radio Radio;
  12. // 屏幕朝向配置变量,数值2为行空板K10默认正向显示模式
  13. uint8_t screen_dir=2;
  14. // 行空板整机硬件总对象,统一管控屏幕、彩灯、画布硬件资源
  15. UNIHIKER_K10 k10;
  16. /**
  17. * setup初始化函数:设备上电仅执行一次
  18. * 执行顺序:整机硬件初始化→绑定四条广播指令对应的回调函数→屏幕画布初始化→开启BLE广播模块→设置通信分组→绘制开机文字界面→设置RGB彩灯亮度
  19. */
  20. void setup() {
  21.         // 初始化行空板底层硬件总线、IO引脚、屏幕驱动、彩灯驱动、系统时钟
  22.         k10.begin();
  23.         // 指令绑定1:收到广播字符串"hou",自动执行onRadioReceive_0函数
  24.         Radio.setCallback("hou", onRadioReceive_0);
  25.         // 指令绑定2:收到广播字符串"qian",自动执行onRadioReceive_1函数
  26.         Radio.setCallback("qian", onRadioReceive_1);
  27.         // 指令绑定3:收到广播字符串"zuo",自动执行onRadioReceive_2函数
  28.         Radio.setCallback("zuo", onRadioReceive_2);
  29.         // 指令绑定4:收到广播字符串"you",自动执行onRadioReceive_3函数
  30.         Radio.setCallback("you", onRadioReceive_3);
  31.         // 根据预设参数初始化显示屏显示方向
  32.         k10.initScreen(screen_dir);
  33.         // 创建内存绘图画布,文字先写入缓存空间,统一刷新屏幕画面,减少刷屏闪烁
  34.         k10.creatCanvas();
  35.         // 打开ESP32-S3蓝牙BLE射频模块,进入后台持续监听空中广播信号状态
  36.         Radio.turnOn();
  37.         // 设置无线通信分组编号1;只有分组号完全一致的陀螺仪发送板,消息才能被本机正常接收
  38.         Radio.setGroup(1);
  39.         // 设置屏幕整体背景颜色为深灰色 十六进制色值0x333333
  40.         k10.setScreenBackground(0x333333);
  41.         // 在画布第5行写入浅粉紫色标题文字
  42.         k10.canvas->canvasText("行空板K10接收广播", 5, 0xFFCCFF);
  43.         // 在画布第7行写入浅蓝紫色功能说明文字,标识这是陀螺仪信号接收端
  44.         k10.canvas->canvasText("  陀螺仪姿态接收端", 7, 0xCCCCFF);
  45.         // 将画布缓存内所有文字画面一次性刷新渲染到实体显示屏
  46.         k10.canvas->updateCanvas();
  47.         // 设置板载RGB彩灯全局亮度等级2,低亮度光线柔和不刺眼
  48.         k10.rgb->brightness(round(2));
  49. }
  50. /**
  51. * loop主循环函数:setup执行完毕后无限空循环运行
  52. * 程序采用纯事件驱动架构,蓝牙广播包由无线库后台反文旁虫立扫描解析,匹配预设指令会自动调用绑定好的回调函数
  53. * 无传感器采集、动态画面刷新等持续运行任务,因此函数内部无需填充代码
  54. */
  55. void loop() {
  56. }
  57. /**
  58. * 接收指令"hou"专属回调函数
  59. * 触发条件:陀螺仪发送板向后倾斜,广播发送字符串hou
  60. * 功能:全部板载RGB灯点亮纯白色,持续1秒后熄灭彩灯
  61. */
  62. void onRadioReceive_0() {
  63.         // 参数-1代表控制所有板载RGB灯珠,颜色赋值纯白色0xFFFFFF
  64.         k10.rgb->write(-1, 0xFFFFFF);
  65.         // 保持白灯点亮1000毫秒(1秒)
  66.         delay(1000);
  67.         // RGB灯全部设置黑色,实现关灯效果
  68.         k10.rgb->write(-1, 0x000000);
  69. }
  70. /**
  71. * 接收指令"qian"专属回调函数
  72. * 触发条件:陀螺仪发送板向前倾斜,广播发送字符串qian
  73. * 功能:全部RGB灯点亮绿色,持续1秒后熄灭彩灯
  74. */
  75. void onRadioReceive_1() {
  76.         k10.rgb->write(-1, 0x00FF00);
  77.         delay(1000);
  78.         k10.rgb->write(-1, 0x000000);
  79. }
  80. /**
  81. * 接收指令"zuo"专属回调函数
  82. * 触发条件:陀螺仪发送板向左倾斜,广播发送字符串zuo
  83. * 功能:全部RGB灯点亮红色,持续1秒后熄灭彩灯
  84. */
  85. void onRadioReceive_2() {
  86.         k10.rgb->write(-1, 0xFF0000);
  87.         delay(1000);
  88.         k10.rgb->write(-1, 0x000000);
  89. }
  90. /**
  91. * 接收指令"you"专属回调函数
  92. * 触发条件:陀螺仪发送板向右倾斜,广播发送字符串you
  93. * 功能:全部RGB灯点亮蓝色,持续1秒后熄灭彩灯
  94. */
  95. void onRadioReceive_3() {
  96.         k10.rgb->write(-1, 0x0000FF);
  97.         delay(1000);
  98.         k10.rgb->write(-1, 0x000000);
  99. }
复制代码


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 28 分钟前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

陀螺仪无线广播接收端代码解读

一、头文件与全局定义

  1. // 行空板K10硬件驱动库,管理屏幕、画布、RGB彩灯硬件
  2. #include "unihiker_k10.h"
  3. // DFRadio蓝牙广播库,实现离线BLE消息接收、指令绑定
  4. #include <DFRobot_ESP32_Radio.h>
  5. // 预先声明4个消息回调函数,初始化绑定指令时编译器识别
  6. void onRadioReceive_0();
  7. void onRadioReceive_1();
  8. void onRadioReceive_2();
  9. void onRadioReceive_3();
  10. // 无线通信操作对象,控制蓝牙开关、分组、指令监听
  11. DFRobot_ESP32Radio Radio;
  12. // 屏幕方向2 = 正向正常显示
  13. uint8_t screen_dir=2;
  14. // 行空板整机硬件控制总对象
  15. UNIHIKER_K10 k10;
复制代码


二、setup () 上电一次性初始化

  1. void setup() {
  2.         k10.begin();
复制代码

初始化全部底层硬件:屏幕、RGB 灯、系统总线等。

  1. // 四条广播指令分别绑定对应的点灯函数
  2.         Radio.setCallback("hou", onRadioReceive_0);  //收到hou执行0号函数
  3.         Radio.setCallback("qian", onRadioReceive_1); //收到qian执行1号函数
  4.         Radio.setCallback("zuo", onRadioReceive_2);  //收到zuo执行2号函数
  5.         Radio.setCallback("you", onRadioReceive_3);   //收到you执行3号函数
复制代码

这是事件绑定核心,蓝牙后台收到匹配文字,自动跳转运行对应函数。

  1. k10.initScreen(screen_dir);
  2.         k10.creatCanvas();
复制代码

初始化屏幕朝向;创建画布缓存,文字批量刷新防闪屏。

  1. Radio.turnOn();    //打开BLE蓝牙广播模块,进入持续接收监听
  2.         Radio.setGroup(1); //通信分组1,只有同分组发送板才能发送指令过来
复制代码

分组隔离作用:多组实验放在同一空间不会互相干扰。

  1. k10.setScreenBackground(0x333333); //屏幕底色深灰
  2.         k10.canvas->canvasText("行空板K10接收广播", 5, 0xFFCCFF);
  3.         k10.canvas->canvasText("  陀螺仪姿态接收端", 7, 0xCCCCFF);
  4.         k10.canvas->updateCanvas(); //刷新画布,文字显示在屏幕
  5.         k10.rgb->brightness(round(2)); //RGB亮度调至2,柔和不刺眼
  6. }
复制代码


三、loop () 主循环

  1. void loop() {
  2. }
复制代码

循环空置,全程事件驱动。
蓝牙消息由库后台反文旁虫立扫描捕获,不需要在 loop 里循环查询信号;收到匹配指令直接触发回调函数。

四、四条接收回调功能
onRadioReceive_0() 接收 hou
全部 RGB 亮白色,保持 1 秒后熄灭
onRadioReceive_1() 接收 qian
全部 RGB 亮绿色,保持 1 秒后熄灭
onRadioReceive_2() 接收 zuo
全部 RGB 亮红色,保持 1 秒后熄灭
onRadioReceive_3() 接收 you
全部 RGB 亮蓝色,保持 1 秒后熄灭

收发一一对应对照表

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

整套工作流程
手握发送行空板,倾斜不同方向;
发送板 loop 识别陀螺仪姿态,向外 BLE 广播对应文字指令;
所有 Group=1 的接收板蓝牙后台捕捉数据包;
接收板匹配指令,自动点亮对应颜色 RGB 灯 1 秒。

优缺点
优点
离线蓝牙通信,不用 WiFi、路由器,电池供电即可整套运行;
一对多控制,一块陀螺仪发送板可同时操控多台接收板;
体感操控,交互直观,适合教学演示。
缺点
delay(1000)阻塞延时:亮灯 1 秒内,新姿态指令会排队延后执行;
BLE 仅支持简短文字指令,无法传输数字、音频、图片等大容量数据;
隔墙、远距离信号衰减明显,空旷最佳。

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 26 分钟前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

本帖最后由 驴友花雕 于 2026-6-10 15:56 编辑

Mind+图形编程(陀螺仪姿态接收端)
【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1
回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 36 秒前

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯

实验场景图与视频记录

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图2

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图3

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图1

【花雕动手做】K10系列实验之无线广播用陀螺仪遥控LED灯图4
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail