人工智能系列之智能家居
人工智能系列之智能家居
3月21日
今天我在玩小度智能屏的时候,突然意识到,小度智能屏的语音识别功能,很强大,于是我打算做一个人工智能项目——智能家居。我买了一块语音识别版,图片如下:
还买了一个5v继电器(高电平接合),几块钱,图片如下:
等东西到了,再配上我的micro:bit主板:
这里大家推荐一下这个主板,几乎将所有的模块集于一身,在STEM教育盛行全球的时代,BBC作为英国的国民支柱,凭借其强大的媒体力量帮助整个英国推进STEM教育也是在情理之中。不过此次的重点不仅仅在于BBC对micro:bit的推广,更在于这块只有信用卡一半大小的编程教育硬件,是BBC联合29家公司和机构共同打造,这其中包括多家全球顶级科技公司:
Micro:bit开发板尺寸虽小(125px X 100px),但集成了种类丰富的电子模块:5x5 LED显示屏,两颗可编程按键,加速度计,电子罗盘,温度光线传感器,蓝牙低功耗等。
micro:bit可以通过鳄鱼夹与各种电子元件互动,支持读取传感器数据,控制舵机与RGB灯带。且micro:bit具有免安装驱动,电子模块集成度高,支持时下最热门的多种编程语言等多项优势,节省了教学资源成本的同时大大增加了可玩性和拓展空间。
3月24日
今天,我的东西到了。配合我的主板,还有扩展板,做了一个初步的作品。如下图:
编程的平台是:makecode-v5。继电器的引脚是:P15,且继电器是用高电平来操控的,所以当识别到语音信号:词条1时,向引脚P15写入高电平。如果识别到语音信号:词条2时,向引脚P15写入低电平,从而控制继电器的开关。
3月25日
今天我要把硬件更新一下,我又去网上买了两个5v 4路继电器,图片如下:
于是我又开始了一晚上的敲代码,于是成品如下:
input.onButtonPressed(Button.A, function () { startbit.startbit_ASRWORDSERASE() startbit.startbit_ASRAddWords(1, "da kai ke ting deng") basic.pause(20) startbit.startbit_ASRAddWords(2, "guan bi ke ting deng") basic.pause(20) startbit.startbit_ASRAddWords(5, "da kai chu fang deng") basic.pause(20) startbit.startbit_ASRAddWords(6, "guan bi chu fang deng") basic.pause(20) startbit.startbit_ASRAddWords(7, "da kai zhu wo deng") basic.pause(20) startbit.startbit_ASRAddWords(8, "guan bi zhu wo deng") basic.pause(20) startbit.startbit_ASRAddWords(9, "da kai ci wo deng") basic.pause(20) startbit.startbit_ASRAddWords(10, "guan bi ci wo deng") basic.pause(20) startbit.startbit_ASRAddWords(11, "da kai dian shi") basic.pause(20) startbit.startbit_ASRAddWords(12, "guan bi dian shi") basic.pause(20) startbit.startbit_ASRAddWords(13, "da kai kong tiao") basic.pause(20) startbit.startbit_ASRAddWords(14, "guan bi kong tiao") basic.pause(20) startbit.startbit_ASRAddWords(15, "dao kai feng shan") basic.pause(20) startbit.startbit_ASRAddWords(16, "guan bi feng shan") basic.pause(20) startbit.startbit_ASRAddWords(17, "da kai xi shou jian deng") basic.pause(20) startbit.startbit_ASRAddWords(18, "guan bi xi shou jian deng") basic.pause(20) startbit.startbit_ASRAddWords(19, "da kai quan bu") basic.pause(20) startbit.startbit_ASRAddWords(20, "guan bi quan bu") basic.pause(20) startbit.startbit_ASRAddWords(200, "kai ke deng") basic.pause(20) startbit.startbit_ASRAddWords(200, "guan ke deng") basic.pause(20) startbit.startbit_ASRAddWords(200, "xiao zhi xiao zhi") basic.pause(20) startbit.startbit_ASRAddWords(200, "da kai ji dian qi") basic.pause(20) startbit.startbit_ASRAddWords(200, "guan bi ji dian qi") basic.pause(20) basic.showIcon(IconNames.Yes) }) let 识别结果 = 0 startbit.startbit_ASRSETMODE(startbit.ASRMode.mode1) pins.digitalWritePin(DigitalPin.P0, 1) pins.digitalWritePin(DigitalPin.P1, 1) pins.digitalWritePin(DigitalPin.P2, 1) pins.digitalWritePin(DigitalPin.P8, 1) pins.digitalWritePin(DigitalPin.P12, 1) pins.digitalWritePin(DigitalPin.P13, 1) pins.digitalWritePin(DigitalPin.P14, 1) pins.digitalWritePin(DigitalPin.P15, 1) basic.forever(function () { 识别结果 = startbit.startbit_ASRREAD() if (识别结果 == 1) { pins.digitalWritePin(DigitalPin.P0, 0) } else if (识别结果 == 2) { pins.digitalWritePin(DigitalPin.P0, 1) } else if (识别结果 == 5) { pins.digitalWritePin(DigitalPin.P1, 0) } else if (识别结果 == 6) { pins.digitalWritePin(DigitalPin.P1, 1) } else if (识别结果 == 7) { pins.digitalWritePin(DigitalPin.P2, 0) } else if (识别结果 == 8) { pins.digitalWritePin(DigitalPin.P2, 1) } else if (识别结果 == 9) { pins.digitalWritePin(DigitalPin.P8, 0) } else if (识别结果 == 10) { pins.digitalWritePin(DigitalPin.P8, 1) } else if (识别结果 == 11) { pins.digitalWritePin(DigitalPin.P12, 0) } else if (识别结果 == 12) { pins.digitalWritePin(DigitalPin.P12, 1) } else if (识别结果 == 13) { pins.digitalWritePin(DigitalPin.P13, 0) } else if (识别结果 == 14) { pins.digitalWritePin(DigitalPin.P13, 1) } else if (识别结果 == 15) { pins.digitalWritePin(DigitalPin.P14, 0) } else if (识别结果 == 16) { pins.digitalWritePin(DigitalPin.P14, 1) } else if (识别结果 == 17) { pins.digitalWritePin(DigitalPin.P15, 0) } else if (识别结果 == 18) { pins.digitalWritePin(DigitalPin.P15, 1) } else if (识别结果 == 19) { pins.digitalWritePin(DigitalPin.P0, 0) pins.digitalWritePin(DigitalPin.P1, 0) pins.digitalWritePin(DigitalPin.P2, 0) pins.digitalWritePin(DigitalPin.P8, 0) pins.digitalWritePin(DigitalPin.P12, 0) pins.digitalWritePin(DigitalPin.P13, 0) pins.digitalWritePin(DigitalPin.P14, 0) pins.digitalWritePin(DigitalPin.P15, 0) } else if (识别结果 == 20) { pins.digitalWritePin(DigitalPin.P0, 1) pins.digitalWritePin(DigitalPin.P1, 1) pins.digitalWritePin(DigitalPin.P2, 1) pins.digitalWritePin(DigitalPin.P8, 1) pins.digitalWritePin(DigitalPin.P12, 1) pins.digitalWritePin(DigitalPin.P13, 1) pins.digitalWritePin(DigitalPin.P14, 1) pins.digitalWritePin(DigitalPin.P15, 1) } })
今天的教程就到这里了,当这个项目的硬件或软件有更新时,我会第一时间告诉你们。
(部分图片引用DFRobot的图片)
如有侵权,请联系删除。
未经允许,禁止转载。