電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>電子資料>小丑遠程危險加油站和監(jiān)控器

小丑遠程危險加油站和監(jiān)控器

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

描述

小丑遠程危險加油站和監(jiān)控器

?

長期以來,我一直想創(chuàng)造一種獨特的設備來觀察各種有害氣體的存在,以用于空氣質量監(jiān)測和氣體泄漏檢測等廣泛的應用。因此,我決定開發(fā)這個項目。

?

首先,為了得到嚴格的氣體測量結果,我選擇使用這些 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 啟發(fā)的 PCB 來完成我的項目。它成為我工作場所的時尚和有趣的補充,作為監(jiān)測有害氣體存在的有效設備:)

?

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,以創(chuàng)建一個合適的設備來觀察有害氣體的存在,并在它們達到危險水平時得到通知 - 受惡意 Joker 的啟發(fā): )

?

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 結果;

?

? 通過執(zhí)行示例中的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 函數(shù)中,在傳輸時從 IR 遙控器收集 IR 代碼。

?

  {
 
IR_codeValue = results. ;
不可恢復的簡歷();
延遲();
}{
IR_codeValue =  ;
}
}

?

? 在 collect_Data 函數(shù)中,獲取 MQ 系列氣體傳感器(MQ-2、MQ-3、MQ-4、MQ-6 和 MQ-9)產生的氣體測量值。

?

  {

mq_2_val = 模擬讀?。╩q_2);
mq_3_val = 模擬讀?。╩q_3);
mq_4_val = 模擬讀?。╩q_4);
mq_6_val = 模擬讀?。╩q_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 函數(shù)中,通過使用 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 后,每個傳感器會根據(jù)可檢測到的有害氣體的數(shù)量產生不同的值范圍。

?

測試后,我根據(jù)經驗為每個傳感器分配了以下這些級別。如果需要,在測試傳感器后更改它們。

?

 < ?低
 < 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 系列傳感器的氣體測量值。

? 如果根據(jù)分配的級別,氣體測量值為低,則將 RGB LED 調整為綠色。

? 如果根據(jù)分配的級別,氣體測量值為中等,則將 RGB LED 調整為黃色。

? 如果根據(jù)指定的級別,氣體測量值為危險,則將 RGB LED 調整為紅色并打開蜂鳴器以通知用戶。

? 按左鍵,返回界面。

?

(MQ2){
{
tft.setTextColor(RGBto565(  ,  ,  ), 白色);
tft.setTextSize(  );
tft.setCursor(  ,  );
tft.println(  );
(IR_codeValue == ok){
激活=;
tft.fillScreen(白色);
(激活){
read_IR_controls();
打印數(shù)據(jù):
收集數(shù)據(jù)();
tft.setCursor(  ,  );
tft.setTextColor(黑色,白色);
tft.setTextSize(  );
TFT。(F());
tft.drawImageF(  ,  ,  ,  , 氣體);
tft.drawImageF(  ,  ,  ,  , 致命的);
tft.drawImageF(  ,  ,  ,  , 有毒);
tft.setCursor(  ,  );
tft.setTextSize(  );
TFT。(mq_2_val);
檢查氣體狀態(tài): (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 錯誤。發(fā)生錯誤是因為兩個庫都嘗試通過聲明相同的名稱 - Timer2 來使用計時器。

?

要解決此問題,請根據(jù) 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 選項,設備將顯示其有害氣體測量值。

?

???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:

?

綠色的 ?低的

黃色 ?緩和

紅色的 ?危險的

?

???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。

?

poYBAGLNxHqARpoGAAO5wHH46ug647.jpg

?

pYYBAGLNxH2AbWBZAAZs0Tj8m1w439.jpg

?

???如果選擇并激活了 MQ-3 選項,設備將顯示其有害氣體測量值。

?

???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:

?

綠色的 ?低的

黃色 ?緩和

紅色的 ?危險的

?

???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。

?

poYBAGLNxICAIv6zAAPthugcX5A052.jpg

?

pYYBAGLNxIOAUeeVAAYycvvqA9A304.jpg

?

???如果選擇并激活了 MQ-4 選項,設備將顯示其有害氣體測量值。

?

???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:

?

綠色的 ?低的

黃色 ?緩和

紅色的 ?危險的

?

???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。

?

pYYBAGLNxJCAbOhIAAQfSeMMwFE791.jpg

?

poYBAGLNxJSACTnpAAZctSQKaX0532.jpg

?

???如果選擇并激活了 MQ-6 選項,設備將顯示其有害氣體測量值。

?

???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:

?

綠色的 ?低的

黃色 ?緩和

紅色的 ?危險的

?

???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。

?

poYBAGLNxJeAa-TNAASEHqzRmHU250.jpg

?

pYYBAGLNxJqARtR_AAaAh-_FN-8945.jpg

?

???如果選擇并激活了 MQ-9 選項,設備將顯示其有害氣體測量值。

?

???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:

?

綠色的 ?低的

黃色 ?緩和

紅色的 ?危險的

?

???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。

?

poYBAGLNxJ2AGjtPAAOeTH6mBdA096.jpg

?

pYYBAGLNxKCAUxeOAAZrWvLd1ms613.jpg

?

視頻和結論

?

?

完成上述所有步驟后,我將設備放在我的辦公桌上,利用塑料畫架作為有效的助手來檢測工作場所中有害氣體的存在。它工作得無可挑剔:)

?

pYYBAGLNxKSAUIVYAAakQg8U_xA707.jpg

?

?

?
?

?

代碼


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費