ESP8266 SDK开发: 外设篇-温湿度传感器-DHT11

 

 

 

 

实现的功能

串口每隔2S打印一下Wi-Fi模块采集的温湿度数据

 

 

 

移植使用

1.我给大家封装好了DHT11的文件

 

 

2.把文件按照下图放置,并在DHT11.h中修改GPIO

我的开发板是使用的GPIO4采集的DHT11数据

 

 

 

 

 

 

 

 

 

2.在主函数中包含头文件

 

 

 

 

3.采集温湿度数据并打印.

用户可以用定时器每隔2S采集一次

 

 

 

 

 

/**
* @brief   定时器回调函数
* @param   parg:传入的配置os_timer_setfn函数最后的参数
* @param   None
* @param   None
* @param   None
* @retval  None
* @warning None
* @example
**/
void os_timer_one_function(void *parg)
{
    RendTHCnt++;
    if(RendTHCnt>=2000){
        RendTHCnt=0;
        DHT11_Read_Data();
        os_printf("温度:%d,湿度%d\r\n",DHT11Data[2],DHT11Data[0]);
    }
}

 

 4.效果

 

 

 

 

 

 

说明

 1.该程序处理思路

采集到数据以后判断下校验和是否正确,如果正确,则把新数据存入数组

如果不正确,则判断下和上次数据的偏差,如果偏差不是很大也认为是正确的数据

如果采集了5次校验和都是错误的,则设置数据全部为0xff

 

2.此程序是NONOS版本

用户移植到RTOS版本上的时候需要更改DHT11.c中操作GPIO的头文件

 

posted on 2020-05-11 03:49  广源时代  阅读(2087)  评论(0编辑  收藏  举报

导航

支付宝 QQ群