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