MICS-6814多氣體傳感器與ESP32-C3 Mini接口構(gòu)建空氣監(jiān)測系統(tǒng)
介紹
監(jiān)測空氣質(zhì)量對于從工業(yè)安全到家庭自動化的各種應(yīng)用都至關(guān)重要。在這個項目中,我們將把MICS-6814多氣體傳感器與基于esp32 -C3的開發(fā)板cararenuity C3 Mini連接起來。我們將讀取一氧化碳(CO)、氨(NH?)和二氧化氮(NO?)的濃度,并使用U8g2庫將它們顯示在OLED屏幕上。
為什么選擇cararenuity C3 Mini做這個項目?
cararenuity C3 Mini在開發(fā)板中脫穎而出,特別是與ESP8266和類似平臺相比。以下是為什么它是一個完美的選擇:
更多模擬引腳:與ESP8266只有一個ADC引腳不同,基于esp32 -C3的cararenuity C3 Mini提供多個ADC引腳,使其成為多傳感器應(yīng)用的理想選擇。
低功耗:高效的電源管理使其成為電池供電項目的完美選擇。
內(nèi)置Wi-Fi和藍(lán)牙LE:支持兩種連接選項,為云集成和遠(yuǎn)程監(jiān)控打開大門。
緊湊可靠:該板的小尺寸使其成為嵌入式應(yīng)用的理想選擇,而不會犧牲性能。
強大的開發(fā)者支持:兼容Arduino IDE, ESP-IDF和PlatformIO,確保無縫開發(fā)。
組件的要求
?cararenuity C3 Mini (ESP32-C3基板)
?MICS-6814多功能氣體傳感器(CO:一氧化碳檢測NH?:氨檢測NO?:二氧化氮檢測)
?0.96英寸OLED顯示屏(SSD1306)
?跳線
?電力供應(yīng)
了解組件
1. MICS-6814多氣體傳感器
?可以檢測多種氣體,包括CO, NH?和NO?。
?提供對應(yīng)于氣體濃度的模擬輸出。
?在讀數(shù)穩(wěn)定之前需要適當(dāng)?shù)念A(yù)熱。
2. cararenuity C3 Mini
?基于ESP32-C3的低功耗RISC-V單片機。
?支持Wi-Fi和藍(lán)牙LE。
?提供多個ADC引腳,不像ESP8266只有一個引腳。
?更穩(wěn)定的傳感器接口GPIO安排。
?緊湊的設(shè)計適合物聯(lián)網(wǎng)和嵌入式系統(tǒng)。
3. 0.96英寸OLED顯示屏(SSD1306)
?單色顯示與I2C接口。
?理想的顯示傳感器數(shù)據(jù)在一個緊湊的設(shè)置。
布線
制作Arduino IDE
在上傳代碼之前,確保您的Arduino IDE已正確設(shè)置為ESP32-C3 Mini:
安裝ESP32單板包
?打開Arduino IDE并進(jìn)入Preferences。
?打開Boards Manager (Tools > Board > Boards Manager),搜索“ESP32”,使用expressif安裝。
?選擇正確的棋盤
?進(jìn)入Tools > Board,選擇Lolin-C3 Mini。
?在“Tools > port”下設(shè)置正確的COM端口。
?安裝所需的圖書館打開圖書館管理器(草圖>包括圖書館>管理圖書館)。搜索并安裝支持OLED顯示的U8g2。
代碼實現(xiàn)
包括所需的庫
這包括I2C通信和OLED顯示控制所需的庫。
2. 定義傳感器引腳并初始化OLED顯示
這定義了氣體傳感器引腳,并使用U8g2庫初始化OLED顯示器。
3. 設(shè)置函數(shù)
初始化用于調(diào)試的串行通信并啟動OLED顯示。
4. 讀取傳感器數(shù)據(jù)和顯示在OLED上
從氣體傳感器讀取模擬值。
將傳感器值打印到串行監(jiān)視器。
更新OLED顯示器與實時氣體傳感器讀數(shù)。
校準(zhǔn)注意事項
每個氣體傳感器的讀數(shù)隨環(huán)境條件的變化而變化。建議用戶:
?用參考?xì)怏w濃度校準(zhǔn)傳感器以獲得準(zhǔn)確的結(jié)果。
?使用移動平均線平滑讀數(shù)。
?根據(jù)實際情況調(diào)整閾值以實現(xiàn)精確檢測。
結(jié)論
該項目成功地將MICS-6814多氣體傳感器與cararenuity C3 Mini連接起來,并在OLED屏幕上顯示實時氣體濃度水平。cararenuity C3 Mini的多個ADC引腳,Wi-Fi和藍(lán)牙LE以及緊湊的設(shè)計使其成為嵌入式物聯(lián)網(wǎng)應(yīng)用的絕佳選擇。在未來的迭代中,可以使用數(shù)據(jù)記錄、MQTT集成或基于云的監(jiān)控來擴展此設(shè)置,使其成為空氣質(zhì)量分析的強大工具。
本文編譯自hackster.io