[原创]变废为宝之DIY 甲醛测试仪 v1.0

arduino mq138 测甲醛 有机气体
yoyojacky
发布时间: 2018-04-18
阅读: 1740

话说, 用了自己半辈子的积蓄加上老婆家人一辈子的积蓄, 再加上我老爸老妈一辈子的积蓄,终于在上海买了一间一亩三分地的房子,砸锅卖铁装修完后, 还没有搬进去, 通风透气了快半年了,可老婆总是说家里还是有味道,我也想检测一下,但是市面上甲醛检测仪器的价格都比较贵, 也不经常会用到,这个市场有时候很小众, 现在的很多新风系统上就能够检测, 但是又不想买新风系统, 不是不想买,是没钱.....反正是各种没钱, 没钱怎么办? 很快要搬家,最近收拾东西的时候, 突然发现角落里面一个不起眼的盒子里藏着一个没开封的 mq138有机气体传感器模块, 还有一堆1602啊, Nokia5110也有一个,但是从来没有用过...突然想到是否能用现有的硬件组一个甲醛测试仪呢?(实际上做出来没有检测到甲醛, 因为不知道怎么写算法...


好吧,现在想法是: 
  1. 利用 MQ-138模块检测有机气体
  2. 然后利用 SSD1306定义的屏幕0.96来显示甲醛状态(第一版利用Nokia5110) 
  3. 再加上一个 DHT11进行温湿度的检测(第一版没有加入)
  4. 弄个触摸键盘进行温湿度信息和甲醛检测信息的切换(第一版未加入键盘)
  5. 加上 RTC 模块显示时间.(未加入)
  6. 然后用线性稳压 LDO 进行降压和稳压(使用 MP2359的芯片降压)
  7. 最后核心用 arduino 的328p 做核心,简易显示了模拟量,具体数值需要找公式计算.
  8. 核心板自己画一个,不做拼接了,不然做出来体积好大,目标体积是两节18650电池的大小. (已经完成)
  9. 电池盒要留出空间(已经完成)
  10. 利用3D打印机设计外壳, 如果有条件弄个激光打印机打一个贴纸.


步骤1:

先去搜一下各种传感器的 datasheet,了解一下特性,然后就有了下面这些 datasheet.

新的社区不知道哪里上传文件,所以只好给你们看看名字,自己搜索啦..

WX20180418-183941@2x.png


原理图看完了就准备画图了...中间遇到很多问题, 首先是,我的苹果电脑上无法安装 AD, 跑虚拟机又觉得 windows 不习惯...

所以就安装了 eagle 这个开源的软件,其实还挺轻量级的,就是里面的封装和库都太老了... 很多都是直插...搞得我很多东西都要自己画封装...

中间省去各种折腾...终于原理图画好了!

原理图: 

WX20180418-184349@2x.png

其实很简单的.你们应该一眼就看懂了.哈哈,没错~我就是用的 Atmel 的328p 的拆机芯片...


接着是 layout:

WX20180418-184534@2x.png


比较丑, 各位高手, 大神手下留情,不要吐槽的太狠,这是第一版, 请别让我没有开发第二版的勇气...

我这个全开源哦,大家有兴趣都可以试着做做看..

然后各种焊接...慢工出细活儿...

WechatIMG89.jpeg


话说这次打板花了我快一周的时间才拿到....之前元器件涨价比较凶..特别是电容..电阻...

WechatIMG88.jpeg


还有一些瑕疵需要继续改进改进啊..

然后就是焊接....原则是,先焊小的,再焊大的,最后焊接直插件....哈哈

焊接完一定要用万用表测试一下是否短路, 一定, 一定, 一定要测试后再上电.

不然有可能遇到蘑菇云, 猛一点儿的直接一上午的工作白做了...

WechatIMG67.jpeg


我使用 USB-ASP 直接下载到板子上的,没有安装 BootLoader, 因为没有引出串口. 

焊接了两个,但是只有一个 Nokia5110, 回家再找找,也准备去网上淘一下,估计价格低的出奇. 

你你如果想更小巧还可以试试 oled 的屏幕,那个看上去更高大上一些,当然了, 如果用 oled 成本也上去了.看个人的喜好了!



背面一个18650的大电池盒..



屏幕上去了,除了颜色有点儿不搭,其他的感觉还是很不错的..

再来点儿别的地方的谍照,背面看看效果,这个 mq138的传感器像不像测试酒驾的啊?


侧面也来个特写



顶部的特写,位置刚刚好,简单粗暴,还不带套~



两节之前笔记本电脑的电芯, 拆出来就是18650, 平时做树莓派小车的供电电源,今天来给我捧个电场...



开机后,需要稳定大概10秒的样子,然后读数就比较稳定了, 这个数值是我直接读取到的模拟值, 并不是甲醛的具体含量, 我查资料说 mq138品种好多..不知道这个模块是什么品种的, 我淘宝上淘来的,估计当时花了没几块钱...这个应该是最便宜的那种...

代码也非常简单:

/***************************************************************************

  Created by: 骑驴玩儿漂移

  License: GPL? No, 全开源! 随便你怎么折腾!

  电路图和 bom 表回头放在 github (稍安勿躁)

***************************************************************************/

#include <Wire.h>

#include <LCD5110_Basic.h>

 

LCD5110 myGLCD(3, 4, 5, 6, 7);

extern uint8_t SmallFont[];

extern uint8_t MediumNumbers[];

extern uint8_t BigNumbers[];

float  mq138 = A0;

 

void setup(void)

{

  pinMode(mq138, INPUT);

  myGLCD.InitLCD();

}

 

void loop(void)

{

  int a = 70;

  myGLCD.clrScr();

  myGLCD.setFont(SmallFont);

  myGLCD.setContrast(a);

  myGLCD.print("YOYOJACKY TECH", 0, 0);

  myGLCD.print("Formaldehyde" , 0, 8);

  myGLCD.print("CH2O Concent:", 0, 16);

  float data = analogRead(A0);

  if (data < 300.0)

  {

    myGLCD.printNumF(data, 2, 0, 24);

     delay(200);

  }

  else {

    myGLCD.print("Warning!!!", 12, 32);

    delay(200);

    }

}

回家后给老婆一看,被吐槽的体无完肤:

1. 老婆: 你前面那个红灯什么意思?   : 电源灯啊.

2. 老婆: 电源灯那么亮有什么用?   : 就这个亮度啊.

3. 老婆: 你应该用红色灯表示甲醛超标, 黄色表示还行, 绿色表示空气质量良好!! 都不懂得用户体验还装什么产品经理?    : ....下次改还不行么?

4. 老婆: 你为啥不搞个外壳让我好拿着....           : 3D 打印机你回家看电影嫌吵又不让开,白天开着猫主子没事儿就老去捣乱...晚上又不能打...

.....

不过, 虽然对我吐槽了很多,但是她还是拿起来仔细研究了一会儿,左一个造型,右一个造型,发朋友圈去炫耀了......

大家也可以尝试一下,有空多玩儿起来啊!

我是骑驴玩儿漂移, 菜鸟中的小白,小白中的战斗机.... 你们谁知道怎么计算和校准MQ138传感器的方法,请不吝赐教哈!




原创作品,未经权利人授权禁止转载。详情见转载须知 举报文章

点赞 (2)
yoyojacky 擅长:科研教育
评论(0)

登录后可评论,请 登录注册

相关文章推荐
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回

我要举报该内容理由

×
请输入您举报的理由(50字以内)