关注分享主机优惠活动
国内外VPS云服务器

温湿度传感器(什么是温湿度传感器?)

总结:温湿度传感器需要的时间比较长,所以这里使用的延时函数是由领先的郑电原子公司创建的。 从时序图来看,响应信号有低电平和高电平。 我会一点点更新部分内容,但源代码会在上一篇文章中上传。 如果您觉得这篇文章有帮助或者写得很好,请点赞。 三联

温湿度传感器硬件采用STM32F103 RCT6DHT11(温湿度传感器)软件采用keil5 MDK环境串口调试助手实现说明

根据DHT11温湿度传感器手册

1.初始化DHT11,复位DHT11,并根据时序图写入设置 void dht_Rst(void) { dht_output(); //设置dht11为正常推挽输出 dht_low_input(); //设置dht11为低电平。 lay_ms(20); //延迟时间为20ms。 根据时序图,时间应定义在18ms到30ms之间。 //设置dht11为高电平。 delay_us(30); // 延迟30us,延迟小,不易出错} `` **==注意:==** 部分代码是博主自己写的函数,但是Everything == Simple。 == 例如设置引脚模式、设置引脚高低电平等。 温湿度传感器DHT11需要的时间比较长,所以这里使用的延时函数==是大佬写的。 赛电原子==**。

根据时序图

响应信号为低电平83微秒,高电平87微秒。

代码写法如下:

``` u8 dht_Check(void) { u8 k = 0;//设置参数k,防止程序卡住。 dht_input();//定义dht11为输入 while(dht_read_input && k 83 us { k++; //延时等待delay_us; (1); } if(k >= 100)return 1;//超时结束 else k = 0; while(!dht_read_input && k=100) return 1;//超时结束 return 0; and return 0 } ```

DHT11的初始化代码如下。

u8 dht_Init( void) { dht_output(); return dht_Check() } 2. DHT11 读取数据信息。

从DHT11手册中可以看出,DHT11输出40位数据。

每一位数据的格式如下图所示。

p>

获取每一位数据的代码如下。

u8 dht_ReadBit(void) { u8 k = 0;//定义参数k,防止超时 while(dht_read_input && k

未经允许不得转载:主机频道 » 温湿度传感器(什么是温湿度传感器?)

评论 抢沙发

评论前必须登录!