查看: 3940|回复: 11

[进阶教程] 基于Yeelink平台的智能厨房燃气报警装置

[复制链接]
本帖最后由 hnyzcj 于 2018-2-19 09:05 编辑

基于Yeelink平台的智能厨房烟雾报警装置

创意来源:
普通的家用燃气报警器只能报警或切断燃气管路,若主人不在家并且在电磁阀的上端发生漏气,报警器将束手无策。我们切实需要一款能够远程通知并更有效地排险的报警器。
作品设计:
A燃气检测: 采用高性能燃气传感器,可以检测包括一氧化碳、烷类、石油气、天然气等多种气体,检测更全面。
B报警方式: 支持本地报警和远程报警。本地报警的同时可以开启排气扇和窗户(支持拓展电磁阀)。
C报警模式选择: 可以通过自锁开关选择报警方式(蜂鸣器响或不响),可以让用户更加安心地寻找泄露源。
D远程报警: 只要接上网线,登录Yeelink客户端,家中的燃气报警情况便可以了如指掌。如果家中燃气泄漏,客户端会第一时间推送通知。
E新颖的排险方式:兼容传统报警方式又弥补老报警方式的不足,开启窗户和排气扇,彻底通风让屋内环境更加安全。
项目器材:
   
序号
  
名称
数量
1
1
2
1
3
1
4
2
5
2
6
自制燃气管路、气源(打火机)
1
7
1
8
纸盒
1
9
1
10
1
11
1
12
1
13
PH2.0 - PH2.0连接线
2
14
阈值模块
1
制作过程:
A电路连接:
使用Arduino Uno作为主控器,上面堆叠W5100拓展板和I/O拓展板。所有传感器及输出装置均通过此I/O板进行,无需额外焊接或接线。
接线索引:
MQ9传感器接分支模块,一路接A0脚,一路经阈值模块接A1脚。
3、4脚接LED模块。
5、6脚接蜂鸣器模块。
7脚接自锁开关模块。
8脚接9g 180°舵机。
9脚接风扇模块。
接以太网拓展板至英特网。

B代码编写:
[C++] 纯文本查看 复制代码
/* ******************************
*  厨房燃气报警主动排险系统
*  制作人:淮南一中高一(20)周孜宁
*  
*  接线索引:
*  MQ9传感器接分支模块,一路接A0脚,一路经阈值模块接A1脚。
*  3、4脚接LED模块。
*  5、6脚接蜂鸣器模块。
*  7脚接自锁开关模块。
*  8脚接9g 180°舵机。
*  9脚接风扇模块。
*  接以太网拓展板至英特网。
*  
*  Update Log:
*  20170301231051 开始编写。
*  20170304004603 基础部分编写完成,风扇模块有bug,Yeelink未编写。
*  20170304100237 修正不能返回主循环的bug,取消风扇模块查看效果。
*  20170304152002 修正风扇模块的bug。
*  20170304225615 修正bug,剩余Yeelink未做。
****************************** */
//为避免版权纠纷只提供本地代码,Yeelink代码示例和库文件请到Yeelink官网下载。
//目前上交的作品中烧录的代码包含Yeelink远程监测,请勿烧写新代码。
#include <Ethernet.h>
#include <SPI.h>
#include <yl_device.h>
#include <yl_w5100_client.h>
#include <yl_wifi_client.h>
#include <yl_messenger.h>
#include <yl_value_data_point.h>
#include <yl_sensor.h>
#include <Servo.h>
#define LED1 3
#define LED2 4
#define Beep1 5
#define Beep2 6
#define Switch 7
#define fan 9
int Deg = 0;  //设置舵机角度(全局变量)
int Dly = 1000;//设置延时时间(全局变量)
Servo windowServo;
void setup()
{
  Serial.begin(9600);
  //引脚定义
  pinMode(LED1,OUTPUT);       //定义3脚为输出口
pinMode(LED2,OUTPUT);       //定义4脚为输出口
pinMode(Beep1,OUTPUT);      //定义5脚为输出口
pinMode(Beep2,OUTPUT);      //定义6脚为输出口
pinMode(Switch,INPUT);      //定义7脚为输入口
pinMode(8,OUTPUT);          //定义8脚为输出口
pinMode(fan,OUTPUT);        //定义9脚为输出口
windowServo.attach(8);      //定义windowServo舵机位置
}
void loop() {
  //变量设置
  intGasD = analogRead(1);       //燃气传感器(报警用)
  intGasA = analogRead(0);       //燃气传感器(上传用)
  intPower = digitalRead(Switch);//自锁开关状态
     //此处为Yeelink代码并获取GasA值上传。
     Serial.println(GasD);        //串口测试
    if(GasD >= 512  & Power ) {   //若燃气超出阈值、自锁开关压下
     OpenWindowAlarm(); }         //调用开窗报警函数
    if(GasD >= 512 & !Power ) {   //若燃气超出阈值、自锁开关弹起
     OpenWindow(); }              //调用开窗函数
    if(GasD <512 ) {              //若燃气未超出阈值
     CloseWindow(); }             //调用关窗函数
}
void OpenWindowAlarm(){
  Deg =100;               //设置Deg值
windowServo.write(Deg);  //设置舵机角度为Deg
delay(1000);             //延时1s让舵机旋转至100°
  digitalWrite(LED1,HIGH);//LED1亮
digitalWrite(LED2,HIGH); //LED2亮
digitalWrite(Beep1,HIGH);//Beep1响
digitalWrite(Beep2,HIGH);//Beep2响
digitalWrite(fan,HIGH);  //风扇启动
}
void OpenWindow(){
  Deg =100;              //设置Deg值
windowServo.write(Deg); //设置舵机角度为Deg
delay(1000);            //延时1s让舵机旋转至100°
digitalWrite(LED1,HIGH);//LED1亮
digitalWrite(LED2,HIGH);//LED2亮
digitalWrite(Beep1,LOW);//Beep1不响
digitalWrite(Beep2,LOW);//Beep2不响
digitalWrite(fan,HIGH); //风扇启动
}
void CloseWindow(){
  Deg =0;                //设置Deg值
windowServo.write(Deg); //设置舵机角度为Deg
delay(1000);            //延时1s让舵机旋转至0°
digitalWrite(LED1,LOW); //LED1不亮
digitalWrite(LED2,LOW); //LED2不亮
digitalWrite(Beep1,LOW);//Beep1不响
digitalWrite(Beep2,LOW);//Beep2不响
  digitalWrite(fan,LOW);  //风扇关闭

}

