本帖最后由 立创开发板 于 2023-8-30 15:19 编辑
#申请原创# #技术资源# #每日话题#
详情请跳转:https://lceda001.feishu.cn/wiki/JNvYwEU5SiGldFkNcxncYXhZnZc
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。其成本低、长期稳定、可以测量相对湿度和温度测量,并可以只使用一根数据线进行温湿度采集。
模块来源
采购链接:
https://item.taobao.com/item.htm?spm=a230r.1.14.23.735720126ougj3&id=522553143872&ns=1&abbucket=12#detail
资料下载链接:
https://pan.baidu.com/s/1HQEL699-Yl5Jh3Hp87_FlQ
资料提取码:2sgq
规格参数
工作电压:3-5.5V
工作电流:1MA
测量分辨率:8 bit
湿度量程: 20 - 90 %RH
湿度精度:±5 %RH
温度量程: 0 - 50 ℃
温度精度:±2 ℃
通信协议:单总线
管脚数量:3 Pin(2.54mm间距排针)
移植过程
我们的目标是在梁山派GD32F470上能够实现读取温湿度的功能。首先要获取资料,查看数据手册应如何实现读取数据,再移植至我们的工程。
查看资料
引脚选择
移植至工程
移植验证
在自己工程中的main主函数中,编写如下。/********************************************************************************
* 文 件 名: main.c
* 版 本 号: 初版
* 修改作者: LC
* 修改日期: 2023年04月06日
* 功能介绍:
******************************************************************************
* 注意事项:
*********************************************************************************/
#include "gd32f4xx.h"
#include "systick.h"
#include "bsp_usart.h" //串口调试文件
#include "bsp_dht11.h"
#include "stdio.h"
int main(void)
{
nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2); // 优先级分组
systick_config(); //滴答定时器初始化 1ms
usart_gpio_config(115200U); //串口初始化
DHT11_GPIO_Init(); //DHT11引脚初始化
delay_1ms(1000);
printf("DHT11 demo start\r\n");
while(1)
{
//读取模块数据
DHT11_Read_Data();
//显示读取后的温度数据
printf("temperature = %.2f\r\n", Get_temperature() );
//显示读取后的湿度数据
printf("humidity = %.2f\r\n", Get_humidity() );
delay_1ms(1000);
}
}
移植现象
注意事项
|