實驗說明:
本篇我們要使用ESP32製作「異味偵測語音警報器」,當MQ2模組偵測到異味氣體濃度飆升時,結合ISD1820錄放音模組播放出語音警報詞通知大家。
材料:
- ESP32-E DevKit
- USB 傳輸線
- ISD1820錄放音模組
- MQ-2氣體偵測模組
- 麵包板
- 杜邦線
▼ 購買IoT物聯網學習教材:
相關知識:
ISD1820錄放音模組簡介
ISD1820錄放音模組,整合了錄放音功能為一體。板載按鍵和麥克風,可直接通過按鍵錄音和放音,一按錄音,一按放音。ISD1820錄放音模組主要特點就是可以錄製在10秒之間的語音。此款模組的另一個特點是它具有內部音頻放大器,可以直接驅動0.5W8Ω揚聲器而無需任何外部放大器電路。
如何操作ISD1820錄放音模組?
- REC鍵:錄音按鍵,按住就能錄音,鬆開按鍵停止錄音;
- RLAYE鍵:觸發模式放音,按一下就播放當前整段的語音;
- PLAYL鍵:點動模式放音,按住才放音,鬆開就停止放音;
- RPL跳線:循環播放模式控制,可循環播放;
- FT跳線:直通控制,可使咪頭(麥克風)語音直通到喇叭放音;
- 模組SP1端連接0.5W 8Ω小喇叭。
ISD1820錄放音模組接腳說明:
- VCC:電源,接3-5V
- GND:接地,接GND
- P-L:播放,當此輸入電位從 LOW 變為 HIGH 時,將啟動播放週期。就像PLAYL鍵一樣,按住播放,停止供電就會馬上停止。
- P-E:播放,訊號正緣觸發,當訊號低準位向高準位的轉變時將會被觸發完整播放一整段語音。
- REC:錄音,高電位就啟動錄音
MQ-2氣體偵測模組簡介
mq系列有一個龐大的家族系列,本篇將介紹目前最常用的mq2氣體感測模組。Gas Sensor MQ2 氣體感測器模組能檢測家庭或工業區域的氣體洩漏,檢測的氣體包括異丁烷,液化石油氣,甲烷,乙醇,氫氣,煙霧等。與ESp32開發板結合使用,可以製作火災煙霧報警、液化氣、丁烷、丙烷、甲烷、酒精、氫氣氣體洩露報警等相關的作品。
若需要了解mq系列更詳細的細節,可參考Arduino網站:
https://playground.arduino.cc/Main/MQGasSensors/
程式:
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);
}
程式說明:
在實驗過程中,當酒精棉片靠近時會發現MQ-2類比數值飆昇(可觀察下圖數值變化)。此範例設定的上限閾值為1000,當閾值超過1000時就會驅動ISD1820錄放音模組播放出語音警報詞通知。