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);
}
}
k库文件下载后只有1kb,用不了啊
页:
[1]