網頁

2022年8月11日 星期四

ESP32 - 使用 BlocklyDuino-瓦斯氣體偵測感測器

主題

以 ESP32 設計氣體偵測感測器,偵測瓦斯、酒精等易燃氣體等,並使用led 和警報聲警示。
當偵測值 >3000 ,亮3個燈,並發出警報聲。
當偵測值 >2000 ,亮2個燈。
當偵測值 >1000 ,亮1個燈。
當偵測值 <1000 ,3個燈皆不亮。

感測器介紹

MQ-2 氣體偵測感測器.類比感測,用於氣體洩漏監測裝置,液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧 (可燃氣體、煙霧)。MQ- 2氣體感測器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2), 當環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。

感測器通電後,需要預熱20秒左右,測量的數據才穩定,感測器發熱屬於正常現象,因為內部有電熱絲,如果燙手就不正常了。

若要偵測PM 2.5,可使用 攀藤 Plantower PMS3003 (G3) 雷射/鐳射 PM2.5 粉塵/空氣品質 感測器。

接線方式

MQ-2 氣體偵測感測器正面



MQ-2 氣體偵測感測器反面

VCC:接電源正極(5V)、GND:接電源負極、DO:TTL開關信號輸出、AO:模擬信號輸出。
AO:類比輸出、DO:數位輸出。
VCC 接開發板的(V),GND 接開發板的(G),AO 接開發板的(S),DO不用接開發板。
MQ-2 氣體偵測感測器接 PIN 36 即SVP,僅當輸入。使用三條杜邦線 連到 開發板的左邊的 S-V-G。
3個 led 燈分別接到開發板右邊的 PIN15、PIN2、PIN0。




程式


程式說明

序列埠 I/O,拿出「序列埠印出(換行)」block。


邏輯,取出 「如果 ...執行」。


「如果」原本祇有1個條件,按 「*」,可以增加條件,移進來是增加,移出去是減少。再按一次「*」關掉小視窗。

類比I/O,取出 「類比讀取」此block,PIN再改成為36。

數位I/O,拿出「數位寫入 PIN 狀態」此 block。
PIN 改成 15、2、0 ,狀態 高電位表示 燈亮,低電位表示 燈暗。
時間,拿出「延遲毫秒 」此 block。100毫秒表示0.1秒。
吉哥積木/ESP32/類比寫入及音調,拿出「ESP32 音調 Pin 0 頻率 時長 通道」此 block。

因為蜂鳴器接在 PIN4,所以 Pin改為4。頻率改為 988,時長改為100毫秒,即警報聲持續0.1秒,因為是一個重複的迴圈,每0.1秒會再偵測1次,如果偵測值都大於 3000,警報聲會一直叫。 
以「頻率音階對照表」此關鍵字,從網路查頻率音階對照。

執行結果

按 「Putty 序列埠監看視窗」鈕,再按 「開啟PUTTY」鈕,就看到結果了!




當有易燃氣體時,值愈高。如把用沾酒精的衛生紙蓋住偵測器,值會超過3000,3個燈都亮且有警報聲。

拿開衛生紙,值會小於1000,3個燈不亮。