基于行空板K10的智能家居
一、项目背景随着物联网和人工智能技术的普及,智能家居逐渐融入日常生活。本项目依托《义务教育信息科技课程标准(2022年版)》中"物联网实践与探索"、"人工智能初步"等主题,以行空板K10为核心控制器,结合语音识别、传感器与执行器技术,设计一个简易智能家居系统。通过本项目,学生能够理解物联网系统的基本架构,掌握传感器与执行器的联动逻辑,同时培养跨学科问题解决能力,体现"做中学"的课程理念。二、项目目标依据《义务教育信息科技课程教学指南》中**"数字化学习与创新"和"计算思维"**的核心素养目标,制定以下具体目标:[*]信息意识:理解语音识别、物联网技术对社会生活的影响,感知技术应用中的隐私与伦理问题。
[*]计算思维:通过模块化设计实现语音指令解析、设备控制逻辑的算法设计,完成系统调试与优化。
[*]数字化学习与创新:利用行空板K10的图形化编程环境,实现传感器与执行器的协同控制,培养软硬件综合实践能力。
[*]信息社会责任:在开发过程中关注语音数据的安全性,思考技术应用的合理边界。
三、项目实施
1.所需器材
行空板K10
激光切割框架、LED、舵机、风扇电机
2.实现功能
语音识别控制开关灯、开关门、打开关闭风扇。
3.程序编写
/*!
* MindPlus
* esp32s3bit
*
*/
#include "asr.h"
#include "unihiker_k10.h"
#include <Microbit_Motor.h>
// 创建对象
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
ASR asr;
AHT20 aht20;
Microbit_Motor motorbit;
// 主程序开始
void setup() {
k10.begin();
pinMode(P0, OUTPUT);
pinMode(P1, OUTPUT);
k10.initScreen(screen_dir);
k10.creatCanvas();
asr.asrInit(CONTINUOUS, CN_MODE, 6000);
while(asr._asrState == 0){delay(100);}
asr.setAsrSpeed(2);
k10.setScreenBackground(0x000000);
k10.canvas->canvasClear();
asr.addASRCommand(0+1, "kai men");
asr.addASRCommand(1+1, "guan men");
asr.addASRCommand(2+1, "kai deng");
asr.addASRCommand(3+1, "guan deng");
asr.addASRCommand(4+1, "da kai feng shan");
asr.addASRCommand(5+1, "guan bi feng shan");
}
void loop() {
k10.canvas->canvasText((String("当前温度:") + String(aht20.getData(AHT20::eAHT20TempC))), 3, 0x0000FF);
k10.canvas->canvasText((String("当前光强:") + String(k10.readALS())), 5, 0x0000FF);
k10.canvas->updateCanvas();
if (asr.isDetectCmdID(0+1)) {
motorbit.servo(S5, 50);
asr.speak("门已打开");
}
if (asr.isDetectCmdID(1+1)) {
motorbit.servo(S5, 100);
asr.speak("门已关闭");
}
if (asr.isDetectCmdID(2+1)) {
digitalWrite(P0, HIGH);
asr.speak("灯已打开");
}
if (asr.isDetectCmdID(3+1)) {
digitalWrite(P0, LOW);
asr.speak("灯已关闭");
}
if (asr.isDetectCmdID(4+1)) {
digitalWrite(P1, HIGH);
asr.speak("风扇已打开");
}
if (asr.isDetectCmdID(5+1)) {
digitalWrite(P1, LOW);
asr.speak("风扇已关闭");
}
}
四、实现效果
https://www.bilibili.com/video/BV1uoNUeoEuZ/?vd_source=eb4ecdbf6ce5e9c78823117879e1d75a
页:
[1]