精华内容
下载资源
问答
  • 基于51单片机+DHT11温湿度+LCD1602显示

    千次阅读 多人点赞 2021-02-18 20:44:21
    DHT11引脚说明程序代码main.clcd1602.clcd1602.hdelay.cdelay.h项目展示 DHT11温湿度相关介绍 DHT11产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传 感器。它应用专用的数字模块采集...

    DHT11温湿度相关介绍

    DHT11产品概述

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传 感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快 响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的 湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内 部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集 成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使 其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚 封装。连接方便,特殊封装形式可根据用户需求而提供。

    1.测量范围

    型号 测量范围 测湿精度 测温精度 分辨力 封装
    DHT11 20-90%RH 0-50℃ ±5%RH ±2℃ 1 4 针单排直插

    2.接口说明

    建议连接线长度短于20米时用5K上拉电阻 ,大于20米时根据实际情况使 用合适的上拉电阻
    在这里插入图片描述

    3.电源引脚

    DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此 期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去 耦滤波。

    4.串行接口 (单线双向)

    DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次 通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数 部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为40bit,高位先出
    数据格式: 8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据 +8bit校验和 数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

    5.相关时序及代码

    用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主 机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集, 用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集, 如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后 转换到低速模式。
    在这里插入图片描述
    总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必 须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后, 等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束 后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换 到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。
    在这里插入图片描述
    用代码实现上述时序图(起始信号):

    	DATA = 1; //先高电平维持一小段时间
    	delay30us();//维持30us
    	DATA = 0; //拉低电平至少18ms
    	delay20ms(); //这里给了20ms
    	DATA=1;	//拉高电平维持20-40us 
    	delay30us(); //我这里维持30us
    	DATA=1; //拉高电平等待DHT低电平响应
    	if(DATA == 0) //判断DHT是否响应
    	{
    		while(!DATA); //等待DHT80us低电平响应信号过去
    		while(DATA); //等待DHT80us高电平信号过去
    		
    		/*然后就开始接收DHT11温湿度数据*/
    
    	}
    

    总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉 高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定 了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有 响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线 50us,随后总线由上拉电阻拉高进入空闲状态
    在这里插入图片描述
    总共数据为40位 8位的湿度整数部分,8位的湿度小数部分,8位的温度整数部分,8位的温度小数部分。8位的校验位(检测是否接收的是正确数据)
    下面代码是获取每8位的代码

    unsigned char DHT_receive_data()
    {
    	unsigned char i;
    	unsigned char dat=0;  //0000 0000
    
    		
    	for(i=0;i<8;i++)  //循环8次
    	{
    		while(!DATA); //等待DHT 50us低电平信号过去
    		delay30us(); //延时大概30us 如何还是高电平 则为1 
    		
    
    		dat<<=1; //左移一位 因为数据是从高位开始传
    		if(DATA == 1)
    		{
    			dat|=0x01;
    		}
    /*		else
    		{
    			dat|=0x00;
    		}	 
    */	
    		while(DATA); //等待DHT 拉低 准备下一位开始
    
    	}
    	return dat;
    	
    }
    

    6. DHT11引脚说明

    Pin 名称 注释
    1 VDD 供电 3-5.5VDC
    2 DATA 串行数据,单总线
    3 NC 空脚,请悬空
    4 GND 接地,电源负极

    注:采样周期间隔不得低于1秒钟

    程序代码

    main.c

    #include <reg52.h>
    #include "lcd1602.h"
    #include "delay.h"
    
    sbit DATA = P2^0; //DHT11 数据引脚
    unsigned char ret;
    unsigned char DHTDATA[5] = {'\0'}; //存放温湿度40位 数据
    unsigned char code array[] = {"humi:"}; //湿度
    unsigned char code array1[] = {"temp:"}; //温度
    
    
    /*DHT11接收数据函数*/
    unsigned char DHT_receive_data()
    {
    	unsigned char i;
    	unsigned char dat=0;  //0000 0000
    
    		
    	for(i=0;i<8;i++)
    	{
    		while(!DATA); //等待DHT 50us低电平信号过去
    		delay30us(); //延时大概30us 如何还是高电平 则为1
    		
    
    		dat<<=1; //左移一位 因为数据是从高位开始传
    		if(DATA == 1)
    		{
    			dat|=0x01;
    		}
    /*		else
    		{
    			dat|=0x00;
    		}	 
    */
    		
    		while(DATA); //等待DHT 拉低 准备下一位开始
    
    	}
    	return dat;
    	
    }
    
    
    /*DHT11读取函数*/
    void DHT_receive()
    {
    	unsigned char R_H,R_L,T_H,T_L,CHECK;
    	
    	/*主机发送信号*/
    	DATA = 1;
    	delay30us();
    	DATA = 0;
    	delay20ms(); //延时大于18ms
    	DATA=1;
    	delay30us();	 //延时30us  20-40us 均可
    
    	DATA=1;
    	if(DATA == 0)   //判断DHT是否进入响应
    	{
    
    		while(!DATA);	   //等待从机80us低电平响应信号过去
    		while(DATA); //等待从机80us高电平信号过去
    
    	   	/*获取温湿度数据*/
    		R_H = DHT_receive_data();	//湿度整数部分
    		R_L = DHT_receive_data();	//湿度小数部分
    		T_H = DHT_receive_data();	//温度整数部分
    		T_L = DHT_receive_data();	//温度小数部分
    
    		CHECK = DHT_receive_data(); //校验位
    
    		DATA=0; //当最后一bit数据传送完毕后,DHT11拉低总线 50us
    		delay55us(); //这里延时55us
    		DATA=1;	//随后总线由上拉电阻拉高进入空闲状态。
    	
    		/*校验接收到的数据是否正确*/
    		if((R_H + R_L + T_H + T_L) == CHECK) 
    		{
    			DHTDATA[0] = R_H;
    			DHTDATA[1] = R_L;
    			DHTDATA[2] = T_H;
    			DHTDATA[3] = T_L;
    
    			DHTDATA[4] = CHECK;	
    		}
    			
    	}
    }
    
    /*显示DHT11数据函数*/
    void DHT_display()
    {
    	write_com(0x85);
    	write_data(DHTDATA[0]/10 + 0x30); //湿度整数的十位
    	write_com(0x86);
    	write_data(DHTDATA[0]%10 + 0x30); //湿度整数的个位
    	
    	write_com(0x87);
    	write_data('.');	
    
    	write_com(0x88);
    	write_data(DHTDATA[1]/10 + 0x30); //湿度小数
    	write_com(0x89);
    	write_data('%');
    
    	
    	write_com(0xC5);
    	write_data(DHTDATA[2]/10 + 0x30); //温度整数的十位
    	write_com(0xC6);
    	write_data(DHTDATA[2]%10 + 0x30); //温度整数的个位
    	
    	write_com(0xc7);
    	write_data('.');
    
    	write_com(0xC8);
    	write_data(DHTDATA[3]/10 + 0x30); //温度小数
    	write_com(0xC9);
    	write_data(0xDF); //‘度’符号
    
    	write_com(0xca);		
    	write_data('C');
    }
    
    
    
    /*主函数入口*/
    void main()
    {
    	unsigned char i;
    	init_lcd(); //初始化1602
    	write_com(0x80);  //第一行第一个开始显示 humi:
    	for(i=0;i<5;i++)
    	{
    		write_data(array[i]);
    	}
    
    	write_com(0xc0);  //第二行第一个开始显示 temp:
    	for(i=0;i<5;i++)
    	{
    		write_data(array1[i]);
    	}
    
    	while(1)
    	{
    		delay1s(); //等待 1s 以越过不稳定状态
    		DHT_receive();   //DHT11读取函数
    		DHT_display();//1602显示温湿度
    					
    	}
    }
    

    项目展示

    在这里插入图片描述
    不知道为什么 之前1602一直不显示任何东西,要么就是显示温湿度就不动了,串口打印数据一直显示不温度不更新 不会变数值,要么直接死机了,串口刚开始打印数据,后来就没打印直接死机。弄半天以为是时序不对,结果把串口去掉就成了。。。。还是太菜不知道为什么冲突,还得加油…如果有人遇到了跟我一样的问题 希望能告诉我为什么。

    如果觉得这篇文章对你有用。欢迎大家点赞、评论哈哈
    需要整个工程代码,欢迎大家打赏,评论区留上你的邮箱 or vx or qq。o( ̄︶ ̄)o
    在这里插入图片描述
    继续加油!!!

    展开全文
  • 所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 ...首先根据开发板硬件原理图确定温湿度传感器DHT11与CC2530芯片的连接引脚,如图4-14所示。 图4-14 DHT11接口图 DHT11模块参数如下: 1...

    所有课程见此链接:

    zigbee CC2530 系列教程 0 课程介绍

     

    4.12温湿度传感器DHT11实验

    4.12.1 实验目的

    学习使用温湿度传感器DHT11,并在串口显示温湿度数据。

    4.12.2 实验讲解

    首先根据开发板硬件原理图确定温湿度传感器DHT11与CC2530芯片的连接引脚,如图4-14所示。

    图4-14 DHT11接口图

    DHT11模块参数如下:

    1.可以检测周围环境的湿度和温度

    2.传感器采用 DHT11

    3.湿度测量范围:20%-95%(0 度-50 度范围)湿度测量误差:+-5%

    4.温度测量范围:0 度-50 度 温度测量误差:+-2 度

    4.工作电压 3.3V-5V

    5.输出形式 数字输出

    6.设有固定螺栓孔,方便安装

    7.小板 PCB 尺寸:3.2cm * 1.4cm

    8.电源指示灯(红色)

     

    DHT11 模块接口说明

    1 VCC 外接 3.3V-5V

    2 DATA 小板开关数字量输出接口接单片机IO口

    3 GND 外接 GND

     

    主函数部分程序如下:

    #include <ioCC2530.h>
    
    #include <string.h>
    
    #include "UART.H"
    
    #include "DHT11.H"
    
    /***************************
    
              主函数
    
    ***************************/
    
    void main(void)
    
    {
    
        Delay_ms(1000);//让设备稳定
    
        InitUart();    //串口初始化
    
    while(1)
    
    {          
    
             DHT11();       //获取温湿度
    
             P0DIR |= 0x40;  //IO口需要重新配置
    
             /******温湿度的ASC码转换*******/
    
             temp[0]=wendu_shi+0x30;
    
             temp[1]=wendu_ge+0x30;
    
             humidity[0]=shidu_shi+0x30;
    
             humidity[1]=shidu_ge+0x30;
    
             /*******信息通过串口打印********/
    
             Uart_Send_String(temp1,5);
    
             Uart_Send_String(temp,2);
    
             Uart_Send_String("\n",1);
    
             Uart_Send_String(humidity1,9);
    
             Uart_Send_String(humidity,2);
    
             Uart_Send_String("\n",1);
    
             Delay_ms(2000);  //延时,使周期性2S读取1次
    
          }
    
          }

     

     

    扫码关注公众号,输入zigbee。即可获得源码 + 全套开发视频

     

    展开全文
  • 使用 Adafruit 读取 DHT11 温湿度传感器

    千次阅读 2019-09-18 20:08:02
    DHT11 温湿度传感器尽管不是使用效率...下面我们介绍基于Adafruit DHT 库读取 DHT11 数据的方法。 DHT11 规格 DHT11 有四个引脚,但是其中一个没有被使用到。所有有的模块会简化成3个引脚。 湿度检测范围 : ...

    DHT11 温湿度传感器尽管不是使用效率最高的温湿度传感器,但价格便宜被广泛应用。下面我们介绍基于Adafruit DHT 库读取 DHT11 数据的方法。

    DHT11 规格

    DHT11 有四个引脚,但是其中一个没有被使用到。所有有的模块会简化成3个引脚。

    • 湿度检测范围 : 20-80% (5% 精度)
    • 温度检测范围 : 0-50°C (±2°C 精度)

    该厂商不建议读取频率小于2秒,如果这么做数据可能会有误。

    硬件连接

    需要在电源和数据脚之间串联一个上拉电阻(4.7K-10K),通常情况下,购买DHT11模块的话都自带了这个电阻。不同的模块型号引脚位置略有不同,下面以图上模块为说明:

    DHT Pin Signal Pi Pin
    1 3.3V 1
    2 Data/Out 11 (GPIO17)
    3 not used
    4 Ground 6 or 9

    数据引脚可以根据你的需要自行修改。

    Python 库

    DHT11 的读取需要遵循特定的信号协议完成,为了方便我们使用Adafruit DHT 库。

    软件安装

    开始之前需要更新软件包:

    1

    2

    sudo apt-get update

    sudo apt-get install build-essential python-dev

    从 GitHub 获取 Adafruit 库:

    1

    2

    sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git

    cd Adafruit_Python_DHT

    给 Python 2 和 Python 3 安装该库:

    1

    2

    sudo python setup.py install

    sudo python3 setup.py install

    示例程序

    Adafruit 提供了示例程序,运行下面的命令测试。

    1

    2

    3

    4

    cd ~

    cd Adafruit_Python_DHT

    cd examples

    python AdafruitDHT.py 11 17

    这两个参数分别表示 DHT11 和数据引脚所接的树莓派 GPIO 编号。成功的话会输出:

    Temp=22.0* Humidity=68.0%

    如何在其他 Python 程序中使用这个库

    参照下面的方法引入 Adafruit 库,然后就可以使用 “read_retry” 方法来读取 DHT11 的数据了:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    import Adafruit_DHT

      

    # Set sensor type : Options are DHT11,DHT22 or AM2302

    sensor=Adafruit_DHT.DHT11

      

    # Set GPIO sensor is connected to

    gpio=17

      

    # Use read_retry method. This will retry up to 15 times to

    # get a sensor reading (waiting 2 seconds between each retry).

    humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)

      

    # Reading the DHT11 is very sensitive to timings and occasionally

    # the Pi might fail to get a valid reading. So check if readings are valid.

    if humidity is not None and temperature is not None:

      print('Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity))

    else:

      print('Failed to get reading. Try again!')

    转载于:https://my.oschina.net/hechunc/blog/3020325

    展开全文
  • DHT11数字温湿度传感器

    万次阅读 多人点赞 2015-12-15 22:48:03
    DHT11数字温湿度传感器 简单介绍DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。产品为 4 针单排引脚封装 接口说明: 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际...

    DHT11数字温湿度传感器

    简单介绍:

    • DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。产品为 4 针单排引脚封装

    接口说明:

    • 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。

    电源引脚:

    • DHT11的供电电压为 3-5.5V。传感器上电后,要等待1s 以越过不稳定状态在此期间无需发送任何指令。
    • 电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。

    串行接口  (单线双向) 

    • DATA 用于单片机与 DHT11之间的通讯和同步
    • 采用单总线数据格式
    • 一次通讯时间4ms左右
    • 数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零。

    数据传输格式:

    • 一次完整的数据传输为40bit,高位先出。
    • 数据格式:
      8bit湿度整数数据 + 8bit湿度小数数据 + 8bit 温度整数数据 + 8bit温度小数数据 + 8bit校验和
    • 数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

    通讯过程:

    • 通讯总过程:

    • 通讯起始阶段:

      • 总线空闲状态为高电平
      • 需采集数据时,主机把总线拉低等待DHT11响应(须大于18毫秒,保证DHT11能检测到起始信号。)
      • DHT11接收到主机的开始信号后,等待主机开始信号结束。
      • 主机发送开始信号结束后,转为输入模式(即拉高电平)延时等待20-40us。
      • 主机读取DHT11的响应信号,若总线处于低电平,表示DHT11开始响应。
      • DHT11开始响应80us后拉高总线80us
      • 然后开始传输0_1信号。

    • 0_1信号的表示

    数据0的表示如下:

    数据1表示如下:


    显然0_1信号都是先由50us的低电平开始,再由高电平的时间长短表示0或1。

    DHT11引脚说明:


    代码:

    #include<reg52.h>
    
    sbit DHTIO=P1^1;
    //humidity 湿度
    //temperature 温度
    //integer 整数
    //decimal 小数
    unsigned char humidity_interger=0,humidity_decimal;
    unsigned char temperature_integer=0,temperature_decimal;
    unsigned char check;
    
    void delay20ms()
    {
    	unsigned char a,b,c;
        for(c=1;c>0;c--)
            for(b=222;b>0;b--)
                for(a=40;a>0;a--);
    }
    void delay40us()
    {
    	 unsigned char a,b;
         for(b=3;b>0;b--)
            for(a=4;a>0;a--);
    }
    
    void dht_start()
    {
    	 DHTIO=1;		   //初始高电平
    	 delay40us();
    	 DHTIO=0;		   //主机拉低电平
    	 delay20ms();	   //保持电平时间大于18ms
    	 DHTIO=1;		   //主机拉高电平
    	 delay40us();	   //延迟等待20-40us等待从机响应
    }
    
    unsigned char recieve_data()
    {
    	unsigned char i,flag,data_byte;
    	for(i=0;i<8;i++)
    	{
    		flag=2;
    		while((!DHTIO)&&flag++);//等待从机发出50us低电平结束
    		delay40us();			//延时超过26us-28us不超过70us
    		data_byte=data_byte<<1;
    		if(DHTIO)				  //如果此时dhtio为1则表示此时从机输出数据为1否则说明此时从机输出数据为0
    		{
    			data_byte|=0x01;
    			flag=2;
    			while((DHTIO)&&flag++);//等待剩下的高电平结束
    		}
    		if(!flag)
    			break;
    	}
    	return data_byte;
    }
    void dht_take_sample()
    {
    	 unsigned char flag;
    	 dht_start();
    	 if(!DHTIO)			//从机发出响应信号
    	 {
    		  flag=2;
    		  while((!DHTIO)&&flag++);//检测从机发出80us低电平是否结束
    		  flag=2;
    		  while((DHTIO)&&flag++); //检测从机发出80us高电平是否结束
    		  //开始采集数据
    		  humidity_interger=recieve_data();		//采集湿度整数部分
    		  humidity_decimal=recieve_data();		//采集湿度小数部分
    		  temperature_integer=recieve_data();	//采集温度整数部分
              temperature_decimal=recieve_data();	//采集温度小数部分
    		  check=recieve_data();					//采集校验位
    		  
    		  DHTIO=1;  //采集数据后主机拉高电平
    	 }
    }
    
    unsigned char get_humidity()
    {
    	 return humidity_interger;
    }
    
    unsigned char get_temperature()
    {
    	return temperature_integer;
    }
    


    展开全文
  • 本教程介绍了如何使用MicroPython固件将DHT11或DHT22温度和湿度传感器与ESP32和ESP8266开发板一起使用。 DHT模块 首先导入模块 </> 创建一个指向传感器数据引脚的dht对象: </> 要测量和读取传感器值...
  • 通过前面的介绍,我们知道DHT11引脚一共有四个,数据引脚只有一个,所以他与i.MX6ULL的原理很简单,直接把数据引脚连接到i.MX6ULL的IO上并且通过一个电阻上拉就可以了,原理如图 1所示: 图 1 从上图我们可以...
  • 第二次培训任务:对dht11的基本了解

    千次阅读 2020-07-29 21:46:32
    DHT11是温度湿度测量二合一传感器。非常适用于对精度和实时性要求不高的温湿度测量场合。 外形如下图: 图1 外形 图2 规格 DHT11温湿度传感器的测量范围,以及精度、分辨率如下图。如果超出了这个范围,那么...
  • 树莓派下DHT11温湿度传感器控制程序(python)

    万次阅读 热门讨论 2019-01-18 11:42:37
    首先简要说明一下树莓派,然后介绍DHT11,最后附上相关代码。 树莓派引脚功能 树莓派引脚分为多种,最常见的有40引脚和26引脚。其引脚号数一致的引脚功能也一致。以40引脚的为例,引脚资源为: GPIO引脚 X 26,...
  • STM32串口显示DHT11温湿度数据,YL-69土壤湿度

    千次阅读 热门讨论 2020-05-14 15:04:15
    介绍DHT11温湿度数据的采集,有两个文件,一个DHT11.c,还有一个DHT11.h 我的DHT11是三线的,没有一个DATA数据接口,接单片机的PB14引脚DHT11.c代码如下 #include "dht11.h" /////////////////////////////////...
  • DHT11温湿度传感器

    2019-10-07 07:07:50
    硬件介绍 RH是相对湿度,是用零点温度来定义的,一般,RH在45%~65%之间最为合适。 注:NTC为热敏电阻,输出为:单总线数字信号,单线双向串行通讯。 注:上拉电阻情况下,配置为开漏输出,可以增加驱动...
  • 一、首先,简单介绍DHT11: DHT11是一个温湿度传感器,分为3个接口,分别为:VCC, DATA, GND 引脚号名称类型说明 1 VCC 电源 +级,输入3V-5.5V 2 DATA 数据输出 输出引脚 3 GND ...
  • 通过前面的介绍,我们知道DHT11引脚一共有四个,数据引脚只有一个,所以他与i.MX6ULL的原理很简单,直接把数据引脚连接到i.MX6ULL的IO上并且通过一个电阻上拉就可以了,原理如图 1所示: 图 1 从上图我们可以...
  • 小白学数字温湿度传感器DHT11模块

    万次阅读 多人点赞 2018-03-23 14:28:02
     DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用于专用的数字模块采集技术和温湿度传感技术,有着极高的可靠性和稳定性,抗干扰,响应快等优点。采用单线制串行接口,信号传输距离...
  • DHT11的各种参数及其工作原理介绍,还有基于STC12C5410AD的温湿度传感器的C语言程序。当然,实际用的话还要修改一下里面I/O口的引脚设置,因为每个人单片机的连接电路都不一定相同
  • DHT11(温湿度模块)是单总线的连接,数据的输入输出由一根线完成,碰到NC脚不需要管。 一般只需要接VCC ,GND 和自行定义的(io)引脚 头文件 #ifndef _DHT11_H #define _DHT11_H #include "system.h" #include ...
  • 首先介绍DHT11(温度传感器)的连接,DHT11如图所示,有三个引脚.VCC,GND,以及DATA, VCC代表的是电源,一般连接的是3.3v,对于40Pin的GPIO的1号引脚,DATA引脚是用来传递数据的,连接树莓派的12号引脚.GND是接地的,可以...
  • 实验器材: 1.装有arduino IDE笔记本一台。 2.dht11温湿度感应器。 3.1602液晶显示器。 ...首先先来看看1602液晶显示器和dht11的工作原理 ...引脚参考LCD1602的官网介绍dht11: 产品名:温湿...
  • DHT11的Vcc引脚与Arduino的3.3v引脚连接,而GND引脚与Arduino的GND引脚连接。当数据引脚与Arduino的第二引脚连接时。连接完成后,我的硬件如下所示 如您所见,我使用简单的母对公连接线进行连接。完整的设置由连接到...
  • 大家所熟悉都用过的温湿度传感器应该是DHT11了吧,基本上学习单片机的都用过,但是DHT11的精度不是很高,湿度±5%RH,温度±1℃,而且测试的时候一般还要延时3S左右测一下,测试频率慢,而且体积大,价格大概3块多一...
  • 采用GD32E231C8T6作为主控,通过引脚PB8单总线的方式与温湿度传感器DHT11通信实时采集温湿度。通过IIC(PB11-SCL、PB10-SDA)通信方式把采集到的温湿度实时显示在0.96寸OLED屏上。用USART(PA9、PA10)与WiFi模块ESP...
  • 4.3 DHT11读取程序 15 4.3.1 单总线的介绍 15 4.3.2 单总线程序 16 4.4 1602液晶显示程序 19 4.4.1 液晶初始化程序 19 4.4.2 写入字符到液晶 20 4.4.3 液晶界面显示 20 4.5 MQ-2检测程序 22 4.5 按键扫描与报警检测...
  • 传感器接入:DHT11温湿度传感器、所有数字量(0/1)传感器 2、采用直流双供电方式 模块可采用直流5V或者12V供电,LED采用开关电源供电 3、控制方式 远程控制:跨阵M1带有一个继电器,可通过手机进行远程控制,只需连...
  • DHT11是一个数字式温湿度传感器,DATA引脚接入MCU的PA8脚,接口电路如下: 按键K1连接MCU的PA0脚,1K电阻上拉到3.3V 主要元件除了ESP8266-12F和STm32F103C8T6,还有微型水泵、LED、连接件等,测试过程照片: 问题解答:...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

dht11引脚介绍