在我们平时的生活中,经常看到因气体泄漏发生爆炸事故的新闻。房屋起火、人体中毒等此类的新闻报道层出不穷。这种情况下,人民就发明了可燃气体报警器。当工业环境、日常生活环境(如使用天然气的厨房)中可燃性气体发生泄露,可燃气体报警器检测到可燃性气体浓度达到报警器设置的报警值时,可燃气体报警器就会发出声、光报警信号,以提醒采取人员疏散、强制排风、关停设备等安全措施,防止发生爆炸、火灾、中毒事故,从而保障人身安全和生产安全。

完整源代码获取可关注公众号“MicroPython玩家汇”公众号,回复“毕设二”即可

既然说到了可燃气体,那就科普一下常见的可燃气体。如氢气(H2)、甲烷(CH4)、乙烷(C2H6)、丙烷(C3H8)、丁烷(C4H10)、乙烯(C2H4)、丙烯(C3H6)、丁烯(C4H8)、乙炔(C2H2)、丙炔(C3H4)、丁炔(C4H6)、磷化氢(PH3)等。

因测试环境的要求,本次就以丁烷气体(打火机内的主要气体)的检测为目标。依然是使用TPYBoardv v102开发板为主控部分,然后增加上TPYBoard v202 WIFI开发板,作为网络通信单元,这样就可以通过调用网络接口,把报警信息传送给紧急联系人的微信中。

系统主要的技术特点:

监控报警系统:根据可燃气体检测模块(MQ-2)采集的气体浓度数据,判断出是否超出了安全范围内的阈值。当超出时,启动蜂鸣器报警,启动TPYBoard v202推送微信报警信息。

微信推送系统:TPYBoardv202开发板作为网络模块,负责整个系统的网络通信功能。当收到v102的报警提示后,调用【Server酱】的微信推送接口,将报警信息推送给指定人员的微信上。

所需器件

 

实物图:(部分主要器件)

 

程序设计

(1)TPYBoard v102开发板实时获取可燃气体检测模块的数据,判断该值是否大于设定的阈值。当大于时,启动蜂鸣器报警,同时传递给TPYBoard v202一个报警信号;
(2)当TPYBoard v202收到报警信号时,立即调用网络接口,将报警信息推送到联系人的微信上。

实物连接

先连接电源部分。电源部分主要涉及到降压模块和按键开关。先用万用表,找出按键开关中哪两个引脚是按下导通,弹起不导通的。这里,我们假设为引脚A和引脚B。

整体效果如下图:

 

程序调试

