|
8| 0
|
[K10项目分享] K10系列实验之语音控制照片上下切换 |
|
行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() ![]() ![]() c++代码: /*! * MindPlus * esp32s3bit * */ #include "asr.h" #include "unihiker_k10.h" #include "Arduino_image_cache.h" // 动态变量 volatile float mind_n_cnt; // 创建对象 UNIHIKER_K10 k10; ASR asr; uint8_t screen_dir=2; // 主程序开始 void setup() { k10.begin(); asr.asrInit(CONTINUOUS, CN_MODE, 12000); while(asr._asrState == 0){delay(100);} asr.setAsrSpeed(2); k10.initScreen(screen_dir); k10.creatCanvas(); asr.addASRCommand(0+1, "shang hua"); asr.addASRCommand(1+1, "xia hua"); mind_n_cnt = 0; } void loop() { if (((mind_n_cnt<0) || (mind_n_cnt>5))) { mind_n_cnt = 5; } if (asr.isWakeUp()) { if (asr.isDetectCmdID(0+1)) { mind_n_cnt += 1; if ((mind_n_cnt==0)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1); k10.canvas->updateCanvas(); asr.speak("这个是雕爷"); } if ((mind_n_cnt==1)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data2); k10.canvas->updateCanvas(); asr.speak("这个是我"); } if ((mind_n_cnt==2)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data3); k10.canvas->updateCanvas(); asr.speak("这个是好奇"); } if ((mind_n_cnt==3)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data4); k10.canvas->updateCanvas(); asr.speak("氛围"); } if ((mind_n_cnt==4)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data5); k10.canvas->updateCanvas(); asr.speak("这个人说他叫你猜"); } if ((mind_n_cnt==5)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data6); k10.canvas->updateCanvas(); asr.speak("这个叫啥不知道"); } } if (asr.isDetectCmdID(1+1)) { mind_n_cnt -= 1; if ((mind_n_cnt==0)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data7); k10.canvas->updateCanvas(); asr.speak("这个是雕爷"); } if ((mind_n_cnt==1)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data8); k10.canvas->updateCanvas(); asr.speak("这个是我"); } if ((mind_n_cnt==2)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data9); k10.canvas->updateCanvas(); asr.speak("这个是好奇"); } if ((mind_n_cnt==3)) { k10.canvas->canvasDrawBitmap(0,0,100,100,image_data10); k10.canvas->updateCanvas(); asr.speak("氛围"); } if ((mind_n_cnt==4)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data11); k10.canvas->updateCanvas(); asr.speak("这个人说他叫你猜"); } if ((mind_n_cnt==5)) { k10.canvas->canvasDrawBitmap(0,0,240,320,image_data12); k10.canvas->updateCanvas(); asr.speak("这个叫啥不知道"); } } } else { k10.canvas->canvasText("唤醒词为你好小新", 1, 0x0000FF); k10.canvas->updateCanvas(); } } cnt : 计数,为照片编号 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed