当前位置:首页 > 未分类 > 正文内容

人工智能系列之智能家居——来自勤奋的锐锐的投稿

admin3个月前 (04-29)未分类162

321

今天我在玩小度智能屏的时候,突然意识到,小度智能屏的语音识别功能,很强大,于是我打算做一个人工智能项目——智能家居。我买了一块语音识别版,图片如下:

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第1张

还买了一个5v继电器(高电平接合),几块钱,图片如下:

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第2张

等东西到了,再配上我的microbit主板:

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第3张


这里大家推荐一下这个主板,几乎将所有的模块集于一身,在STEM教育盛行全球的时代,BBC作为英国的国民支柱,凭借其强大的媒体力量帮助整个英国推进STEM教育也是在情理之中。不过此次的重点不仅仅在于BBCmicro:bit的推广,更在于这块只有信用卡一半大小的编程教育硬件,是BBC联合29家公司和机构共同打造,这其中包括多家全球顶级科技公司:  

 人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第4张


Micro:bit开发板尺寸虽小(125px X 100px),但集成了种类丰富的电子模块:5x5 LED显示屏,两颗可编程按键,加速度计,电子罗盘,温度光线传感器,蓝牙低功耗等。

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第5张


micro:bit可以通过鳄鱼夹与各种电子元件互动,支持读取传感器数据,控制舵机与RGB灯带。且micro:bit具有免安装驱动,电子模块集成度高,支持时下最热门的多种编程语言等多项优势,节省了教学资源成本的同时大大增加了可玩性和拓展空间。

 

 

324

今天,我的东西到了。配合我的主板,还有扩展板,做了一个初步的作品。程序如下图:人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第6张


编程的平台是:makecode-v5。继电器的引脚是:P15,且继电器是用高电平来操控的,所以当识别到语音信号:词条1时,向引脚P15写入高电平。如果识别到语音信号:词条2时,向引脚P15写入低电平,来控制继电器的开关。

 

 

325日。

今天我要把硬件更新一下,我又去网上买了两个5v 4路继电器,图片如下:

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第7张

于是我又开始了一晚上的敲代码,于是成品如下:

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)

    }

})

 

转成图形化就是:

人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版  第8张

图片有点看不清,但是有代码就够了。

今天的教程就到这里了,当这个项目的硬件或软件有更新时,我会第一时间告诉你们。

 

(部分图片引用DFRobot的图片)

 

 

如有侵权,请联系删除。

未经允许,禁止转载。


扫描二维码推送至手机访问。

版权声明:本文由勤奋的思远发布,如需转载请注明出处。

如果文章对你有帮助的话就赞助一下吧https://lsybk.xyz/post/75.html

本文链接:https://lsybk.xyz/post/183.html

分享给朋友:

相关文章

2020足迹

2020足迹

!...

2021首次回馈活动——Q币篇

2021首次回馈活动——Q币篇

自2020年五月以来,本博客的持续发展不...

漏洞库(值得收藏)

漏洞库(值得收藏)

SQL注入漏洞风险等级:高危漏洞描述:S...

【C++入门教程(6)】循环结构(2)while

【C++入门教程(6)】循环结构(2)while

好久没写这个C++教程了,这次来讲讲wh...

SQL手注时绕waf的十一种方法

SQL手注时绕waf的十一种方法

带大家了解一下SQL时过waf的小方法1...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。