ESP32, IOT物聯網

【ESP32教學】第十五篇:MQ-2氣體感測器與ISD1820語音錄放音模組 異味與煙霧語音警報器實作

一、 實驗說明:打造智慧居家氣體洩漏與語音警報系統!

在居家安全與工業物聯網(IoT)應用中,氣體洩漏(如液化石油氣、天然氣、煙霧或異味氣體)的及時通報至關重要。傳統蜂鳴器聲光警報有時較為單調或無法直觀告知危機內容;若能結合語音提示,便能在第一時間清晰告知使用者狀況(例如:「警告!檢測到瓦斯洩漏,請迅速離開!」)。

本實驗米羅將帶大家使用 ESP32 開發板 搭配 MQ-2 煙霧/可燃氣體感測模組 與 ISD1820 語音錄放音模組。當 MQ-2 讀取到的氣體濃度數值飆升超過安全閾值時,ESP32 會傳送觸發訊號給 ISD1820 模組,播放預先錄製好的語音警報詞,達到智慧聲光語音防護效果!

 

二、 實驗材料準備清單

本篇實作 ESP32 異味與氣體語音警報專案所需的硬體元件如下:

  • ESP32 開發板

  • 麵包板 (Breadboard)

  • MQ-2 煙霧/可燃氣體感測模組

  • ISD1820 語音錄放音模組(含 0.5W 8Ω 小揚聲器)

  • 杜邦跳線若干

  • USB 傳輸線

 

🛒 一次備齊創客工具!

歡迎直接購買米羅科技的  ESP32 物聯網應用學習套件,免去東奔西跑湊零件的煩惱。內含 RGB LED 模組、各類感測器及基礎電子元件,是學校課堂教學與個人專案開發的最佳首選!

 

三、 核心知識:MQ-2 感測器與 ISD1820 模組工作原理

1. ISD1820 錄放音模組

ISD1820 是一款集成了錄音與放音功能的單晶片模組,具備以下特點:

  • 錄音時間:約 8 ~ 10 秒。

  • 內建功放:具備內部音頻放大器,可直接驅動 0.5W 8Ω 揚聲器,無需額外擴大機。

  • 按鍵與跳線說明:

    • REC 鍵:按住即可錄音,鬆開停止。

    • PLAYE 鍵:邊緣觸發模式,按一下即完整播放整段語音。

    • PLAYL 鍵:點動模式,按住播放,鬆開停止。

    • RPL 跳線:循環播放模式控制。

    • FT 跳線:直通模式,使麥克風語音直接從揚聲器輸出。

  • 接腳說明:

    • VCC / GND:電源輸入 (3V ~ 5V)。

    • P-E (PlayE):高電位觸發播放完整語音(本專題與 ESP32 GPIO16 相連)。

    • P-L (PlayL):高電位點動播放。

    • REC:高電位啟動錄音。

 

 

2. MQ-2 氣體感測器模組

MQ-2 屬於金屬氧化物半導體氣體感測器,能檢測家庭或工業環境中的多種氣體洩漏:

  • 可檢測氣體:煙霧、液化石油氣 (LPG)、丁烷、丙烷、甲烷、酒精 (乙醇)、氫氣等。

  • 輸出方式:支援類比信號 (AO) 輸出與數位閾值信號 (DO) 輸出。本實作採用類比訊號接至 ESP32 的 ADC 腳位(GPIO36)讀取精確濃度變化。

  • 若需要了解mq系列更詳細的細節,可參考Arduino網站:https://playground.arduino.cc/Main/MQGasSensors/

 

 

 

 

四、 實作實驗程式碼:氣體濃度監測與語音觸發

請將以下程式碼複製到 Arduino IDE 中並上傳至 ESP32 開發板:

1. 範例程式碼

int PlayE = 16;     // ISD1820錄放音模組PlayE控制腳 連接到ESP32的 GPIO16
int gas_sensor=36; //MQ-2感測器AO信號腳 連接到ESP32的 GPIO36 

void setup()    
{   
  Serial.begin(9600);
  pinMode(PlayE, OUTPUT);     //設置PlayE對應的腳GPIO16為輸出
  pinMode(gas_sensor,INPUT); //設置gas_sensor對應的腳GPIO36為輸入
}    
      
void loop()  
{    
  int val=analogRead(gas_sensor); //從MQ2感測器讀出類比數值 
  Serial.println(val); //MQ2偵測值結果顯示輸出
 
  if (val>1000){ //當val超過1000時就會驅動ISD1820錄放音模組播放出語音警報詞通知
      digitalWrite(PlayE, HIGH); //播放語音
      delay(300);
      digitalWrite(PlayE, LOW);  //低電位
   }else{
      digitalWrite(PlayE, LOW);  //保持低電位 
   }
   delay(200);
} 

 

2. 燒錄與操作測試

  1. 先按住 ISD1820 模組上的 REC 鈕,對著麥克風錄製一段約 3~5 秒的警報語音(如:「注意!氣體洩漏警報!」)。

  2. 點擊 Arduino IDE 的 「上傳 (Upload)」 按鈕將程式碼上傳至 ESP32。

  3. 開啟 「序列埠監控視窗 (Serial Monitor)」(鮑率設為 9600)。

  4. 通電後,MQ-2 需要預熱約 20~30 秒。數值穩定後,可以用打火機(不點火釋放微量氣體)靠近 MQ-2 感測器測試。

  5. 當監控視窗讀數超過 1000 時,揚聲器將自動播放預錄好的語音警報詞!

 

五、 初學者常見卡關問題與排錯指南(Troubleshooting)

1. 通電後 MQ-2 模組發熱,這正常的嗎?

  • 這是正常現象: MQ-2 模組內部設有加熱絲(Heater)以進行電化學反應,因此運作時模組會有微溫感。但也因如此,建議將 MQ-2 連接至 ESP32 的 5V 供電,以獲得較精準穩定的讀數。

 2. MQ-2 剛通電時,讀數非常高且居高不下?

  • 預熱特性: 新通電的 MQ-2 感測模組需要約 30 秒至 1 分鐘的預熱穩定時間。請靜置片刻,待讀數降至基期值(通常在 200~500 之間)後再開始測試。

 3. ESP32 傳送觸發訊號後,ISD1820 喇叭完全沒有聲音?

  • 檢查錄音狀況: 請先手動按壓 ISD1820 模組上的 PLAYE 鍵,測試喇叭是否能正常放音。如果手動按下也沒有聲音,請確認錄音是否成功或喇叭線(SP1)是否有鬆脫。

  • 觸發針腳接錯: 請確認 ESP32 的 GPIO  是否連接至 ISD1820 的 P-E 腳位(而非 P-L 或 REC)。

 

六、 結語與下一篇教學

恭喜你!成功掌握了使用 MQ-2 氣體感測器搭配 ISD1820 錄放音模組實作語音警報器的實用技巧。這種「感測器 + 語音提示」的組合能廣泛應用於智慧家庭、農場告警或工廠監測等物聯網場景!下一篇教學,我們將帶大家進一步邁向物聯網連線實作!

👈 上一篇回顧: 【ESP32教學】第十四篇:水位感測器應用:類比讀取與 RGB LED 水位警報燈實作

👉 下一篇預告: 【ESP32教學】第十六篇:HC-SR501人體紅外線感測器(PIR Motion Sensor) – 實作警報裝置

▼【ESP32教學】教學總索引頁面

相關文章