【花雕动手做】行空板 K10 系列实验之 TT 马达四驱动全向福来轮语音控制智能小车 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板100%采用国产芯片知识产权自主可控符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源教学过程中无需额外连接其他设备便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。主要特点集成摄像头内置算法可进行离线图像检测集成麦克风内置算法可进行离线语音识别集成扬声器内置算法可进行离线语音合成2.8寸彩色屏幕数据展示更清晰集成度高利于教学接口丰富兼容软件多扩展性好TT马达四驱全向福来轮小车使用的特色底板、TT电机、全向福来轮与扩展板主打人工智能模块语音识别合成相关说明辅助屏幕显示相关积木接脚 IO 扩展模块LED控制模块【花雕动手做】行空板 K10 系列实验之 TT 马达四驱动全向福来轮语音控制智能小车实验开源代码// 引入离线语音识别库asr.h提供语音唤醒、拼音指令识别、收音监听功能#includeasr.h// 行空板K10主板底层驱动库负责屏幕画布、硬件底层初始化#includeunihiker_k10.h// Microbit四路电机驱动库适配麦克纳姆轮四轮小车支持M1/M2/M3/M4四路电机独立调速转向#includeMicrobit_Motor.h// 硬件对象实例化UNIHIKER_K10 k10;// 行空板主控对象统一管理LCD屏幕、系统总线ASR asr;// 离线语音识别模块对象处理麦克风收音与人声解析uint8_tscreen_dir2;// 屏幕旋转参数数值2代表屏幕倒置显示Microbit_Motor motorbit;// 四路电机驱动实例控制麦克纳姆四轮小车M1/M2/M3/M4电机//// setup() 上电初始化函数设备开机/重启仅执行1次// 功能初始化主板、语音模块、屏幕提前注册6条麦克纳姆小车语音控制指令//voidsetup(){// 初始化行空板全部底层硬件串口、I2C、屏幕、外设资源k10.begin();// 初始化离线语音识别模块// CONTINUOUS持续收音模式麦克风不间断监听环境人声// CN_MODE中文识别模式仅识别中文拼音口令// 12000收音灵敏度阈值数值越大抗环境噪音、误唤醒能力越强asr.asrInit(CONTINUOUS,CN_MODE,12000);// 阻塞等待语音模块加载语音模型完成// _asrState 0 代表语音模块未就绪每100ms循环检测一次状态避免未初始化调用报错while(asr._asrState0){delay(100);}// 根据预设screen_dir参数初始化LCD显示屏k10.initScreen(screen_dir);// 创建屏幕绘图画布缓冲区所有文字先写入画布缓存统一刷新到实体屏幕k10.creatCanvas();// 批量注册6条离线语音小车控制指令拼音匹配识别asr.addASRCommand(01,qian jin);// ID1 语音口令前进asr.addASRCommand(11,ting che);// ID2 语音口令停车asr.addASRCommand(21,hou tui);// ID3 语音口令后退asr.addASRCommand(31,you heng);// ID4 语音口令右横移右平移asr.addASRCommand(41,zuo heng);// ID5 语音口令左横移左平移asr.addASRCommand(51,zhuan quan);//ID6 语音口令原地转圈}//// loop() 主循环函数初始化完成后无限循环运行// 功能实时检测语音唤醒、识别语音口令调用四路电机库控制麦克纳姆小车同步屏幕状态文字//voidloop(){// 语音唤醒判断检测麦克风是否识别到唤醒词【你好小新】if(asr.isWakeUp()){// 唤醒成功画布第6行输出红色提示文字k10.canvas-canvasText(已唤醒行空板小车.......,6,0xFF0000);// 将画布缓存内容刷新输出到LCD屏幕k10.canvas-updateCanvas();}else{// 未唤醒待机状态第4行输出蓝色文字提示用户唤醒关键词k10.canvas-canvasText(唤醒词为“你好小新”,4,0x0000FF);k10.canvas-updateCanvas();}// 语音指令1qian jin 小车直线前进麦克纳姆轮if(asr.isDetectCmdID(01)){// motorRun(电机通道, 转向, 速度)// M1左前电机 CW顺时针M3右后电机 CCW逆时针四轮配合直行向前motorbit.motorRun(M1,CW,200);motorbit.motorRun(M3,CCW,200);// 全屏居中24号黑色大字显示小车状态// 参数X坐标、Y坐标、文字颜色、中英文字体、字号、自动换行开关k10.canvas-canvasText(K10 小车前进,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 语音指令2ting che 小车全部停车刹车if(asr.isDetectCmdID(11)){// motorStop(ALL)切断M1/M2/M3/M4四路电机全部输出电机断电锁死小车立刻静止motorbit.motorStop(ALL);k10.canvas-canvasText(K10 小车停止,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 语音指令3hou tui 小车直线后退if(asr.isDetectCmdID(21)){// M1左前CCW反转M3右后CW反转四轮配合直线向后倒退motorbit.motorRun(M1,CCW,200);motorbit.motorRun(M3,CW,200);k10.canvas-canvasText(K10 小车后退,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 语音指令4you heng 小车向右横向平移右横移if(asr.isDetectCmdID(31)){// M2右前CCW、M4左后CW麦克纳姆轮差速实现车身整体向右平移motorbit.motorRun(M2,CCW,200);motorbit.motorRun(M4,CW,200);k10.canvas-canvasText(K10 小车右横,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 语音指令5zuo heng 小车向左横向平移左横移if(asr.isDetectCmdID(41)){// M2右前CW、M4左后CCW麦克纳姆轮差速实现车身整体向左平移motorbit.motorRun(M2,CW,200);motorbit.motorRun(M4,CCW,200);k10.canvas-canvasText(K10小车左横,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 语音指令6zhuan quan 小车原地顺时针转圈if(asr.isDetectCmdID(51)){// M1/M2/M3/M4四路电机全部CW顺时针同向差速车身原地持续旋转motorbit.motorRun(M1,CW,200);motorbit.motorRun(M3,CW,200);motorbit.motorRun(M2,CW,200);motorbit.motorRun(M4,CW,200);k10.canvas-canvasText(K10小车原地转圈,0,180,0x000000,k10.canvas-eCNAndENFont24,50,true);k10.canvas-updateCanvas();}// 清空画布第6行及下方所有文字清除上一轮状态提示防止新旧文字重叠残影k10.canvas-canvasClear(6);}代码解读一、项目整体功能本程序适配麦克纳姆四轮全向小车硬件组合行空板 K10 离线 ASR 语音识别 Microbit 四路电机驱动板实现语音全向控制唤醒口令固定为「你好小新」支持 6 种语音动作前进、停车、后退、右横移、左横移、原地转圈屏幕用大号字体实时显示车辆运动状态。二、头文件与硬件对象解析#include “asr.h”#include “unihiker_k10.h”#include Microbit_Motor.hasr.h离线语音识别库提供持续收音、唤醒检测、拼音指令识别unihiker_k10.h行空板底层驱动管理 LCD 屏幕、画布绘制、系统硬件初始化Microbit_Motor.h四路电机专用库独立控制 M1/M2/M3/M4 四个电机适配麦克纳姆轮差速运动。UNIHIKER_K10 k10;ASR asr;uint8_t screen_dir2;Microbit_Motor motorbit;k10行空板主控实例负责屏幕显示asr语音识别实例处理麦克风收音解析screen_dir2屏幕倒置显示motorbit四路电机驱动对象分别控制左前 M1、右前 M2、右后 M3、左后 M4 电机。三、setup () 上电初始化仅开机运行 1 次k10.begin();初始化行空板全部总线、屏幕、外设底层资源。asr.asrInit(CONTINUOUS, CN_MODE, 12000);while(asr._asrState 0){delay(100);}语音模块配置持续收音、中文识别、12000 抗噪灵敏度循环等待语音模型加载完成硬件就绪后才向下执行。k10.initScreen(screen_dir);k10.creatCanvas();按倒置参数点亮屏幕创建绘图缓存画布文字先缓存再统一刷新。asr.addASRCommand(01, “qian jin”); // ID1 前进asr.addASRCommand(11, “ting che”); // ID2 停车asr.addASRCommand(21, “hou tui”); // ID3 后退asr.addASRCommand(31, “you heng”); // ID4 右横移asr.addASRCommand(41, “zuo heng”); // ID5 左横移asr.addASRCommand(51, “zhuan quan”); // ID6 原地转圈预注册 6 条离线拼音口令语音模块仅能识别提前录入的指令。四、loop () 无限主循环实时监听语音指令唤醒状态检测asr.isWakeUp() 判断是否识别唤醒词「你好小新」唤醒成功屏幕第 6 行红色文字 “已唤醒行空板小车”未唤醒屏幕蓝色文字提示唤醒口令updateCanvas() 将画布文字刷新到实体屏幕。Microbit 电机库核心函数motorRun(电机编号, 转向, 速度)电机编号M1 左前、M2 右前、M3 右后、M4 左后转向CW 顺时针、CCW 逆时针速度范围 0~255本程序统一 200 中高速motorStop(ALL)四路电机全部断电刹车小车立刻静止。各语音指令运动逻辑麦克纳姆轮专属差速控制1qian jin 前进M1 左前顺时针、M3 右后逆时针配合四轮同向差速车身直线向前。2ting che 停车四路电机全部停止输出小车锁死不动。3hou tui 后退M1 左前逆时针、M3 右后顺时针车身直线向后倒退。4you heng 右横移M2 右前逆时针、M4 左后顺时针车身整体向右横向平移。5zuo heng 左横移M2 右前顺时针、M4 左后逆时针车身整体向左横向平移。6zhuan quan 原地转圈M1/M2/M3/M4 全部顺时针转动四轮同向差速车身持续原地旋转。屏幕清理代码k10.canvas-canvasClear(6);k10.canvas-canvasClear(6);作用清空第 6 行及下方所有文字清除上一轮状态两行完全重复属于冗余无效代码删一行不影响功能。五、运动动作对照表六、完整运行流程设备上电初始化主板、语音模块等待语音硬件加载完成初始化倒置屏幕画布录入 6 条小车语音控制口令麦克风持续监听唤醒词 “你好小新”唤醒后说出对应语音口令四路电机按麦克纳姆差速逻辑运转屏幕同步大字显示当前运动状态循环自动清空屏幕文字持续等待下一条语音指令。Mind图形编程实验场景图与视频记录【【花雕动手做】行空板 K10 系列实验之 TT 马达四驱动全向福来轮语音控制智能小车#人工智能机器人 #行空板小车 #DIY动手做 #科技改变生活】https://www.bilibili.com/video/BV1EwTt6cEJT/?share_sourcecopy_webvd_source371a292a55e5ca9be994cbb4a86cc987TT马达四驱全向福来轮小车