1314|5

531

帖子

0

资源

一粒金砂(高级)

【CH579M-R1】+DHT22温湿度检测

前面主要介绍了基于模拟信号的传感器使用,本次说一说数字式传感器的使用,作为数字式传感器它也有许多种,

如温湿度传感器、光强度传感器、气温气压传感器等。

DHT22是一种检测检测常规状态下温湿度的传感器,它采用单总线结构,因此十分节省系统资源。

DHT22的采集精度要高于DHT11,它的精度可达小数点后1位,而DHT11只能到整数位。

由于是采用单总线工作,这一条线既要能输出,又要能输入。

在这里,是使用PA12来与DHT22的DAT引脚相连。

使其输出高低电平和进行输入的语句如下:

#define DHT11_D0_H                   GPIOA_SetBits( GPIO_Pin_12 )

#define DHT11_D0_L                    GPIOA_ResetBits( GPIO_Pin_12 )

#define DHT11_D0_R                   GPIOA_ReadPortPin( GPIO_Pin_12 )

配置引脚为输入/输出功能的函数为:

void DHT11_IO_IN(void)
{
             GPIOA_ModeCfg( GPIO_Pin_12, GPIO_ModeIN_PU );
}

void DHT11_IO_OUT(void)
{
             GPIOA_ModeCfg( GPIO_Pin_12, GPIO_ModeOut_PP_5mA );
}

 

显示温湿度值的主程序为:

int main()
{    
        u8 senflag;
        mDelaymS(100);
        OLED_Init();
        OLED_Clear();
        OLED_ShowString(0,0,"CH579M  TEST",16);
         OLED_ShowString(0,2,"DHT22_OLED",16);
         senflag=DHT11_Init();
         if(senflag) OLED_ShowString(64,0,"NO SEN!",16);
         else   OLED_ShowString(64,0,"SEN OK!",16);
         while(1)
         {
                     if(!senflag)
                     {
                                 OLED_ShowString(0,2,"T=  . C ",16);
                                 OLED_ShowString(64,2,"H=  . %",16);
                                 DHT11_Read_Data();
                                 OLED_ShowNum(16,2,temperature/10,2,16);
                                 OLED_ShowNum(40,2,(temperature%10),1,16);
                                 OLED_ShowNum(80,2,humidity/10,2,16);
                                 OLED_ShowNum(104,2,(humidity%10),1,16);
                     }
                     mDelaymS(1000);
          }
}

 

经编译、下载,其运行效果如下图所示。

image-20200928002819-1.png

温湿度检测效果图


回复

77

帖子

0

资源

一粒金砂(中级)

给你点赞,谢谢分享

点评

感谢支持!  详情 回复 发表于 2020-9-30 19:28

回复

531

帖子

0

资源

一粒金砂(高级)

powerlove 发表于 2020-9-30 08:51 给你点赞,谢谢分享

感谢支持!


回复

77

帖子

0

资源

一粒金砂(中级)

这个资料比较实用给你点赞,谢谢楼主无私的分享。。。。

点评

有朋友真好!!!  详情 回复 发表于 2020-10-3 00:32

回复

531

帖子

0

资源

一粒金砂(高级)

powerlove 发表于 2020-10-2 21:40 这个资料比较实用给你点赞,谢谢楼主无私的分享。。。。

有朋友真好!!!


回复

1万

帖子

133

资源

管理员

个人签名

玩板看这里:

http://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!


回复
您需要登录后才可以回帖 登录 | 注册

关闭
站长推荐上一条 1/5 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表