第一章 DHT11温湿度传感器的使用

在十个毕设作品中,至少有四个毕设会用到温湿度传感器,所以此篇就先教大家怎么使用DHT11温湿度传感器。在淘宝输入“DHT11”就可以直接找到这个传感器,价格比较便宜。

如下图,DHT11温湿度传感器有四根引脚,但实际中我们只用到其中三根引脚,分别是连接3.3V或5V的1引脚、负责数据通讯的2引脚和连接GND的4引脚,而3号引脚名称为NC,意思是空引脚,并没有实际用处。很多同学在淘宝上找到三根引脚的DHT11传感器,那三根引脚就是图片中的1、2、4引脚,所以不用担心自己买的温湿度传感器是不是跟本章介绍的温湿度传感器不一样。

第一章 DHT11温湿度传感器的使用_第1张图片

         接下来讲解STM32F103C8T6与DHT11通讯的代码,关注文章底部公众号,在公众号相应的推文章节的底部有个代码资料下载链接,将资料下载之后,按照资料里面的接线图,用杜邦线将STM32F103C8T6与DHT11温湿度传感器连接起来,再通过Jlink或STlink将代码烧录进STM32中即可。

第一章 DHT11温湿度传感器的使用_第2张图片

         wendu[ ]shidu[ ]这两个数组分别存储DHT11传感器传输过来的温度和湿度数据。

        delay_init( )  初始化延时函数,执行这条语句后,28行的delay_ms(1000)的延时效果才会准确。

        14行和16行只与只与串口打印相关,其中NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)是设置中断优先级分组,uart_init(9600)负责初始化串口1,波特率为9600。删除这两行代码不会影响STM32对温湿度数据的获取。

        DHT11_INIT( )  DHT11初始化函数,初始化后即可采集温湿度数据。

        Read_DHT_Data(wendu, shidu)  获取温湿度数值函数,执行完这条语句后,DHT11检测到的温度数据就存储在wendu[ ],湿度数据就存储在

shidu[ ]中。其中wendu[0]存储的是温度数值的整数,wendu[1]存储的是温度数值的小数,shidu[0]存储的是湿度数值的整数,shidu[1]存储的是湿度数值的小数。

        24行和26行的printf( )是串口打印函数,只要不删除14行和16行代码,整个main函数代码就能实现每隔1秒钟打印温度和湿度数据。

        自此代码讲解完成,想了解每个函数的具体实现过程的同学可以去文章底部下载代码了解。

        当我们的毕设用到DHT11温湿度传感器时,只要清楚上方红色标记的功能函数作用,即可将链接的代码轻松的移植到自己的毕设代码中,在后面的章节中,我会展示给各位同学看。(前提是毕设的主控MCU选用STM32F103C8T6)

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​   

第一章 DHT11温湿度传感器的使用_第3张图片

 

 

你可能感兴趣的:(单片机,stm32,物联网,mcu,iot)