以上为本地模块代码。

C安装:
1.  将纸盒平铺展开,在对应孔位上开孔,后端留出气源连接线和电池出口。
2.  将纸盒上面开展示槽;在侧面开舵机槽,模拟“窗户”。
3.  将“窗户”粘接至舵机上,用热熔胶固定在侧面。
4.  将各组件用螺丝和螺母固定到位。
5.  将模拟展示区和接线区分隔开。
6.  接上电源,指示灯亮,安装成功。
上述是用纸盒做的步骤,后改为收纳盒制作。

(该作品已获2017安徽省青少年科技创新大赛二等奖)

znzhou  初级技师

发表于 2017-5-9 21:15:43

提示: 该帖被管理员或版主屏蔽
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-10 06:12:10

znzhou 发表于 2017-5-9 21:15
报警器作者占楼~

怎么是个妹子:lol
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2017-5-10 16:25:21

znzhou 发表于 2017-5-9 21:15
报警器作者占楼~

报警器作者好~ 我的膝盖请收下
回复 支持 反对

使用道具 举报

znzhou  初级技师

发表于 2017-5-11 14:58:20

luna 发表于 2017-5-10 16:25
报警器作者好~ 我的膝盖请收下

别这样,膝盖收好,以后还等着要红包呢
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2017-5-11 15:01:00

znzhou 发表于 2017-5-11 14:58
别这样,膝盖收好,以后还等着要红包呢

头像差点看错,以为是轻音~
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2017-5-11 15:01:00

znzhou 发表于 2017-5-11 14:58
别这样,膝盖收好,以后还等着要红包呢

头像差点看错,以为是轻音~
回复 支持 反对

使用道具 举报

dsweiliang  版主

发表于 2017-5-13 08:35:52

陈老师的学生都不错
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-15 09:48:31

luna 发表于 2017-5-11 15:01
头像差点看错,以为是轻音~

LUNA,他是娘炮:lol
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-15 09:50:19

luna 发表于 2017-5-11 15:01
头像差点看错,以为是轻音~

为啥他的视频又出不来了
回复 支持 反对

使用道具 举报

tzlzy  版主

发表于 2017-12-5 17:28:40

怎么屏蔽啦
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-12-5 21:21:59


他要求的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail