电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>小丑远程危险加油站和监控器

小丑远程危险加油站和监控器

2022-07-22 | zip | 0.72 MB | 次下载 | 免费

资料介绍

PCB图如下:
poYBAGLNw6iAY_jRAAea32JXxEo026.png
pYYBAGLNw6uANjdlAAKYW9VbdKo411.png

成分

PCBWay定制PCB
?
× 1
阿杜诺纳米
?
× 1
ST7789 240x240 IPS 屏幕
?
× 1
红外遥控器和接收器
?
× 1
MQ-3 气体传感器
?
× 1
MQ-4 气体传感器
?
× 1
MQ-6 气体传感器
?
× 1
MQ-9 气体传感器
?
× 1
蜂鸣器
?
× 1
5mm共阳极RGB LED
?
× 1
220Ω电阻
?
× 7
20K电阻
?
× 5
电源插孔
?
× 1
外接电池 (5V)
?
× 1
MQ2 气体传感器模块
?
× 1

描述

小丑远程危险加油站和监控器

?

长期以来,我一直想创造一种独特的设备来观察各种有害气体的存在,以用于空气质量监测和气体泄漏检测等广泛的应用。因此,我决定开发这个项目。

?

首先,为了得到严格的气体测量结果,我选择使用这些 MQ 系列气体传感器,将它们连接到 Arduino Nano:

?

  • MQ-2
  • MQ-3
  • MQ-4
  • MQ-6
  • MQ-9

?

在为我的设备选择气体传感器后,我决定使用红外遥控器控制其设置和功能。因此,我将 IR 远程接收器模块连接到 Arduino Nano。然后,为了显示生成的气体测量值,我使用了 ST7789 IPS 屏幕。

?

最后,我添加了一个蜂鸣器和一个 5 毫米共阳极 RGB LED,以便在气体达到危险水平时收到通知。

?

您可能已经知道,Joker 制造的有毒气体化合物(Joker Venom 或 Laughing Gas)在 DC 宇宙中被认为是非常危险的。因此,我以小丑在漫画中的形象为灵感塑造了我的设备,以提醒人们气体的有害影响。

?

在面包板上完成布线并测试代码后,我设计了受 Joker 启发的 PCB 来完成我的项目。它成为我工作场所的时尚和有趣的补充,作为监测有害气体存在的有效设备:)

?

poYBAGLNw8GAUQaEAAPmMMJ7Qko381.jpg

?

pYYBAGLNxC-AKfTtASvxLsNPjK0999.gif

?

第 1 步:设计和焊接 Joker Remote Gas Station PCB

?

在对我的 PCB 设计进行原型设计之前,我使用面包板上的 Arduino Nano 测试了所有连接和接线。

?

poYBAGLNxDOAXXs0AAl5F7YIc-4348.jpg

?

然后,我使用 KiCad 设计了 ??Joker Remote Gas Station PCB。我附上了下面 PCB 的 Gerber 文件,所以如果你愿意,你可以从 PCBWay 订购这个 PCB,以创建一个合适的设备来观察有害气体的存在,并在它们达到危险水平时得到通知 - 受恶意 Joker 的启发: )

?

pYYBAGLNxDeAO48TAAiTYQ9ObM4526.jpg

?

pYYBAGLNxDqAcU6VAAYwaKDhs5s152.jpg

?

首先,通过使用烙铁,我连接了 Arduino Nano、IR 接收器模块、MQ-2 气体传感器、MQ-3 气体传感器、MQ-4 气体传感器、MQ-6 气体传感器、MQ-9 气体传感器、接头(母)、蜂鸣器、5mm共阳极RGB LED、220Ω电阻、20K电阻、电源插孔。

?

PCB上的元件清单:

?

A1(阿杜诺纳米)
S1(ST7789 IPS 屏幕接头)
IR1(红外接收模块)
MQ2(MQ-2 气体传感器)
MQ3(MQ-3 气体传感器)
MQ4(MQ-4 气体传感器)
MQ6(MQ-6 气体传感器)
MQ9(MQ-9 气体传感器)
BZ1(蜂鸣器)
D1 (5mm 共阳极 RGB LED)
R1、R2、R3、R4、R5、R6、R7(220Ω电阻)
R8、R9、R10、R11、R12(20K 电阻)
J1(电源插孔)
J2(外部电池接头)

?

pYYBAGLNxD2AbTPHAAg4KDlEgoc920.jpg

?

poYBAGLNxEGAFqWlAAcP1OgduL8896.jpg

?

poYBAGLNxFCACLG1AAgS2J2BplA782.jpg

?

第 2 步:对 Arduino Nano 进行编程并设置组件

?

下载所需的库,以便能够控制 IR 接收器模块:

Arduino-IRremote |?图书馆

