回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】行空板K10系列实验之动态读取麦克风数据值并控制板载LED灯 简单

头像 驴友花雕 2025.02.26 5 0

00-.jpg

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好

 

0-5.jpg

板载传感器相关积木

 

05.jpg

 

辅助:屏幕显示相关积木

 

03.jpg

板载传感器之麦克风与积木说明

 

05-08.jpg
05-09.jpg

【花雕学编程】行空板K10系列实验之动态读取麦克风数据值并控制板载LED灯
实验开源代码

 

代码
#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秒
    }
}

代码解读

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灯的功能。

Mind+图形编程

 

05-10.jpg

实验场景图  动态图

 

00056.gif

05-11 (1).jpg
05-11 (2).jpg

评论

user-avatar
icon 他的勋章
    展开更多