DIY智能温湿度计之数据获取
DIY智能溫濕度計(jì)之?dāng)?shù)據(jù)獲取
一、工具
1、Arduino UNO
2、DHT11溫濕度傳感器
DHT11數(shù)字溫濕度傳感器模塊,含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。
二、參數(shù)(數(shù)據(jù)來自奧松機(jī)器人官網(wǎng))
1、DHT11參數(shù)
工作電壓:3.3V~5V
數(shù)據(jù)類型:數(shù)字輸出
尺寸:35mm x 25mm
工作溫度:-40~85℃
引腳定義
S:信號接口
+:電源正極
-:電源地
2、名詞解釋
濕度很久以前就與生活存在著密切的關(guān)系,但用數(shù)量來進(jìn)行表示較為困難。日常生活中最常用的表示濕度的物理量是空氣的相對濕度。用%RH表示。在物理量的導(dǎo)出上相對濕度與溫度有著密切的關(guān)系。一定體積的密閉氣體,其溫度越高相對濕度越低,溫度越低,其相對濕度越高。其中涉及到復(fù)雜的熱力工程學(xué)知識。
三、連線
dht11的S、+、-接口分別接Arduino的引腳4(可以根據(jù)自己的需要選擇其他引腳)、5V、GND,然后通過專用數(shù)據(jù)線將arduino與電腦連接在一起打開Arduino IDE開始編程
四、編程
1、功能
程序可以通過串口顯示當(dāng)前環(huán)境溫濕度。
2、代碼
//初始化
#include
dht DHT;
#define DHT11_PIN 4//定義dht11信號線S為引腳4
void setup()
{
Serial.begin(9600);//初始化端口
//在串口輸出濕度和溫度的單位分別是%和C(攝氏度)
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}
//循環(huán)
void loop()
{
//表明程序已經(jīng)開始運(yùn)行
Serial.print("DHT11, \t");
int chk = DHT.read11(DHT11_PIN);//讀取傳感器獲取的數(shù)據(jù)
switch (chk)//檢驗(yàn)傳感器此時(shí)狀態(tài)
{
//如果反饋0,表明傳感器正常工作
case 0: Serial.print("OK,\t"); break;
//如果反饋-1,表明傳感器校驗(yàn)和出錯(cuò)
case -1: Serial.print("Checksum error,\t"); break;
//如果反饋-2,表明獲取傳感器數(shù)據(jù)超時(shí)
case -2: Serial.print("Time out error,\t"); break;
//如果其它,表明傳感器發(fā)生未知錯(cuò)誤
default: Serial.print("Unknown error,\t"); break;
}
//通過串口分別顯示測量濕度、溫度值
Serial.print(DHT.humidity,1);
Serial.print(",\t");
Serial.println(DHT.temperature,1);
delay(1000);//延時(shí)1s
}
3、運(yùn)行結(jié)果
即當(dāng)前環(huán)境濕度為51%左右,溫度為15℃
五、用途
1、節(jié)水農(nóng)業(yè)灌溉
2、溫室大棚等等
六、拓展
通過一番努力,單片機(jī)已經(jīng)終于能夠正常工作獲取溫濕度信息了,可是單單在電腦上顯示一下怎么稱得上智能呢?而且又不可能天天把電腦翻開,難道作者是在掛羊頭賣狗肉?要是不是,那么問題來了,數(shù)據(jù)可不能夠在手機(jī)上顯示呢?能夠在手機(jī)上顯示固然很方便,可是假如此時(shí)我不想知道,我可不能夠控制單片機(jī)不收集數(shù)據(jù)呢?
總結(jié)
以上是生活随笔為你收集整理的DIY智能温湿度计之数据获取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云计算机英语怎么说,云的英语怎么说
- 下一篇: hive常用函数五