?

下载所需的库以使用 ST7789 240x240 IPS 屏幕:

Arduino_ST7789_Fast |?图书馆

Adafruit_GFX |?图书馆

?

? 包括所需的库。

? 定义 IR 接收器模块引脚和设置。

?







 ;
decode_results 结果;

?

? 通过执行示例中的IRrecvDemo.ino 文件,从IR 遥控器中获取所需的IR 代码并定义它们。

?






?

? 定义 ST7789 240x240 IPS 显示设置。

?





?

? 要在 ST7789 屏幕上显示图像,请使用以下图像转换器将它们转换为 .c 文件:

?

图像转换器 (UTFT)

?

您可以下载我在下载中使用的转换后的图像 - gas.c、lethal.c 和toxic.c。

?

? 包括转换后的图像。

?




?

? 启动 ST7789 240x240 IPS 显示屏。

?

 TFT = Arduino_ST7789(TFT_DC,TFT_RST); 

?

? 启动 IR 接收器模块。

? 启动并清除 ST7789 240x240 IPS 显示屏。

?

不可恢复。启用IRIn();

tft.init(SCR_WD, SCR_HT);
tft.fillScreen(RGBto565(235, 46, 0));

?

? 在 read_IR_controls 函数中,在传输时从 IR 遥控器收集 IR 代码。

?

  {
 
IR_codeValue = results. ;
不可恢复的简历();
延迟();
}{
IR_codeValue =  ;
}
}

?

? 在 collect_Data 函数中,获取 MQ 系列气体传感器(MQ-2、MQ-3、MQ-4、MQ-6 和 MQ-9)产生的气体测量值。

?

  {

mq_2_val = 模拟读取(mq_2);
mq_3_val = 模拟读取(mq_3);
mq_4_val = 模拟读取(mq_4);
mq_6_val = 模拟读取(mq_6);
mq_9_val = 模拟读取(mq_9);
}

?

? 在界面功能中,打印带有菜单选项的界面。

?

  {

tft.setTextColor(RGBto565( , , ), RGBto565( , , ));
tft.setTextSize(  );
tft.setCursor(  ,  );
tft.println(  );
tft.setCursor(  ,  );
tft.println(  );
tft.setCursor(  ,  );
tft.println(  );
tft.setCursor(  ,  );
tft.println(  );
tft.setCursor(  ,  );
tft.println(  );
}

?

? 在 change_menu_options 函数中,通过使用 IR 遥控器按钮 - Up 和 Down - 增加或减少选项编号,以在界面上的菜单选项之间切换。

?

  {

 (selected < ) selected = ;
 (selected > ) selected = ;
延迟();

 
mq2 =  ;
mq3 =;
mq4 =;
MQ6 =;
mq9 =;
;
 : 
mq2 =;
mq3 =;
mq4 =;
MQ6 =;
mq9 =;
;
 :
mq2 =;
mq3 =;
mq4 =;
MQ6 =;
mq9 =;
;
 :
mq2 =;
mq3 =;
mq4 =;
mq6 =;
mq9 =;
;
 :
mq2 =;
mq3 =;
mq4 =;
MQ6 =;
mq9 =;
;
}
}

?

pYYBAGLNxFOAIUhwAABw3d58548301.png

?

poYBAGLNxFWAMUPvAABh8OOfS1I829.png

?

pYYBAGLNxFeAa4mjAABqBoxKOnA267.png

?

pYYBAGLNxFmASq5tAABrAsOsm0w760.png

?

步骤 2.1:显示有害气体的存在

?

为了检测有害气体的存在,我使用了这五个 MQ 系列气体传感器:

?

  • MQ-2
  • MQ-3
  • MQ-4
  • MQ-6
  • MQ-9

?

MQ-2气体传感器对液化石油气、丙烷和氢气具有很高的灵敏度,也可用于检测甲烷和其他可燃蒸汽。

?

MQ-3气体传感器对酒精有很高的灵敏度,对汽油、烟雾和蒸汽有很好的抵抗力。该传感器可以检测不同浓度的酒精。

?

MQ-4 气体传感器对甲烷、丙烷和丁烷具有高灵敏度。该传感器可以检测不同的可燃气体。

?

MQ-6 气体传感器对丙烷、丁烷和液化石油气具有高灵敏度,对天然气也有响应。该传感器可以检测不同的可燃气体,例如天然气、主要由甲烷和乙烷组成的无色可燃气体碳氢化合物。

?

MQ-9 气体传感器对一氧化碳、甲烷和液化石油气具有高灵敏度。该传感器可以检测含有 CO 和可燃气体的不同气体。

?

正如预期的那样,在连接到 Arduino Nano 后,每个传感器会根据可检测到的有害气体的数量产生不同的值范围。

