[GD32L233C-START 评测] 【GD32L233C-START评测】五 简易温湿度显示器

hl23889909   2022-4-17 09:03 楼主

  •        
  • 概述


  •  

 

 

本demo需要的硬件:GD32L233C-START评估板,OLED显示屏,AHT25温湿度传感器:

 

 

 

 

image-20220417010727-1.png  

 

 

 

 

SPI接口OLED显示屏

 

 

 

 

image-20220417010727-2.png  

 

 

 

 

IIC接口AHT25温湿度传感器

 

 

 

 

image-20220417010727-3.png  

 

 

 

 

主要实现功能:通过OLED显示屏,采集到的温湿度数据实时显示,读取RTC时间显示,低功耗休眠,按键按下显示1秒钟,不按一直处于休眠状态。

 

 

 

 

 

 

 

 

 


  •        
  • OLED显示屏驱动


  •  

 

 

 

 

OLED显示单元能自动发光,无需背光,有多种驱动接口方式,我这里选择的是SPI接口的,接口定义及接上对应板子的GPIO上:

 

 

 

 

GND:电源地                    àGND

 

 

 

 

VCC:电源正3~5V            à3.3V

 

 

 

 

D0:SPI时钟线CLK         àPB13

 

 

 

 

D1:SPI数据线MOSI         àPB15

 

 

 

 

RES:复位                          àPB1

 

 

 

 

DC:SPI数据/命令选择      àPB0

 

 

 

 

CS:SPI片选、低电平有效 àPB12

 

 

 

 

SPI点屏接口:

 

 

 

 

image-20220417010727-4.png  

 

 

 

 

OLE的初始化:

 

 

 

 

image-20220417010727-5.png  

 

 

 

 

PS:这里我选择SPI接口,目的是想测试下这个单片机的SPI接口的,但是我调了两个晚上,集成SPI就是点不亮,配置各个参数,时间关系,最后换成了模拟SPI方式~尴尬!

 

 

 

 


  •        
  • 温湿度传感器驱动


  •  

 

 

 

 

为了测试方便我买了个AHT25集成式温湿度传感器,I2C接口,看的时候以为是2.54排针,我用杜邦线接到开发板就好,回来才发现它是那么的迷你,1.0的排针,然后自己手动焊线出来,接口定义及接上对应板子的GPIO上:

 

 

 

 

1,VDD:电源正(2.2-5.5V)  à3.3V

 

 

 

 

2,SDA:串行数据                   àPB11

 

 

 

 

3,GND:电源地                      àGND

 

 

 

 

4,SCL:串行时钟                    àPB10

 

 

 

 

I2C读写函数:

 

 

 

 

image-20220417010727-6.png  

 

 

 

 

image-20220417010727-7.png  

 

 

 

 

AHT25读取转换结果接口:

 

 

 

 

image-20220417010727-8.png  

 

 

 

 


  •        
  • 测试


  •  

 

 

 

 

时间显示,需要在第一次上电需要配置RTC时间,写入标志,只要后备电不断,每次进入待机模式,唤醒重启,都无需在重新配置,由于评测板子用户按键比较少,所以这里通过串口来配置初始时间,实际使用可以自己加按键操作。

 

 

 

 

每次通过按键唤醒,间隔500毫秒采集一次数据并显示,共采集2次,然后进入休眠,做到需要观看才显示,不看时一直保持着低功耗的状态,单片机功耗怎么低一节小电池都可以工作很长时间。

 

 

 

 

唤醒显示内容:标题,时间,温度,湿度。

 

 

 

 

用杜邦线对应IO接好线后:

 

 

 

 

image-20220417010727-9.png  

 

 

 

 

界面显示内容

 

 

 

 

image-20220417010727-10.png  

 

 

 

 

完整测试视频:

 

 

 

 



 

 

 

 

 

注意:第一次上电需要先设置RTC时间,才会继续执行,设置后不断电无需在设置。

 

 

 

 


  •        
  • 总结


  •  

 

 

 

 

本demo利用GD32L233单片机,自带外设功能,完成一个简易温湿度采集显示器,重点是利用低功耗功能实现应用。

 

 

 

 

当然这只是一个简单的应用,针对特定应用场景,比如农业大棚温室中应用,方便用户查看当前温湿度情况及时间等,平时不用需要时候才看一下,按需工作显示,早上观察一次,下午观察一次,或者定时观察等,然后只能电池供电方便,这就需要用到低功耗产品,本单片机的待机功耗是完全能够满足的。

 

 

 

 

实际使用中大家可以根据情况发挥,例如可以加定时记录功能,通过串口或者其他工具,可以方便导出数据,供环境数据分析,也可以加一些温湿度超阈值报警提示等功能。

 

 

 

最后上传测试代码,需放到及替换标准固件库目录下文件夹

GD32L23x.zip (1.72 MB)
(下载次数: 26, 2022-4-17 07:21 上传)

 

image.png  

 

 

本帖最后由 hl23889909 于 2022-4-17 09:03 编辑

回复评论 (1)

做得很成功了,spi 硬件没有成功,有没有用逻辑分析仪,或者示波器抓一下时序图列?

点赞  2022-4-17 09:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复