行空板 K10 语音识别小车
2026-07-17303
AI 快速预览详细
行空板 K10 语音识别小车是一个适合初学者和学生的项目。通过ASR模块,用户可以添加自定义语音命令,如“前进”、“停止”、“后退”和“转向”。项目中使用了行空板 K10 和ASR模块,通过简单的代码设置,实现对小车的语音控制。这个项目不仅能够激发孩子的创造力,还能帮助他们理解语音识别技术的基本原理。
|
/*! * MindPlus * esp32s3bit * */ #include "asr.h" #include "unihiker_k10.h" // 创建对象 UNIHIKER_K10 k10; uint8_t screen_dir=2; ASR asr; // 主程序开始 void setup() { k10.begin(); k10.initScreen(screen_dir); k10.creatCanvas(); asr.asrInit(CONTINUOUS, CN_MODE, 12000); while(asr._asrState == 0){delay(100);} k10.setScreenBackground(0xFFFFFF); asr.addASRCommand(0+1, "qian jin"); asr.addASRCommand(1+1, "ting zhi"); asr.addASRCommand(2+1, "hou tui"); asr.addASRCommand(3+1, "you zhuan"); asr.addASRCommand(4+1, "zuo zhuan"); } void loop() { if (asr.isWakeUp()) { k10.canvas->canvasText("以唤醒行空板", 4, 0x33FFFF); k10.canvas->updateCanvas(); } else { k10.canvas->canvasText("唤醒词为“你好小新”", 7, 0x33FFFF); k10.canvas->updateCanvas(); } if (asr.isDetectCmdID(0+1)) { k10.canvas->canvasText("K10 小车前进", 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); k10.canvas->updateCanvas(); digital_write(eP12, HIGH); digital_write(eP13, LOW); digital_write(eP14, HIGH); digital_write(eP15, LOW); } if (asr.isDetectCmdID(1+1)) { k10.canvas->canvasText("K10 小车停止", 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); k10.canvas->updateCanvas(); digital_write(eP12, LOW); digital_write(eP13, LOW); digital_write(eP14, LOW); digital_write(eP15, LOW); } if (asr.isDetectCmdID(2+1)) { k10.canvas->canvasText("K10 小车后退", 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); k10.canvas->updateCanvas(); digital_write(eP12, LOW); digital_write(eP13, HIGH); digital_write(eP14, LOW); digital_write(eP15, HIGH); } if (asr.isDetectCmdID(3+1)) { k10.canvas->canvasText("K10 小车右转", 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); k10.canvas->updateCanvas(); digital_write(eP12, LOW); digital_write(eP13, HIGH); digital_write(eP14, HIGH); digital_write(eP15, LOW); } if (asr.isDetectCmdID(4+1)) { k10.canvas->canvasText("K10 小车左转", 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); k10.canvas->updateCanvas(); digital_write(eP12, HIGH); digital_write(eP13, LOW); digital_write(eP14, LOW); digital_write(eP15, HIGH); } k10.canvas->canvasClear(4); } ![]() |





