| 本帖最后由 大连林海 于 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上。
 
 
 电动窗帘有一个引出的四芯的接口,是分别控制电机的开与闭合的。
 
 
 具体的演示效果 会上传的 最近没有到那里去··········去了就很多事
 
 |