Arduino温湿度传感器DHT11(含代码)

2 篇文章 0 订阅
2 篇文章 0 订阅

在这里插入图片描述

产品引入

在我们的日常生活中,温度和湿度对我们的生活有着很大的影响,尤其是对于工厂 的生产,如果我们不能很好的掌握并采取相关的措施,那么其带来的损失将会很大,不过现在好了,有一种传感器它不仅能测温度而且还能测湿度,那还真能解决我们的烦恼呢。好了,下面就一起来学着如何使用它,让它为您的生活带来方便。

技术参数

供电电压: 3.3~5.5V DC
输 出: 单总线数字信号
测量范围: 湿度 20-90%RH, 温度 0~50℃ 测量精度: 湿度±5%RH, 温度±2℃
分辨率: 湿度 1%RH, 温度 1℃ 长期稳定性: <±1%RH/ 年

接线

  • 模块的“+”端接+5V 输出
  • “-”端接 GND
  • “S”端接数字端口 7 号引脚(当
    然这个也可以自己定义数字引脚);接法很简单,下面就剩测试阶段了。。。。。。
    在这里插入图片描述
int DHpin = 8; 
byte dat[5]; 
byte read_data(){
	byte data;
	for(int i=0; i<8; i++){
		if(digitalRead(DHpin) == LOW){
			while(digitalRead(DHpin) == LOW);	//等待 50us;
			delayMicroseconds(30);	//判断高电平的持续时间,以判定数据是‘0’还是‘1’; if(digitalRead(DHpin) == HIGH)
			data |= (1<<(7-i));	//高位在前,低位在后;
			while(digitalRead(DHpin) == HIGH);	//数据‘1’,等待下一位的接收;
		}
	}
	return data;
}

void start_test()
{
	digitalWrite(DHpin,LOW);	//拉低总线,发开始信号; delay(30); //延时要大于 18ms,以便 DHT11 能检测到开始信号; digitalWrite(DHpin,HIGH);
	delayMicroseconds(40);	//等待DHT11 响应; pinMode(DHpin,INPUT); while(digitalRead(DHpin) == HIGH);
	delayMicroseconds(80);	//DHT11 发出响应,拉低总线 80us; if(digitalRead(DHpin) == LOW);
	delayMicroseconds(80);	//DHT11 拉高总线 80us 后开始发送数据;
	for(int i=0;i<4;i++)	//接收温湿度数据,校验位不考虑; dat[i] = read_data();
	pinMode(DHpin,OUTPUT);
	digitalWrite(DHpin,HIGH);	//发送完一次数据后释放总线,等待主机的下一次开始信号;
}

void setup()
{
	Serial.begin(9600); pinMode(DHpin,OUTPUT);
}

void loop()

{
	start_test();
	
	Serial.print("Current humdity = "); Serial.print(dat[0], DEC);	//显示湿度的整数位; Serial.print('.');
	Serial.print(dat[1],DEC);	//显示湿度的小数位; Serial.println('%');
	Serial.print("Current temperature = "); Serial.print(dat[2], DEC);	//显示温度的整数位; Serial.print('.');
	Serial.print(dat[3],DEC);	//显示温度的小数位; Serial.println('C');
	delay(700);
}

好了,我们把测试代码编译一下,编译通过我们就可以看结果了,真想看看现在所 处的环境中温湿度到底是多少,它们是看不见摸不着的,我们把程序烧入 Arduino 板子,然后迫不及待的打开 Serial Monitor 窗口,看,结果出来了,哇,是不是有点兴奋!
在这里插入图片描述

  • 12
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loading_create

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值