?

测试后,我根据经验为每个传感器分配了以下这些级别。如果需要,在测试传感器后更改它们。

?

 < ?低
 < mq_2_val < ?缓和
mq_2_val >= ?危险的

mq_3_val <  ? 低
 < mq_3_val < ?缓和
mq_3_val >= ?危险的

mq_4_val < ?低
 < mq_4_val < ?缓和
mq_4_val >= ?危险的

mq_6_val <  ? 低
 < mq_6_val < ?缓和
mq_6_val >= ?危险的

mq_9_val <  ? 低
 < mq_9_val < ?缓和
mq_9_val >= ?危险的

?

? 如果使用向上和向下按钮选择了菜单选项,请在界面上突出显示其名称。

?

poYBAGLNxF2Ad2IyAArhy_Y2FEA043.jpg

?

? 选择后,如果使用 OK 按钮激活菜单选项:

? 使用转换后的图像收集并显示所选 MQ 系列传感器的气体测量值。

? 如果根据分配的级别,气体测量值为低,则将 RGB LED 调整为绿色。

? 如果根据分配的级别,气体测量值为中等,则将 RGB LED 调整为黄色。

? 如果根据指定的级别,气体测量值为危险,则将 RGB LED 调整为红色并打开蜂鸣器以通知用户。

? 按左键,返回界面。

?

(MQ2){
{
tft.setTextColor(RGBto565(  ,  ,  ), 白色);
tft.setTextSize(  );
tft.setCursor(  ,  );
tft.println(  );
(IR_codeValue == ok){
激活=;
tft.fillScreen(白色);
(激活){
read_IR_controls();
打印数据:
收集数据();
tft.setCursor(  ,  );
tft.setTextColor(黑色,白色);
tft.setTextSize(  );
TFT。(F());
tft.drawImageF(  ,  ,  ,  , 气体);
tft.drawImageF(  ,  ,  ,  , 致命的);
tft.drawImageF(  ,  ,  ,  , 有毒);
tft.setCursor(  ,  );
tft.setTextSize(  );
TFT。(mq_2_val);
检查气体状态: (mq_2_val <  ){ adjustColor(  ,  ,  ); }
   (mq_2_val >=  && mq_2_val <  ){ adjustColor(  ,  ,  ); }
   (mq_2_val >=  ){ adjustColor(  ,  ,  ); (蜂鸣器,);}
 退出关闭: (IR_codeValue == left){ activate =  ; tft.fillScreen(RGBto565(  ,  ,  )); 调整();noTone(蜂鸣器);}
}
}
}(!mq2);
}

...

?

pYYBAGLNxF-AQxDmAACOhjnKiF8176.png

?

poYBAGLNxGGACsrMAACPPlL_vfE716.png

?

步骤 2.2:修复 timer0_pin_port 错误

?

不幸的是,在使用 IR 远程库和音调库时,Arduino IDE 会抛出 timer0_pin_port 错误。发生错误是因为两个库都尝试通过声明相同的名称 - Timer2 来使用计时器。

?

要解决此问题,请根据 IR 远程库版本打开 boarddefs.h 或 IRremoteBoardDefs.h 文件。然后,将 Arduino Nano 的 IR_USE_TIMER2 更改为 IR_USE_TIMER1。

?

pYYBAGLNxGOAUl5MAACZYP-eb_A332.png

?

连接和调整

?




























?

完成焊接并上传代码后,我通过接头将所有剩余组件连接到板上 - ST7789 240x240 IPS 屏幕。

?

poYBAGLNxHGAZrVTAAfFzwQCvLs539.jpg

?

不幸的是,即使 Arduino Nano 工作在 5V,Nano 提供的电流也不足以让 5 个 MQ 系列气体传感器加热并产生准确的气体测量值。因此,我在我的 PCB 设计中添加了一个电源插孔 (J1) 和一个连接器 (J2),以为传感器提供外部电池 (5V)。

?

poYBAGLNxHSARKG5AAaG4uYEbuY117.jpg

?

模式和功能

?

???该设备在界面上显示五个不同的 MQ 系列传感器作为菜单选项,以单独显示其气体测量值:

?

  • MQ-2
  • MQ-3
  • MQ-4
  • MQ-6
  • MQ-9

?

poYBAGLNw8GAUQaEAAPmMMJ7Qko381.jpg

?

???该设备允许用户在 MQ 系列传感器(菜单选项)之间切换,以通过 IR 遥控器观察其气体测量值:

?

向上按钮?

向下按钮?下去

确定按钮?启用

?

???通过按下红外遥控器的 OK 按钮激活任何 MQ 系列传感器以显示其气体测量值后,设备让用户通过按下左按钮返回界面。

?

