11232| 3
|
[入门] DHT11温度传感器使用 |
一个PPT解决你所有问题这个就是所谓的DHT11温度传感器 工作电压:3 ~ 5.5V 测量范围:20 ~ 90%RH 0 ~ 50 ℃ 输 出:单总线数字信号 测湿精度:± 5%RH 测温精度:± 2 ℃ 采样周期:不低于 1s 模块尺寸:27.5mm x 20.5mm 特征:►相对湿度和温度测量 ►全部校准,数字输出 ►卓越的长期稳定性 ►超低能耗 这是它的连线针脚 以下为库文件调用 #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); } [url=]DHT11库文件.zip[/url] [url=]这是编程[/url] /************************************** * 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); } } |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed