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

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

image.png

产品引入


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

技术参数


供电电压: 3.3~5.5V DC

输 出: 单总线数字信号

测量范围: 湿度 20-90%RH, 温度 0~50℃ 测量精度: 湿度±5%RH, 温度±2℃

分辨率: 湿度 1%RH, 温度 1℃ 长期稳定性: <±1%RH/ 年

接线


  • 模块的“+”端接+5V 输出
  • “-”端接 GND
  • “S”端接数字端口 7 号引脚(当
    然这个也可以自己定义数字引脚);接法很简单,下面就剩测试阶段了。。。。。。

image.png

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 窗口,看,结果出来了,哇,是不是有点兴奋!

image.png

相关文章
|
23天前
|
数据格式
51单片机--红外遥控
51单片机--红外遥控
|
10月前
|
传感器 编解码 物联网
STC89C52+DHT20设计的环境温湿度检测仪
本项目基于STC89C52单片机和DHT20温湿度传感器,实现了一款环境温湿度检测仪。通过传感器采集环境的温度和湿度数据,利用IIC接口的OLED显示屏显示出来,便于用户实时监测环境温湿度状态。
138 1
|
11月前
|
传感器 芯片 数据格式
stm32读取DHT11温湿度传感器
stm32读取DHT11温湿度传感器
193 1
|
11月前
|
传感器
Arduino实现超声波测距
Arduino实现超声波测距
|
传感器 芯片
可编程 USB 转串口适配器开发板与振弦传感器测量模块
当通过 IIC 接口修改 VM5xx 单个寄存器后,被修改的寄存器立即保存(断电不丢失),但连续寄存器的写入仅当时修改生效,模块重启后会自动恢复。为了能够使寄存器永久保存,可以单独向功能寄存器 03 写入指令码 0x000C 来强制保存所有寄存器。
可编程 USB 转串口适配器开发板与振弦传感器测量模块
|
12月前
|
传感器
STM32 AHT10温湿度传感器数据
STM32 AHT10温湿度传感器数据 机智云传输温湿度
171 0
|
12月前
|
传感器
野火RA6M5开发板 DHT11温湿度传感器 OLED显示测试学习
野火RA6M5开发板 DHT11温湿度传感器 OLED显示测试学习
91 0
野火RA6M5开发板 DHT11温湿度传感器 OLED显示测试学习
|
传感器
【arduino】超声波垃圾桶
【arduino】超声波垃圾桶
130 0
|
芯片
【STC15单片机】 超声波模块的使用
【STC15单片机】 超声波模块的使用
281 0

热门文章

最新文章