本demo需要的硬件:GD32L233C-START评估板,OLED显示屏,AHT25温湿度传感器:
SPI接口OLED显示屏
IIC接口AHT25温湿度传感器
主要实现功能:通过OLED显示屏,采集到的温湿度数据实时显示,读取RTC时间显示,低功耗休眠,按键按下显示1秒钟,不按一直处于休眠状态。
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点屏接口:
OLE的初始化:
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读写函数:
AHT25读取转换结果接口:
时间显示,需要在第一次上电需要配置RTC时间,写入标志,只要后备电不断,每次进入待机模式,唤醒重启,都无需在重新配置,由于评测板子用户按键比较少,所以这里通过串口来配置初始时间,实际使用可以自己加按键操作。
每次通过按键唤醒,间隔500毫秒采集一次数据并显示,共采集2次,然后进入休眠,做到需要观看才显示,不看时一直保持着低功耗的状态,单片机功耗怎么低一节小电池都可以工作很长时间。
唤醒显示内容:标题,时间,温度,湿度。
用杜邦线对应IO接好线后:
界面显示内容
完整测试视频:
注意:第一次上电需要先设置RTC时间,才会继续执行,设置后不断电无需在设置。
本demo利用GD32L233单片机,自带外设功能,完成一个简易温湿度采集显示器,重点是利用低功耗功能实现应用。
当然这只是一个简单的应用,针对特定应用场景,比如农业大棚温室中应用,方便用户查看当前温湿度情况及时间等,平时不用需要时候才看一下,按需工作显示,早上观察一次,下午观察一次,或者定时观察等,然后只能电池供电方便,这就需要用到低功耗产品,本单片机的待机功耗是完全能够满足的。
实际使用中大家可以根据情况发挥,例如可以加定时记录功能,通过串口或者其他工具,可以方便导出数据,供环境数据分析,也可以加一些温湿度超阈值报警提示等功能。
最后上传测试代码,需放到及替换标准固件库目录下文件夹
本帖最后由 hl23889909 于 2022-4-17 09:03 编辑
做得很成功了,spi 硬件没有成功,有没有用逻辑分析仪,或者示波器抓一下时序图列?