【花雕学编程】行空板K10系列实验之读取麦克风数据值
2025-02-263463
AI 快速预览详细
行空板K10是一款专为物联网和人工智能学习设计的开发板,集成多种传感器和扩展接口。该板集成麦克风和内置算法,支持离线语音识别。通过本实验,用户可以轻松读取麦克风数据值,实现语音识别功能。无需额外设备,适合编程启蒙和STEM教育。
![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() |






1、初始化:
UNIHIKER_K10 k10;:创建一个 UNIHIKER_K10 对象 k10。
uint8_t screen_dir = 2;:定义屏幕方向变量 screen_dir 并初始化为2。
k10.begin();:初始化 k10 对象。
k10.initScreen(screen_dir);:根据 screen_dir 初始化屏幕方向。
k10.creatCanvas();:创建一个画布。
k10.rgb->write(-1, 0x000000);:将板载LED灯初始化为关闭状态(黑色)。
2、主循环:
每次循环延迟500毫秒。
在画布上显示文本 "行空板K10传感器",字体大小为5,颜色为蓝色 (0x0000FF)。
在画布上显示麦克风数据,字体大小为7,颜色为蓝色 (0x0000FF)。
在画布上显示文本 "板载LED:绿色",字体大小为8,颜色为蓝色 (0x0000FF)。
更新画布以显示最新内容。
将板载LED灯设置为绿色。
清除画布上第9行的内容。
如果麦克风数据超过30000:
在画布上显示文本 "板载LED:红色",字体大小为9,颜色为红色 (0xFF0000)。
更新画布以显示最新内容。
将板载LED灯关闭(黑色)。
将板载LED灯设置为红色。
清除画布上第8行的内容。
延迟1秒。
这些代码实现了通过 UNIHIKER_K10 获取麦克风数据并根据数据变化控制LED灯的功能。
实验开源代码
[code]#include "unihiker_k10.h" // 引入 UNIHIKER_K10 行空板K10库
// 创建对象
UNIHIKER_K10 k10; // 创建 UNIHIKER_K10 对象 行空板k10
uint8_t screen_dir = 2; // 定义屏幕方向变量,并初始化为2
// 主程序开始
void setup() {
k10.begin(); // 初始化 k10 对象
k10.initScreen(screen_dir); // 初始化屏幕方向
k10.creatCanvas(); // 创建画布
k10.rgb->write(-1, 0x000000); // 将板载LED灯初始化为关闭状态(黑色)
}
void loop() {
delay(500); // 延迟500毫秒
k10.canvas->canvasText("行空板K10传感器", 5, 0x0000FF); // 在画布上显示文本 "行空板K10传感器",字体大小为5,颜色为蓝色 (0x0000FF)
k10.canvas->canvasText((String("麦克风:") + String(k10.readMICData())), 7, 0x0000FF); // 在画布上显示麦克风数据,字体大小为7,颜色为蓝色 (0x0000FF)
k10.canvas->canvasText("板载LED:绿色", 8, 0x0000FF); // 在画布上显示文本 "板载LED:绿色",字体大小为8,颜色为蓝色 (0x0000FF)
k10.canvas->updateCanvas(); // 更新画布
k10.rgb->write(-1, 0x00FF00); // 将板载LED灯设置为绿色
k10.canvas->canvasClear(9); // 清除画布上第9行的内容
if (k10.readMICData() > 30000) { // 如果麦克风数据超过30000
k10.canvas->canvasText("板载LED:红色", 9, 0xFF0000); // 在画布上显示文本 "板载LED:红色",字体大小为9,颜色为红色 (0xFF0000)
k10.canvas->updateCanvas(); // 更新画布
k10.rgb->write(-1, 0x000000); // 将板载LED灯关闭(黑色)
k10.rgb->write(-1, 0xFF0000); // 将板载LED灯设置为红色
k10.canvas->canvasClear(8); // 清除画布上第8行的内容
delay(1000); // 延迟1秒
}
}[/code]
辅助:屏幕显示相关积木