STM32版Gokit零基础开发之驱动单总线设备DHT11温湿度传感器
本文主要内容是使用STM32CubeMX配置GPIO,从而驱动Gokit2上的数字温湿度传感器DHT11。一、DHT11简介
DHT11是一款有已校准数字信号输出的温湿度传感器。 精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。
http://club.gizwits.com/data/attachment/forum/201611/09/181409l3fu3a3gf2wuaa8x.png
http://club.gizwits.com/data/attachment/forum/201611/09/181744pyhryj2hrjh55y28.jpg
DHT11引脚说明
Pin 名称 注释
1 VDD 供电 3-5.5VDC
2 DATA 串行数据,单总线
3 NC 空脚,请悬空
4 GND 接地,电源负极
二、STM32CubeMX的配置
http://club.gizwits.com/data/attachment/forum/201611/09/182046igdmimt4cmm6ghym.png
http://club.gizwits.com/data/attachment/forum/201611/09/182049tqiss4pl2li24iju.png
根据Gokit2原理图,DHT11与MCU的引脚PB3连接。
STM32CubeMX的配置十分简单,我们只需将PB3配置为推免输出,后面再程序中再修改,这里还配置了串口1方便打印调试信息,底板红色LED1。
http://club.gizwits.com/data/attachment/forum/201611/09/182331k25us4oc4t0d50kd.png
生成工程后,我们在机智云官网下载微信宠物屋源码,拷贝里面的温湿度传感器驱动Hal_temp_hum.h和Hal_temp_hum.c到我们的工程目录,并添加,接下来在此基础上修改;
主要是Hal_temp_hum.h和Hal_temp_hum.c里面的API,这里修改GPIO输出高低电平为HAL API;
http://club.gizwits.com/data/attachment/forum/201611/09/182825h5sjyyj4nnerxe5n.png
把GPIO方向的宏定义用函数的形式实现,输出为推免输出,输入为上拉输入;
http://club.gizwits.com/data/attachment/forum/201611/09/183034yugn0k0di3ukduzj.png
us延时函数自己实现一下,这里的us延时并不精确,实际需要根据系统时钟调整;
http://club.gizwits.com/data/attachment/forum/201611/09/183206t0t6t7hyvhp6sp95.png
用HAL的ms级延时API替换原来的;
http://club.gizwits.com/data/attachment/forum/201611/09/183334hjza2fdoq8d2dfbh.png
最后在主函数里面编写测试代码:
http://club.gizwits.com/data/attachment/forum/201611/09/183537y8ii2iih7585eiza.png
一切OK后,打开串口调试助手:
http://club.gizwits.com/data/attachment/forum/201611/09/183649nugpjxlpftpfj1cc.png
资料下载:
1.STM32CubeMX配置报表:
http://club.gizwits.com/static/image/filetype/pdf.gif GokitDemoDHT11.pdf (129.46 KB, 下载次数: 0)
2.完整工程文件:
http://club.gizwits.com/static/image/filetype/zip.gif GokitDemoDHT11.zip (9.06 MB, 下载次数: 0)
3.DHT11数据手册:
http://club.gizwits.com/static/image/filetype/pdf.gif DHT11中文说明书.pdf (608.73 KB, 下载次数: 0)
本文转自http://club.gizwits.com/thread-3993-1-1.html
谢谢分享
页:
[1]