|
71| 14
|
[K10教程] 【花雕动手做】行空板K10简版蓝牙掌控板麦轮陀螺仪小车 |
本帖最后由 驴友花雕 于 2026-7-20 18:41 编辑 ![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() |
|
遥控发射端掌控宝(带锂电池) 掌控板是国内专为**中小学 Python 创客教育**设计的开源微型开发板,搭载 ESP32 主控,自带 WiFi + 蓝牙,是一块 “掌上微型电脑”DFRobot。 一、核心板载硬件(不用外接配件就能玩) 1. **1.3 寸 OLED 显示屏**:128×64 分辨率,显示文字、动画、图片,支持中文; 2. **交互部件**:A/B 物理按键、6 路金手指触摸键、3 颗全彩 RGB 灯、蜂鸣器(播放音乐); 3. **内置传感器**:麦克风(拾音)、光线传感器、三轴加速度 / 磁场传感器(做电子罗盘、计步器); 4. **通信**:WiFi、蓝牙双无线,可联网、两块板子无线互传数据; 5. **拓展**:底部金手指引出全部 IO,能外接舵机、温湿度、电机等模块。 二、两种编程方式,零基础友好 1. **图形化积木编程(mPython/Mind+)**:拖拽模块,小学生也能上手; 2. **MicroPython 代码编程**:直接写 Python 代码,衔接初高中信息技术课程。 三、常见用途 - 课堂教学:编程入门、物联网、STEAM 科创课; - 趣味制作:电子表、声光小游戏、声控彩灯、便携噪声 / 光照检测仪; - 物联网:联网看天气、远程控制设备、环境数据上传云端; - 可穿戴:智能手环、电子徽章、便携小仪器。 四、特点 体积小巧、一体化集成传感器、国产教育硬件、软硬件全开源,不用复杂接线就能快速做出智能小作品。 ![]() |
|
知识点:无线广播------行空板 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。 ![]() |
|
本帖最后由 驴友花雕 于 2026-7-20 11:11 编辑 掌控板陀螺仪姿态遥控器发射端 【花雕动手做】行空板 K10 系列实验之掌控板陀螺仪姿态遥控器控制小车前后左右行走 实验开源代码 |
|
掌控板姿态遥控发送端代码解读 一、头文件引入 1. `#include <MPython.h>` 掌控板官方集成库,一次性提供屏幕、加速度传感器、RGB 灯、按键等所有板载硬件操作能力,没有这个库无法操作掌控板自带外设。 2. `#include <DFRobot_ESP32_Radio.h>` ESP32 专用 2.4G 无线通信库,实现两块开发板近距离点对点无线传输,不需要 WiFi、路由器,专门用于小车遥控信号传输。 二、创建无线对象 定义全局无线通信实例 `Radio`,后续所有开启无线、设置频道、发送指令都依靠这个对象调用方法。 三、setup () 初始化函数(上电仅执行一次) 逐行解析: 1. `mPython.begin();` 掌控板硬件初始化入口,必须写在 setup 第一行,启动屏幕、传感器、灯光驱动。 2. `Radio.turnOn();` 打开 2.4G 无线射频模块,进入就绪发送状态。 3. `Radio.setGroup(13);` 设置无线通信分组为 13。只有接收端行空板 K10 设置相同分组,才能收到无线指令;多台小车同时使用可修改分组数字防止互相干扰。 4. `rgb.write(1, 0x663366);` 控制第 1 颗 RGB 彩灯,设置待机紫色,板子平放无倾斜时保持该颜色。 5. `display.setCursorLine(1); display.printLine("陀螺姿态小车遥控器");` 光标定位屏幕第 1 行,打印标题。 6. `display.setCursorLine(2); display.printLine("前后左右四个方向");` 光标定位屏幕第 2 行,打印操作提示,告诉使用者倾斜板子控制小车四向移动。 四、loop () 主循环(上电后无限重复执行) 本程序没有事件回调,采用**循环实时轮询**加速度传感器姿态,持续检测板子倾斜状态。 ### 核心对象 `accelerometer` 说明 `accelerometer` 是掌控板内置三轴加速度传感器对象,自带姿态识别函数: - `accelerometer.isGesture(姿态参数)`:自动判断当前板子倾斜手势,返回真 / 假; - `TiltForward`:向前倾斜 - `TiltBack`:向后倾斜 - `TiltLeft`:向左倾斜 - `TiltRight`:向右倾斜 ### 每段 if 分支统一逻辑 1. 通过 `Radio.send()` 向外发送对应拼音指令; 2. 修改第 1 颗 RGB 灯为专属颜色,区分运动方向; 3. 光标固定到屏幕第 3 行,使用`printLine`整行覆盖刷新当前动作文字。 五、整体功能总结 1. 硬件角色:掌控板作为**姿态感应遥控器**; 2. 控制逻辑:倾斜板子识别方向,持续无线发送拼音指令 `qian / hou / zuo / you`; 3. 适配底盘:左横走、右横走对应麦克纳姆轮全向小车; 4. 灯光状态区分: - 平放待机:紫色 - 前倾前进:绿色 - 后倾后退:红色 - 左倾左移:蓝色 - 右倾右移:橙黄色 5. 通信匹配要求:小车接收端(行空板 K10)无线分组必须设为 13,且代码中要识别 `qian/hou/zuo/you` 四条指令执行对应电机动作。 |
|
行空板K10无线广播接收端小车 【花雕动手做】行空板 K10 系列实验之掌控板陀螺仪姿态遥控器控制小车前后左右行走 实验开源代码 |
|
# 行空板 K10 麦克纳姆轮小车接收端 代码解读 一、头文件导入区 1. `unihiker_k10.h`:行空板 K10 官方底层库,操作屏幕、画布、RGB 灯带、系统硬件; 2. `Microbit_Motor.h`:四路电机驱动库,适配 microbit 电机拓展板,独立控制 M1/M2/M3/M4 四个直流电机,专为四轮麦克纳姆轮底盘设计; 3. `DFRobot_ESP32_Radio.h`:ESP32 2.4G 无线射频库,和掌控板遥控器点对点通信,无需 WiFi。 二、函数前置声明 C++ 语法规则:自定义函数写在`loop`下方,必须提前声明,告知编译器这 5 个无线接收回调函数分别对应 5 条遥控指令。 - `onRadioReceive_0`:接收`qian`前进 - `onRadioReceive_1`:接收`hou`后退 - `onRadioReceive_2`:接收`ting`停车 - `onRadioReceive_3`:接收`zuo`左横移 - `onRadioReceive_4`:接收`you`右横移 三、全局对象与变量定义 1. `Radio`:无线通信实例,管理无线开关、频道、指令绑定; 2. `screen_dir=2`:屏幕显示参数,2 = 正向正常显示; 3. `k10`:行空板主硬件对象,统一控制屏幕、画布、RGB 彩灯; 4. `motorbit`:四路电机控制对象,单独操控四个车轮电机。 四、setup () 上电初始化(仅运行一次) 逐行拆解: 1. `k10.begin()`:行空板全部硬件初始化,IO、屏幕、灯光驱动启动; 2. `Radio.setCallback("指令", 函数名)` 无线事件绑定:射频模块后台持续监听数据,收到匹配字符串自动执行对应函数,属于异步回调,不占用主循环; 3. `k10.initScreen(screen_dir)`:按照设定方向初始化屏幕; 4. `k10.creatCanvas()`:创建绘图画布,屏幕文字、图形都要绘制在画布上; 5. `Radio.turnOn()`:打开 2.4G 无线模块,进入接收监听模式; 6. `Radio.setGroup(13)`:通信分组频道 13,**遥控器掌控板必须设置相同分组,否则收不到信号**; 7. `k10.setScreenBackground(0x000000)`:屏幕底色设纯黑色; 8. `canvasText(文字, x坐标, 颜色)`:在画布 x=5 位置打印白色标题; 9. `updateCanvas()`:刷新画布内容到屏幕,不调用文字不会显示; 10. `rgb->brightness(6)`:设置 RGB 灯带全局亮度 6(范围 0~255)。 五、loop () 主循环 程序所有控制逻辑全部依靠无线回调触发,不需要在循环里轮询检测无线信号,因此循环留空,不影响任何功能。 六、五大无线回调核心动作逻辑(麦克纳姆轮专属) ### 1. 收到 qian 前进 - `ALL`:同时控制 M1/M2/M3/M4 四个电机; - `CW`:电机顺时针正转;速度 200(0 最慢,255 最快); - `write(-1, 0x00FF00)`:全部 RGB 灯点亮绿色,代表前进状态。 ### 2. 收到 hou 后退 - `CCW`:电机逆时针反转,四轮同步倒车; - 全彩灯亮红色标识后退。 ### 3. 收到 ting 停车 - `motorStop(ALL)`:切断四路电机输出,小车立刻刹车; - 只点亮第 0 颗彩灯为紫蓝色,其余灯熄灭。 ### 4. 收到 zuo 左横走(麦克纳姆轮横向平移原理) 四轮对角差速:左前、左后正转;右前、右后反转,合力让整车向左横向平移;全灯蓝色。 ### 5. 收到 you 右横走 四轮对角反向差速:左前、左后反转;右前、右后正转,整车向右横向平移;全灯橙黄色。 # 整体配套工作流程 1. 发送端:掌控板姿态遥控器,前倾 / 后倾 / 左倾 / 右倾 / 屏幕朝下翻转,分别发送`qian/hou/zuo/you/ting`; 2. 通信通道:2.4G 射频,分组 13; 3. 接收端行空板 K10 收到指令自动触发回调,控制四轮麦克纳姆轮实现全向移动; 4. 每种运动匹配独有色光,直观反馈小车运行状态。 # 关键知识点总结 1. **回调机制优势**:无需在 loop 循环持续扫描无线信号,CPU 资源占用极低,响应更及时; 2. **麦克纳姆轮逻辑区分**:普通两轮差速小车无法左右平移,本代码通过单独控制四个电机正反转实现横移; 3. RGB 参数规则:`write(-1,颜色)`控制所有灯带,`write(序号,颜色)`只控制单颗灯; 4. 通信硬性约束:收发两端`setGroup(13)`数值必须完全一致; 5. 持续遥控效果:遥控器保持倾斜会不断重复发送指令,小车持续保持对应方向运动,只有收到`ting`指令才会停止。 |
本帖最后由 驴友花雕 于 2026-7-20 16:06 编辑 ![]() ![]() 【【花雕动手做】行空板 K10 系列实验之掌控板陀螺仪姿态遥控器控制小车前后左右行走#智能小车编程 #单片机 #陀螺仪小车 #行空板K10 #DIY动手做】 https://www.bilibili.com/video/BV1h4KU66EER/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987 https://www.bilibili.com/video/BV11ZKm68Ejm/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed