本帖最后由 大连林海 于 2016-8-26 12:21 编辑
智能家居之智能语音控制窗帘(测试版本)
哈哈 最近在单位装修实验室,聊着聊着说想做一个智能家居 通过语音控制窗帘的开关 开停等·····和小伙伴们商量了一下 决定买材料做起来。想法很简单 用语音识别模块识别语音,但是在讨论的时候也是很担心实际效果的,但是总结就是一个演示 让学生开眼界的。所以最后决定尝试的做一个,尝试着利用wiki中的资源 做起来。
1、romeo ble 多合一
2、语音识别模块
3、继电器
4、电动窗帘
- #include <avr/wdt.h>
- #include <VoiceRecognition.h>
- VoiceRecognition Voice;
- #define RELAY1 4 //定义RELAY 1引脚为4
- #define RELAY2 5 //定义RELAY 2引脚为5
- void setup() {
- Serial.begin(9600);
- pinMode(RELAY1,OUTPUT); //初始化引脚为输出模式
- pinMode(RELAY2,OUTPUT); //初始化LED引脚为输出模式
- digitalWrite(RELAY1,LOW); //LED引脚低电平
- digitalWrite(RELAY2,LOW); //LED引脚低电平
-
- Voice.init();//初始化VoiceRecognition模块
- Voice.addCommand("kai chuang",0); //添加指令,参数1:指令内容,参数2:指令标签(可重复)
- //如“北京”和“首都”代表同样含义,则可共用标签。无返回
- Voice.addCommand("kai ting",1); //添加指令,参数(指令内容,指令标签(可重复))
- Voice.addCommand("guan chuang",2); //添加指令,参数1:指令内容,参数2:指令标签(可重复)
- //如“北京”和“首都”代表同样含义,则可共用标签。无返回
- Voice.addCommand("guan ting",3); //添加指令,参数(指令内容,指令标签(可重复))
- Voice.start();//开始识别
- wdt_enable(WDTO_1S);//打开看门狗(防止死机)
-
- }
- void loop() {
- switch(Voice.read()) //判断识别内容,在有识别结果的情况下Voice.Read()会返回该指令标签,否则返回-1
- {
- case 0://若是指令“kai chuang”
- digitalWrite(RELAY1,HIGH);
- break;
- case 1://若是指令“kai ting”
- digitalWrite(RELAY1,LOW);
- break;
- case 2://若是指令“guan chuang”
- digitalWrite(RELAY2,HIGH);
- break;
- case 3://若是指令“guan ting”
- digitalWrite(RELAY1,LOW);
- break;
- }
- wdt_reset();
- }
-
-
-
复制代码
按照引脚把语音控制板接到romeo主控板上 继电器模块接在数字引脚4和5上。
电动窗帘有一个引出的四芯的接口,是分别控制电机的开与闭合的。
具体的演示效果 会上传的 最近没有到那里去··········去了就很多事
|