?? MQ 系列传感器(菜单选项)

?

???如果选择并激活了 MQ-2 选项,设备将显示其有害气体测量值。

?

???根据为所选传感器分配的测量级别(步骤 2.1),设备调整 RGB LED:

?

绿色的 ?低的

黄色 ?缓和

红色的 ?危险的

?

???如果危险气体测量值为危险,则设备会根据分配的级别打开蜂鸣器。

?

poYBAGLNxHqARpoGAAO5wHH46ug647.jpg

?

pYYBAGLNxH2AbWBZAAZs0Tj8m1w439.jpg

?

???如果选择并激活了 MQ-3 选项,设备将显示其有害气体测量值。

?

???根据为所选传感器分配的测量级别(步骤 2.1),设备调整 RGB LED:

?

绿色的 ?低的

黄色 ?缓和

红色的 ?危险的

?

???如果危险气体测量值为危险,则设备会根据分配的级别打开蜂鸣器。

?

poYBAGLNxICAIv6zAAPthugcX5A052.jpg

?

pYYBAGLNxIOAUeeVAAYycvvqA9A304.jpg

?

???如果选择并激活了 MQ-4 选项,设备将显示其有害气体测量值。

?

???根据为所选传感器分配的测量级别(步骤 2.1),设备调整 RGB LED:

?

绿色的 ?低的

黄色 ?缓和

红色的 ?危险的

?

???如果危险气体测量值为危险,则设备会根据分配的级别打开蜂鸣器。

?

pYYBAGLNxJCAbOhIAAQfSeMMwFE791.jpg

?

poYBAGLNxJSACTnpAAZctSQKaX0532.jpg

?

???如果选择并激活了 MQ-6 选项,设备将显示其有害气体测量值。

?

???根据为所选传感器分配的测量级别(步骤 2.1),设备调整 RGB LED:

?

绿色的 ?低的

黄色 ?缓和

红色的 ?危险的

?

???如果危险气体测量值为危险,则设备会根据分配的级别打开蜂鸣器。

?

poYBAGLNxJeAa-TNAASEHqzRmHU250.jpg

?

pYYBAGLNxJqARtR_AAaAh-_FN-8945.jpg

?

???如果选择并激活了 MQ-9 选项,设备将显示其有害气体测量值。

?

???根据为所选传感器分配的测量级别(步骤 2.1),设备调整 RGB LED:

?

绿色的 ?低的

黄色 ?缓和

红色的 ?危险的

?

???如果危险气体测量值为危险,则设备会根据分配的级别打开蜂鸣器。

?

poYBAGLNxJ2AGjtPAAOeTH6mBdA096.jpg

?

pYYBAGLNxKCAUxeOAAZrWvLd1ms613.jpg

?

视频和结论

?

?

完成上述所有步骤后,我将设备放在我的办公桌上,利用塑料画架作为有效的助手来检测工作场所中有害气体的存在。它工作得无可挑剔:)

?

pYYBAGLNxKSAUIVYAAakQg8U_xA707.jpg

?

?

?
?

?

代码


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1DD3118电路图纸资料
  2. 0.08 MB   |  1次下载  |  免费
  3. 2AD库封装库安装教程
  4. 0.49 MB   |  1次下载  |  免费
  5. 3PC6206 300mA低功耗低压差线性稳压器中文资料
  6. 1.12 MB   |  1次下载  |  免费
  7. 4网络安全从业者入门指南
  8. 2.91 MB   |  1次下载  |  免费
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下载  |  免费
  11. 6海川SM5701规格书
  12. 1.48 MB  |  次下载  |  免费
  13. 7H20PR5电磁炉IGBT功率管规格书
  14. 1.68 MB   |  次下载  |  1 积分
  15. 8IP防护等级说明
  16. 0.08 MB   |  次下载  |  免费

本月

  1. 1贴片三极管上的印字与真实名称的对照表详细说明
  2. 0.50 MB   |  103次下载  |  1 积分
  3. 2涂鸦各WiFi模块原理图加PCB封装
  4. 11.75 MB   |  89次下载  |  1 积分
  5. 3锦锐科技CA51F2 SDK开发包
  6. 24.06 MB   |  43次下载  |  1 积分
  7. 4锦锐CA51F005 SDK开发包
  8. 19.47 MB   |  19次下载  |  1 积分
  9. 5PCB的EMC设计指南
  10. 2.47 MB   |  16次下载  |  1 积分
  11. 6HC05蓝牙原理图加PCB
  12. 15.76 MB   |  13次下载  |  1 积分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下载  |  免费
  15. 8苹果iphone 11电路原理图
  16. 4.98 MB   |  6次下载  |  2 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935127次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233089次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191390次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183342次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81588次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73815次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65989次下载  |  10 积分