資料介紹
描述
我們呼吸的空氣質量對我們的健康非常重要。該設備分析我們家中的空氣質量,并將數值記錄在 SD 卡中。通過分析存儲的值,我們知道參數隨時間的變化情況。
我將使用足夠便宜的溫度、濕度和空氣質量傳感器用于此類項目,而不會犧牲太多精度。該項目背后的主要思想是了解空氣是否可呼吸。
選出的傳感器是:
- DTH11 溫濕度傳感器,約。5.00 美元(不是很準確但足夠好);
- CCS811 空氣質量傳感器模塊,約 19.95 美元。
平臺:
之前用過Arduino Uno,感覺有些內存限制,所以這次決定換一塊板子。由于我需要一張 SD 卡來記錄這些值,因此Adafruit Feather M0 Adalogger是價格合理的完美選擇(19.95 美元):
- 256KB 閃存 + 32KB 內存
- MicroSD 卡夾
- 輕(5.3 克)
- 小(51 毫米 x 23 毫米 x 8 毫米)
建造:
我首先從 https://www.arduino.cc/en/Main/Software下載最新版本的 Arduino IDE,選擇 Windows 安裝程序。安裝完成后,請務必仔細閱讀Adafruit Feather M0 Adalogger用戶手冊。
為了能夠在該板上使用 Arduino IDE,我們必須按照Adafruit Feather M0 Adalogger 用戶手冊中的描述配置 IDE 。需要將 URL 添加到新的 Additional Boards Manager URLs 選項。還需要其他簡單的操作,所有操作都在手冊中進行了描述,
配置好一切后,(不要忘記在 IDE 上選擇正確的板和端口)讓我們做一些簡單的測試來檢查一切是否正常。我使用了這段代碼:
void setup() {
pinMode(13, OUTPUT);// initialize digital pin 13 as an output.
}
void loop() {
digitalWrite(13, !digitalRead(13)); // flash the LED with inverse value
delay(500); // wait for a half a second
}
將此代碼發送到 FEATHER M0 ADALOGGER 后,我沒有發現任何錯誤,電路板上的紅色 LED(連接到端口 13)開始閃爍。一切都很好。
連接顯示器:
我連接到板上的第一件事是 OLED 顯示屏。
我以這種方式將顯示引腳連接到處理器板:
- 顯示->板
- GND 接地
- Vin 變為 3V
- DATA轉數字6
- CLK轉數字10
- D/C轉數字11
- RST 轉數字 5
- CS轉數字12
使用 OLED 顯示器文檔,安裝 Adafruit SSD1306 和 Adafruit GFX 庫。重新啟動 Arduino IDE。
最后你可以運行 File→Sketchbook →Libraries→ Adafruit_SSD1306→ SSD1306_128x64_spi example
我有一個編譯錯誤,抱怨顯示高度不正確。這是因為庫文件SSD1306.h是通用的,我必須對其進行編輯,以選擇正確的顯示器高度 (64)。找到相關行并通過注釋不正確的行來選擇正確的值。
// #define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16
由于一些沖突,我更改了默認引腳。因此,我不得不更改示例代碼中的默認代碼定義,以匹配我使用的引腳:
#define OLED_MOSI 6
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 5
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
注意:如果您打算在 A7 中使用電池電壓監控,請勿使用引腳數字 9。數字9和A7共用一個引腳。經過幾個小時的糟糕 Vbat讀數和糟糕的顯示行為,我發現這很困難。
![poYBAGOSf2SAI2I5AAFIY501hb4337.png](https://file.elecfans.com/web2/M00/81/92/poYBAGOSf2SAI2I5AAFIY501hb4337.png)
當顯示正常工作時,您可以繼續下一節:
連接傳感器:
根據示意圖連接DHT 11 。(不要用板子上的D13腳來讀取DHT11的數據,D13腳有一個LED常接,呈低阻抗,不適合這種用途)。
![pYYBAGOhGNuARvRKAAAH2oTO4NE539.png](https://file.elecfans.com/web2/M00/85/39/pYYBAGOhGNuARvRKAAAH2oTO4NE539.png)
我們必須使用其中一個免費的數字引腳。我們排除了 D9,因為它與用于讀取 Vbat 的 A7 沖突,而 D13 則因為 LED 電路。我將使用 D19 連接到 DHT11 引腳 2,并通過其單線協議讀取溫度和濕度。D19在板子上標為A5,但也可以作為Digital 19使用。不要忘記在軟件上定義DHTpin:
#define DHTPIN 19
![poYBAGOhGOKAW5RhAAA18mvHnzo465.png](https://file.elecfans.com/web2/M00/84/B0/poYBAGOhGOKAW5RhAAA18mvHnzo465.png)
CCS811連接:
- Vin 變為 3.3V 線,
- GND去GND線,
- SDA 轉到 Adalogger SDA
- SCL 轉到 Adalogger SCL
- /WAKE 到 GND
我使用了 Adafruit_CCS811 庫 version=1.0.0 并且一切正常。
SD卡
為了能夠記錄整個時間的值,我使用了一張舊的 512MB 美元卡。這個 Adalogger 板非常棒,因為它已經有一個美元卡插槽。我在這里使用 Arduino 庫版本 1.2.2。和引腳 D4 作為 SD 的 CS 引腳。在下圖中,我展示了 SD 卡中數據的格式。逗號分隔,方便電子表格軟件打開分析。
![pYYBAGOhGO6AOS1pAAFO5n-w0K0384.png](https://file.elecfans.com/web2/M00/85/39/pYYBAGOhGO6AOS1pAAFO5n-w0K0384.png)
在此示例中,每 5 分鐘(300 秒)記錄一次數據。這個時間值很容易在軟件中改變,通過改變行:
#define SD_write_interval 300 //seconds between SD writes
將 300 替換為您希望 SD 寫入之間的秒數。就這么簡單。
![pYYBAGOhGPiARHgAAAEy9iILVgs368.png](https://file.elecfans.com/web2/M00/85/39/pYYBAGOhGPiARHgAAAEy9iILVgs368.png)
該文件采用 csv 格式(逗號分隔值),這意味著所有值均以逗號分隔。它可以通過電子表格輕松導入以進行進一步分析。
實時時鐘
時間戳對于數據記錄器來說是必不可少的。目前,我正在使用和評估帶有 RTCZero 庫的內部 RTC。
#include //author=Arduino version=1.5.2
#include //author=Adafruit version=1.2.1
但是我使用 RTClib 作為補充。對于 RTC 初始化,我使用以下代碼:
//RTC initialization
DateTime now;
now = (DateTime(F(__DATE__), F(__TIME__))); //compile time
now=now+20; //20s compensation for Compile + Reset time
rtc.begin(); // initialize RTCZero
rtc.setTime(now.hour(), now.minute(), now.second());
rtc.setDate(now.day(), now.month(), now.year()-2000);
接下來要做的就是想辦法調整時間。敬請關注!
LED
如果用戶不知道所有這些空氣質量參數的限制是什么,并且不關心這些數字,最好只告訴他它們是否安全。使用 3 個 LED 是一個更簡單的界面,如果用戶只想知道他/她是否可以呼吸那種空氣,則更有用。這就是我決定使用這 3 個具有不同警報級別的 LED 的原因:綠色、黃色或紅色。觸發每個警報的級別可根據當地法規進行編程。要更改級別,只需編輯以下代碼行:
//Levels
//temp levels
#define low_temp_level_1 18
#define low_temp_level_2 12
#define low_temp_level_3 8
#define high_temp_level_1 29
#define high_temp_level_2 35
#define high_temp_level_3 40
//rh levels
#define low_rh_level_1 40
#define low_rh_level_2 30
#define low_rh_level_3 20
#define high_rh_level_1 70
#define high_rh_level_2 80
#define high_rh_level_3 90
//co2 levels
#define co2_level_1 1000
#define co2_level_2 1500
#define co2_level_3 3000
//TVOC levels
#define tvoc_level_1 100
#define tvoc_level_2 500
#define tvoc_level_3 1000
顯示的值只是指示性的,我使用它們只是為了測試目的
去!
好吧,我仍處于評估階段,希望有人愿意構建一個類似的電路來幫助我改進這個有用的數據記錄器。
讓我們下載代碼并享受樂趣,閱讀那些二氧化碳值。我不得不打開一些窗戶來改善空氣質量:)
不要忘記在開機后等待 20 分鐘,以獲得良好的 CCS811 讀數。(CCS811 在首次使用前也需要 48 小時的老化時間。)
玩得開心
- 空氣質量傳感器解決方案 0次下載
- 室內空氣質量監測器開源分享
- Aerisilla空氣質量監測儀
- DIY空氣質量監測設備 1次下載
- 木箱空氣質量監測儀開源分享
- 基于時空優化的多尺度STM空氣質量預測模型 18次下載
- KQM2801A空氣質量模塊的數據手冊和使用程序及工程文件免費下載 104次下載
- 城市空氣質量評價優化法 1次下載
- 英國Atmospheric sensor遠程空氣質量檢測 2次下載
- 基于STM32空氣質量檢測儀原理圖 353次下載
- 基于傳感器網絡的空氣質量檢測系統 61次下載
- 空氣質量傳感器有什么用途? 48次下載
- 空氣質量綜合指數檢測儀
- 基于神經網絡的空氣質量采集系統的設計
- 溫差式熱膜空氣質量流量傳感器
- 華盛昌五合一PM2.5空氣質量檢測儀產品介紹 509次閱讀
- 電能質量分析儀的應用領域 758次閱讀
- 電能質量分析儀的常見故障及原因分析 790次閱讀
- 電能質量分析儀的原理和特性 1218次閱讀
- WT2003H語音芯片在空氣質量監測系統的應用方案 656次閱讀
- 如何利用ESP8266實現便攜式空氣質量監測站的設計 3287次閱讀
- DIY一個開源的空氣質量監測儀 4187次閱讀
- 基于創建帶有空氣質量傳感器的室內氣象站 2358次閱讀
- dfrobotSHARP空氣質量傳感器轉接模塊簡介 1906次閱讀
- 盛思銳的環境傳感器在空氣質量測試中的應用 1257次閱讀
- 空氣質量流量計的原理及設計 3021次閱讀
- 空氣質量傳感器原理及作用 3.2w次閱讀
- 什么是空氣質量傳感器_小米空氣凈化器2空氣質量傳感器 3728次閱讀
- 什么叫電能質量分析儀_有什么用 1.4w次閱讀
- 室內空氣質量檢測與傳感器的應用 2124次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 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開發指南
- 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數字電路基礎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次下載 | 免費
評論