温湿度传感器DTH11(新版)驱动在ESP8266(RTOS3.2)上适配的驱动程序

本文主要是介绍温湿度传感器DTH11(新版)驱动在ESP8266(RTOS3.2)上适配的驱动程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

温湿度传感器DTH11(新版)驱动在ESP8266(RTOS3.2)上适配的驱动

  • 新DTH11简介
  • 硬件原理图
  • 软件部分结构
  • 数据测试结果图

新DTH11简介

在这里插入图片描述
DTH11是一款数字温湿度传感器,捡百度词条没有的说,这个百度词条是2011年建的,估计这个传感器是2011年开始有的,不过厂家在05年就自主研制出湿敏电阻,估计上市还会早于2011年,而上图的新款传感器是18年买的新版,当时某宝焊接好的模块几乎是旧款,想要新版只能买裸传感器。

更新要点:

  1. 商标换了,由AOSONGTM 变为 ASAIRTM, MORE INTERNATIONAL;
  2. 温湿度测量范围由20-90%RH/0-50°C 升级为 5-90%RH/-20-60°C
  3. 新版的传感器温度数据有1位小时,可以读出如 -2.1°C这样的数据;
  4. 用户的最低采样频率由旧款1Hz变为1/2Hz
  5. 功耗减半,由0.16mAmin-2.5mAmax 降低为0.06mA-1mA;
  6. 启动响应信号旧款主机拉低18ms后要等待拉高20-40us,新款粗略测量等待约15us;

硬件原理图

VCC=3.3v:
在这里插入图片描述
              在这里插入图片描述                               在这里插入图片描述

软件部分结构

  • main.c
    • DTH11.h
    • DTH11.c

DTH11驱动网上其实很多了,新版传感器的也只注意下负数温度的问题, 我这里用的是lcd1602显示的,暂时不包含在这篇里面,另外整理;

main.c主要是调用读数据的函数,显示数据 :

/* mainThis example code is in the Public Domain (or CC0 licensed, at your option.)Unless required by applicable law or agreed to in writing, thissoftware is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES ORCONDITIONS OF ANY KIND, either express or implied.
*/#include <stdio.h>
#include <string.h>
#include <stdlib.h>#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"#include "esp_log.h"
#include "esp_system.h"
#include "esp_err.h"#include "driver/i2c.h"#include "lcd1602_pcf8574.h"
#include "DTH11.h"#define LCD1602static const char *TAG = "main";void i2c_task_me(void *arg)
{int dth11_temperature, dth11_humidty;char str1[41] = {'\0'};int ret;dt11_init_chip();#ifdef LCD1602lcd_init_chip(I2C_EXAMPLE_MASTER_NUM);isBacklight(1);
#endifwhile(1){vTaskDelay(30000 / portTICK_RATE_MS);//wait more than 2s, set 30s.ret = get_dth_data(&dth11_temperature, &dth11_humidty);if(!ret){//New Asair's DTH11 has   decimals of temperature.sprintf(str1, "%d.%dC %d%% ",dth11_temperature/10

这篇关于温湿度传感器DTH11(新版)驱动在ESP8266(RTOS3.2)上适配的驱动程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/869649

相关文章

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

UMDF驱动安装

VS2013 + WDF8.1,UMDF驱动选择User Mode Driver,不要选User Mode Driver 2.0,否则Win7安装有问题,如图 另外,在驱动安装时不要忘记WUDFUpdate_<主版本号><次版本号>.dll文件,具体文件名在INF中查找。此文件可在WDF的安装目录中找到。注意:在WDF的安装目录中会有3个WUDFUpdate_xxx.dll文件,x86,x6

鸿蒙开发5.0【Picker的受限权限适配方案】

Picker由系统独立进程实现,应用可以通过拉起Picker组件,用户在Picker上选择对应的资源(如图片、文档等),应用可以获取Picker返回的结果。 类型受限权限使用的picker音频ohos.permission.READ_AUDIO,ohos.permission.WRITE_AUDIOAudioViewPicker文件ohos.permission.READ_DOCUMENT,oh