資料介紹
成分
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)測有害氣體存在的有效設備:)
?
?
?
第 1 步:設計和焊接 Joker Remote Gas Station PCB
?
在對我的 PCB 設計進行原型設計之前,我使用面包板上的 Arduino Nano 測試了所有連接和接線。
?
?
然后,我使用 KiCad 設計了 ??Joker Remote Gas Station PCB。我附上了下面 PCB 的 Gerber 文件,所以如果你愿意,你可以從 PCBWay 訂購這個 PCB,以創(chuàng)建一個合適的設備來觀察有害氣體的存在,并在它們達到危險水平時得到通知 - 受惡意 Joker 的啟發(fā): )
?
?
?
首先,通過使用烙鐵,我連接了 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(外部電池接頭)
?
?
?
?
第 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 =;
;
}
}
?
?
?
?
?
步驟 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 >= ?危險的
?
? 如果使用向上和向下按鈕選擇了菜單選項,請在界面上突出顯示其名稱。
?
?
? 選擇后,如果使用 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); } ...
?
?
?
步驟 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。
?
?
連接和調整
?
?
完成焊接并上傳代碼后,我通過接頭將所有剩余組件連接到板上 - ST7789 240x240 IPS 屏幕。
?
?
不幸的是,即使 Arduino Nano 工作在 5V,Nano 提供的電流也不足以讓 5 個 MQ 系列氣體傳感器加熱并產生準確的氣體測量值。因此,我在我的 PCB 設計中添加了一個電源插孔 (J1) 和一個連接器 (J2),以為傳感器提供外部電池 (5V)。
?
?
模式和功能
?
???該設備在界面上顯示五個不同的 MQ 系列傳感器作為菜單選項,以單獨顯示其氣體測量值:
?
- MQ-2
- MQ-3
- MQ-4
- MQ-6
- MQ-9
?
?
???該設備允許用戶在 MQ 系列傳感器(菜單選項)之間切換,以通過 IR 遙控器觀察其氣體測量值:
?
向上按鈕?上
向下按鈕?下去
確定按鈕?啟用
?
???通過按下紅外遙控器的 OK 按鈕激活任何 MQ 系列傳感器以顯示其氣體測量值后,設備讓用戶通過按下左按鈕返回界面。
?
?? MQ 系列傳感器(菜單選項)
?
???如果選擇并激活了 MQ-2 選項,設備將顯示其有害氣體測量值。
?
???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:
?
綠色的 ?低的
黃色 ?緩和
紅色的 ?危險的
?
???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。
?
?
?
???如果選擇并激活了 MQ-3 選項,設備將顯示其有害氣體測量值。
?
???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:
?
綠色的 ?低的
黃色 ?緩和
紅色的 ?危險的
?
???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。
?
?
?
???如果選擇并激活了 MQ-4 選項,設備將顯示其有害氣體測量值。
?
???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:
?
綠色的 ?低的
黃色 ?緩和
紅色的 ?危險的
?
???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。
?
?
?
???如果選擇并激活了 MQ-6 選項,設備將顯示其有害氣體測量值。
?
???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:
?
綠色的 ?低的
黃色 ?緩和
紅色的 ?危險的
?
???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。
?
?
?
???如果選擇并激活了 MQ-9 選項,設備將顯示其有害氣體測量值。
?
???根據(jù)為所選傳感器分配的測量級別(步驟 2.1),設備調整 RGB LED:
?
綠色的 ?低的
黃色 ?緩和
紅色的 ?危險的
?
???如果危險氣體測量值為危險,則設備會根據(jù)分配的級別打開蜂鳴器。
?
?
?
視頻和結論
?
?
完成上述所有步驟后,我將設備放在我的辦公桌上,利用塑料畫架作為有效的助手來檢測工作場所中有害氣體的存在。它工作得無可挑剔:)
?
?
?
?
代碼
- SIM808遠程冷卻風扇帶氣象和加油站
- 基于Arduino Nano的遠程危險加油站和監(jiān)控器設計 0次下載
- 帶有圖表和電池監(jiān)控器的溫度和濕度監(jiān)控器
- 加油站UPS電源微信云在線監(jiān)控解決方案
- 針對加油站級客流量預測的時空網絡模型 11次下載
- 電壓監(jiān)控器和監(jiān)控器快速指南
- 小尺寸、低功耗、單向、電流分流監(jiān)控器零漂移系列 19次下載
- 基于DSP的電力操作電源集中監(jiān)控器的研究 4次下載
- C語言教程之加油站加油 0次下載
- 加油站中央控制系統(tǒng)的設計與實現(xiàn)
- 基于c/s的連鎖加油站管理監(jiān)控系統(tǒng)的實現(xiàn)
- 加油站中央控制系統(tǒng)的設計與實現(xiàn)
- 斷相 相序監(jiān)控器電路及制作
- 基于CAN總線的變電站及調度主站遠程監(jiān)控系統(tǒng)
- 加油站站房動力、接地平面圖
- 瑞芯微PX30在自助加油機上應用 109次閱讀
- 典型監(jiān)控器電路圖分享 3445次閱讀
- 如何提高電壓監(jiān)控器IC的性能 559次閱讀
- 電壓監(jiān)控器IC的來龍去脈 1217次閱讀
- 監(jiān)控器IC監(jiān)控電池供電設備 704次閱讀
- 無故障監(jiān)控器如何幫助高可靠性應用 464次閱讀
- 無毛刺電壓監(jiān)控器的基礎知識 581次閱讀
- 向CPU監(jiān)控器電壓檢測輸入添加遲滯,監(jiān)控上游電源的電源故障警告 862次閱讀
- 監(jiān)控器IC監(jiān)控電池供電設備 1076次閱讀
- I2帶EEPROM的C可編程多通道電壓監(jiān)控器 946次閱讀
- 無毛刺電壓監(jiān)控器的基礎知識 1249次閱讀
- IDRS分布式網絡遠程監(jiān)控系統(tǒng)的特點性能及應用設計 1594次閱讀
- 電壓檢測器、監(jiān)控器和高級監(jiān)控各種功能介紹:第1部分 4859次閱讀
- 加油站的加油槍是怎么知道油滿了?你了解是什么原因嗎? 1.5w次閱讀
- ADuC7061和外部RTD構建的基于USB的溫度監(jiān)控器 2922次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多