接线完毕后,就要将最重要的程序放到开发板上。首先,通过USB数据线将开发板接入电脑,电脑上会出现一个类似U盘的可移动设备,名称为【TPYBFLASH】,把`程序拷贝到里面即可。
注意:操作开发板磁盘时,板载的红色LED会亮,说明开发板正在保存操作,需等待红灯熄灭再进行其他操作。

TPYBoard v202的程序中涉及到微信推送接口的调用,需要先注册申请该接口,同时绑定联系人的微信。具体操作步骤,详见:docs.tpyboard.com/zh/latest/tpyboard/tutorial/v202/202WEIXIN/

演示效果

程序调试完,拔掉USB数据线。放入18650电池,按下按键开关即可。

到此,我们的可燃气体报警器就完成了。相比,我们在市场上常见的报警器,我们有独特的微信报警功能,也算是比较“优秀”了(哈哈哈,同九年,汝何秀)。

这个是比较简单的雏形,大家可以再追加上更多的可燃气体检测模块,应用到更多的场合中。当然,我们也可以增加联动功能。比如:与燃气热水器、灶具、排油烟机等连接起来使用,当有燃气泄漏时,不仅可以发出报警信号,同时也可以控制煤气表的电磁阀切断气源,起到更直接的安全保护。

毕业设计(2):基于MicroPython的家庭可燃气体泄露微信报警器的更多相关文章

  1. 毕业设计(4):基于MicroPython的超声波倒车雷达系统

    前言 倒车雷达是汽车驻车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员驻车.倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊 ...

  2. 毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现

    前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登4 ...

  3. 毕业设计(1)基于MicroPython的大棚监测控制系统的程序设计与模型设计

    智慧农业就是将物联网技术运用到传统农业中去,运用传感器和软件通过移动平台或者电脑平台对农业生产进行控制,使传统农业更具有“智慧”.除了精准感知.控制与决策管理外,从广泛意义上讲,智慧农业还包括农业电子 ...

  4. 毕业设计5:基于MicroPython的智能火灾报警器系统的设计与实现

    随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.家里一旦发生火灾,如果出现扑救不及时.灭火器材缺乏.以及在场人惊慌失措.逃生迟缓等不利情况下,最终就会导致产生重大的生命财产的损失. 消防部 ...

  5. 【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)

    ☆ 写在前面 之前答应大家的毕业答辩之后把所有文档贡献出来,现在答辩已过,LZ信守承诺,把所有文档开源到了GitHub(这个地址包含所有的代码和文档以及PPT,外层为简单的代码).还望喜欢的朋友们,不 ...

  6. 基于MicroPython:TPYBoard心率监测器

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 一.前言 这几年智能穿戴设备大火,尤其是手环类,从A ...

  7. 基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 实验目的 - 学习ESP8266模块(ESP-01) ...

  8. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...

  9. 基于HTML5的WebGL应用内存泄露分析

    上篇(http://www.hightopo.com/blog/194.html)我们通过定制了CPU和内存展示界面,体验了HT for Web通过定义矢量实现图形绘制与业务数据的代码解耦及绑定联动, ...

随机推荐

  1. SUSE12SP3-Mycat(4)rule.xml配置详解

    简介 rule.xml 里面就定义了我们对表进行拆分所涉及到的规则定义.我们可以灵活的对表使用不同的分片算法, 或者对表使用相同的算法但具体的参数不同.这个文件里面主要有 tableRule 和 fu ...

  2. 《前端之路》之 初识 JavaScript

    01 初识 JavaScript 作为在码农圈混迹了 四五年的老码畜来说,学习一门新的语言,就仿佛是老司机开新车一样 轻车熟路. 为什么会这么快呢? 因为各种套路啊- 任何一种计算机语言的最开始都是和 ...

  3. Jenkins集群搭建

    Jenkins的目的是加快CI/CD的步伐,集群的搭建也不是必须的,当一台服务器的构建速度受到限制下,可以考虑使用主从并发构建,来加快构建速度.作为一款超级管家的角色,Jenkins的资料非常多,Je ...

  4. 简述java接口和C++虚类的相同和不同之处

    C++虚类相当于java中的抽象类,与接口的不同处是: 1.一个子类只能继承一个抽象类(虚类),但能实现多个接口 2.一个抽象类可以有构造方法,接口没有构造方法 3.一个抽象类中的方法不一定是抽象方法 ...

  5. k8s网络之Flannel网络

    k8s网络主题系列: 一.k8s网络之设计与实现 二.k8s网络之Flannel网络 三.k8s网络之Calico网络 简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划 ...

  6. 百度官方CDN公共库(jquery、dojo、Bootstrap)

    CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用.与将JS库存放在服务器单机上相比,CDN公共库更加稳定.高速. 百度公共CDN为您的应用程序提供稳定.可靠.高速的服务,包含全 ...

  7. c# 解决Randoms伪随机重复问题

    /// <summary> /// 解决伪随机问题 /// </summary> public static void Random() { ; ; i < ; i++) ...

  8. EF 外键不显示、如何让外键显示!增、删、改 操作时,外键不显示,只显示导航属性!

    一.问题描述:EF 外键不显示.如何让外键显示!增.删.改 操作时,外键不显示,只显示导航属性! EF 添加.增加.插入数据时,外键不显示! 二.解决方案:在根据数据库生成模型的时候,选中“在模型中” ...

  9. oracle学习笔记(一) oracle 体系结构简单介绍以及创建表空间和用户

    体系结构 oracle数据服务器由oracle数据库和实例组成 实例由后台进程和内存结构组成 内存结构由共享池,数据缓冲区,日志缓存区 Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以 ...

  10. QQ登录的那些坑

    这几天在项目上面实现qq登录的功能,当功能做好后发现,同一个qq号登录之后腾讯返回的openid并不一样....(天啦噜啊~)然后查询文档以及咨询客服才知道注册申请时是有一个固定的套路的(不得不说,如 ...