前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人工智能系列之智能家居——来自勤奋的锐锐的投稿

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

原创
作者头像
勤奋的思远
修改2021-04-30 15:29:20
8392
修改2021-04-30 15:29:20
举报
文章被收录于专栏:勤奋的思远勤奋的思远

这是一篇日志性的文章,记录了制作智能家居的代码........

下次带来硬件来实际看看效果

3月21日

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

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

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

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

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

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

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

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

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

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

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

3月24日

今天,我的东西到了。配合我的主板,还有扩展板,做了一个初步的作品。程序如下图:

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

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

3月25日。

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

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

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

代码语言:python
代码运行次数:0
复制
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张
人工智能系列之智能家居——来自勤奋的锐锐的投稿 机器人硬件开发板 游客投稿版 第8张

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

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

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

如有侵权,请联系删除。

未经允许,禁止转载。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3月21日
  • 3月24日
  • 3月25日。
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档