1973742214 发表于 2017-9-23 19:02:21

DHT11温度传感器使用

一个PPT解决你所有问题https://mc.dfrobot.com.cn/forum.php?mod=image&aid=40625&size=300x300&key=954027d1a6bbd8e6&nocache=yes&type=fixnone这个就是所谓的DHT11温度传感器

工作电压:3 ~ 5.5V
测量范围:20 ~ 90%RH   0 ~ 50 ℃
输 出:单总线数字信号
测湿精度:± 5%RH
测温精度:± 2 ℃
采样周期:不低于 1s
模块尺寸:27.5mm x 20.5mm
特征:►相对湿度和温度测量
►全部校准,数字输出
►卓越的长期稳定性
►超低能耗

https://mc.dfrobot.com.cn/forum.php?mod=image&aid=40626&size=300x300&key=7eba10d493b544d9&nocache=yes&type=fixnone


https://mc.dfrobot.com.cn/forum.php?mod=image&aid=40627&size=300x300&key=5c81d0a5d6f89be7&nocache=yes&type=fixnone这是它的连线针脚
以下为库文件调用
#include <dht11.h>
//调用 DHT11 扩展库
dht11 DHT11;
#define DHT11PIN A0
void setup(){
Serial.begin(9600);
Serial.println("DHT11 Monitoring");
}
void loop(){
int val = DHT11.read(DHT11PIN);
//输出湿度值
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity);
//输出温度值
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature);
}

DHT11库文件.zip
这是编程
/**************************************
* DHT11温湿度声光报警实验
* 室内温度不适宜时,闪烁LED提示
* 室内湿度不适宜时,蜂鸣器工作
* BY YFRobot
**************************************/


//调用DHT11扩展库
#include <dht11.h>


dht11 DHT11;


#define DHT11PIN A0
int H_Buzzer = 2;   //定义数字口2为湿度指示
int T_Led = 3;       //定义数字口3为温度指示


void setup(){


pinMode(H_Buzzer,OUTPUT); //定义数字口H_Buzzer为输出模式
pinMode(T_Led,OUTPUT); //定义数字口T_Led为输出模式
Serial.begin(9600);
Serial.println("DHT11 Monitoring");
Serial.print("\n");


}


void loop(){


int val = DHT11.read(DHT11PIN);
Serial.print("Read sensor: ");
switch (val)
{
case DHTLIB_OK:
    Serial.println("OK");
    break;
case DHTLIB_ERROR_CHECKSUM:
    Serial.println("Checksum error");
    break;
case DHTLIB_ERROR_TIMEOUT:
    Serial.println("Time out error");
    break;
default:
    Serial.println("Unknown error");
    break;
}


//输出湿度值,并判断是否适合室内湿度,如不适则亮灯提醒
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity);
if((DHT11.humidity<=40) || (DHT11.humidity>=60))
   tone(2,2000);
else
    noTone(2);


//输出温度值,并判断是否适合室内温度,如不适则亮灯提醒
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature);
if((DHT11.temperature<=18)||(DHT11.temperature>=25))
   Blink();
else
    digitalWrite(T_Led,LOW);
delay(2000);
}


void Blink(){
for(int i=0;i<3;i++){
    digitalWrite(T_Led,HIGH);
    delay(500);
    digitalWrite(T_Led,LOW);
    delay(500);
}
}




maomaopcy 发表于 2018-3-19 10:15:45

k库文件下载后只有1kb,用不了啊
页: [1]
查看完整版本: DHT11温度传感器使用