使用Arduino在SD卡上記錄溫濕度數(shù)據(jù)
數(shù)據(jù)是任何分析和預(yù)測的關(guān)鍵資源。它總是需要創(chuàng)建任何信息或統(tǒng)計。有很多在線和離線平臺可用于記錄數(shù)據(jù),我們已經(jīng)使用了許多基于物聯(lián)網(wǎng)的平臺和web服務(wù)器來存儲和可視化數(shù)據(jù)。這里我們使用最流行的離線方式來存儲數(shù)據(jù),這是- SD卡。
在這個項目中,我們將使用Arduino Uno來記錄SD卡上的溫濕度數(shù)據(jù)。這里Arduino Uno從DHT11傳感器收集溫度和濕度值,并將這些值存儲在SD卡上。保存在SD卡中的數(shù)據(jù)文件可以很容易地打開為文本文件進(jìn)行進(jìn)一步分析。
組件的要求
?Arduino Uno
?DHT11溫濕度傳感器
?SD卡模塊
?跳線
SD卡模塊
SD卡模塊是一個簡單的板,用于連接Micro SD卡和Arduino等微控制器。典型的SD卡模塊由兩個重要組件組成:穩(wěn)壓IC和5V至3.3V電平轉(zhuǎn)換器IC。該模塊有6個引腳;其中兩個用于模塊供電,四個引腳用于SPI通信。
特性
?支持Micro SD卡(<=2G), Micro SDHC卡(<=32G)
?可接口電平為5V或3.3V的電平轉(zhuǎn)換電路板
?電源為4.5V ~ 5.5V,穩(wěn)壓電路板為3.3V
?通信接口為標(biāo)準(zhǔn)SPI接口。
Arduino數(shù)據(jù)記錄到SD卡的電路圖
使用DHT11進(jìn)行Arduino SD卡數(shù)據(jù)記錄的電路圖如下:
如電路圖所示,由于所有組件都作為模塊使用,因此連接非常簡單,我們可以直接將它們連接在面包板上。SD卡模塊通過SPI通信與Arduino連接。Arduino上的SPI引腳是引腳10,11,12和13。連接進(jìn)一步分類如下表所示:
我們之前使用DHT11傳感器構(gòu)建了一個使用不同微控制器的氣象站。
代碼的解釋
Arduino SD卡溫度和濕度數(shù)據(jù)記錄的完整代碼在頁面末尾給出。這里我們將解釋代碼的一些重要功能。
此代碼使用SPI.h、SD.h和DHT.h庫。這些資料庫可從以下連結(jié)下載:
?SPI.h
?SD.h
?DHT.h
下載庫之后,通過包含所有必需的庫來啟動代碼。
然后定義DHT傳感器的類型和DHT傳感器連接的引腳。如果您使用的是DHT22,那么將DHT類型更改為DHT22。在我的例子中,DHT傳感器連接到Arduino的數(shù)字6。
然后定義變量來存儲溫度和濕度數(shù)據(jù)。
在void setup()函數(shù)內(nèi)部,使用.begin()函數(shù)初始化波特率DHT傳感器
在loop()函數(shù)內(nèi)部,調(diào)用Read_TempHum()和Write_SDcard()函數(shù)來獲取溫度和濕度值,然后將這些值發(fā)送到SD卡。
Read_TempHum()循環(huán)用于通過調(diào)用dht來讀取溫度和濕度值。讀功能。DHT11傳感器以8位數(shù)據(jù)串行發(fā)送溫濕度值。二氫睪酮。DHT庫中的read函數(shù)通過Arduino的軟件串行函數(shù)讀取這些值。
該函數(shù)將在SD卡上創(chuàng)建一個名為“LoggerCD.txt”的文本文件,并在文件的第一行寫入值的名稱。溫度和濕度值通過使用“,”作為分隔符來分隔。
該函數(shù)將溫濕度數(shù)據(jù)寫入SD卡上的“LoggerCD.txt”文件中。每個值之間用逗號分隔。
Arduino SD卡數(shù)據(jù)記錄項目測試
一旦硬件和軟件準(zhǔn)備好,將Arduino板連接到筆記本電腦并上傳代碼。一旦程序被上傳,溫度和濕度值將開始被存儲在SD卡的一個名為“LoggerCD.txt”的文件中。要檢查這是否工作,從模塊中取出SD卡,在手機或筆記本電腦中打開它,并打開“LoggerCD.txt”文件。它看起來是這樣的:
本文編譯自iotdesignpro