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

完整源代码获取可关注公众号“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. 关于raft算法

    列出一些比较好的学习资料, 可以经常翻一番,加深印象 0 raft官方git 1  raft算法动画演示 2    Raft 为什么是更易理解的分布式一致性算法 3  raft一致性算法 4  Raf ...

  2. 【Python实践-1】求一元二次方程的两个解

    知识点: import sys, sys模块包含了与Python解释器和它的环境有关的函数. “sys”是“system”的缩写.sys.exit() 中途退出程序, (注:0是正常退出,其他为不正常 ...

  3. 2. CMake 系列 - 编译多文件项目

    目录 1. 编译不使用第三方库的项目 1.1 项目目录结构 1.2 相关代码 1.3 编译 2. 编译使用第三方库的项目 2.1 项目目录结构 2.2 相关代码 2.3 编译 1. 编译不使用第三方库 ...

  4. 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上)

    为了介绍使用ASP.NET Core构建GraphQL服务器,本文需要介绍一下GraphQL,其实看官网的文档就行. 什么是GraphQL? GraphQL 既是一种用于 API 的查询语言也是一个满 ...

  5. javaScript设计模式--观察者模式(observer)

    观察者模式(observer):又被称为 发布-订阅者模式或者消息机制,定义了一种依赖关系,解决了主体对象与观察者之间功能耦合. 一.这样的需求 在实现自己的需求,而添加一些功能代码,但是又不想新添加 ...

  6. ASP.NET Core中使用GraphQL - 第二章 中间件

    前文:ASP.NET Core中使用GraphQL - 第一章 Hello World 中间件 如果你熟悉ASP.NET Core的中间件,你可能会注意到之前的博客中我们已经使用了一个中间件, app ...

  7. PopupMenuDemo【popupMenu的简单使用】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本文主要将PopUpMenu和ToolbarDemo[Toolbar作为顶部导航栏的简单使用]进行搭配使用,实现toolbar的溢出 ...

  8. 教你编写百度搜索广告过滤的chrome插件

    1 前言 目前百度搜索列表首页里,广告5条正常内容是10条,而且广告都是前1到5条的位置,与正常内容的显示样式无异.对于我们这样有能力的开发者,其实可以简单的实现一个chrome插件,在百度搜索页面里 ...

  9. App.config自定义节点读取

    <?xml version="1.0" encoding="utf-8"?> <configuration> <!--<ot ...

  10. Python全栈开发之---迭代器、可迭代对象、生成器

    1.什么叫迭代 现在,我们已经获得了一个新线索,有一个叫做“可迭代的”概念. 首先,我们从报错来分析,好像之所以1234不可以for循环,是因为它不可迭代.那么如果“可迭代”,就应该可以被for循环了 ...