
#第九届立创电赛#温湿度检测
简介
很高兴能参加“第九届立创电赛”的温湿度检测仪的训练营,通过立创训练营的学习,终于尝试自己做出了一个温湿度检测仪。
简介:很高兴能参加“第九届立创电赛”的温湿度检测仪的训练营,通过立创训练营的学习,终于尝试自己做出了一个温湿度检测仪。开源协议
:GPL 3.0
描述
* 1、项目功能介绍
本次训练营的桌面温湿度检测仪项目选用了STM32G030K6T6芯片作为主控芯片。该芯片基于Arm Cortex-M0+内核,最大主频可达64MHz,提供高性能和高效率的处理能力。
STM32G030K6T6芯片内置了32KB的Flash和8KB的SRAM,能够满足温湿度检测仪的存储需求。其供电电压范围在2.0V至3.6V之间,适应性广,支持多种电源方案。
使用STM32CubeMX软件可以进行基础代码的生成与配置,通过图形化界面操作,使得初学者也能快速上手并掌握芯片的使用。这款软件对新手小白非常友好,大大降低了开发的难度和门槛。
该温湿度检测仪能够实现高精度的温湿度测量,采用低功耗模式运行,从而有效节能省电,延长设备的使用时间。温湿度检测精确,响应迅速,是一款性能优越的桌面温湿度检测仪。
此次项目不仅展示了STM32G030K6T6芯片的强大功能,还通过实际操作让参与者深入理解温湿度检测仪的设计与实现,为今后的嵌入式开发打下坚实的基础。
*2、项目属性
本项目为首次公开,设计和实现是参考立创官方教程完成,尚未在其他比赛中参赛或获奖,本项目尚未在学校或其他场合进行过答辩。
* 3、开源协议
GLP3.0
*4、硬件部分
硬件部分使用的立创训练营官方的原理图,未做出修改
4-2主控电路:
主控MCU的供电通过L1的磁珠和C2的电容,达到滤波的目的,使MCU获得干净的电源,主控的外围引脚连接按照产品手册中的引脚定义进行使用,这里需要注意的是有专门功能的引脚要专门使用其功能,列如传感器的接入要使用I方C的功能,就要用带有I方C的功能引脚。这样可以方便后期的引脚使用。
4-3晶振电路:
晶振电路
使用32.768KHz的时钟晶振来给RTC提供计时,可以使温湿度检测仪有计时功能,方便后期的功能拓展。
2-4温湿度传感器电路:
温湿度传感器模块电路
本次项目的核心部件,使用SHT40温湿度传感器模块,SHT40是盛思锐生产的第四代,高精度,超低功耗的16位相对湿度和温度传感器,主要特性参数:相对湿度精度可以达到:±1.5%RH,温度精度可以达到:±0.1℃,平均的工作电流:0.4μA,空闲电流:80nA,工作范围:0-100%RH,-40-125℃,可以满足日常的温湿度测量需求。
SHT40温湿度模块
因为SHT40非常小,焊接难度很高,所以这里直接使用的本次大赛专供的SHT40模块,方便使用,这里需要特别注意的一点就是,SHT40温湿度模块的引脚和插座是要对应插上的,如果插反了的话,轻则影响温湿度模块的测量,重则烧毁模块!
4-5三态输出 8 位移位寄存器电路:
寄存器电路
为了点亮多个数码管这边选用了SN74HC595PWR寄存器来连接数码管进行显示,通过MCU的单个引脚就能实现对LED数码管的多个LED进行控制。这里需要注意的是,在后期焊接的时候如果数码管显示不全,或者显示有问题,那么大概率就是寄存器的引脚连锡或者没焊接好的问题,需要重新焊接并检查引脚焊接情况。
4-6唤醒按键电路:
唤醒按键电路
为了实现温湿度检测仪的低功耗,节能省电的长时间运行,使用专门的唤醒按键对其进行唤醒,这样可以在需要温湿度显示的时候唤醒,让其显示温湿度,在不需要的时候可以进入低功耗的待机状态。这里需要注意的是按键在布局的时候要放置在靠近板框边缘,这样方便按键的使用。
2-7测试LED电路:
测试LED电路
为了方便后期软件的调试,使用两颗LED来进行软件部分的代码调试使用测试。
4-8数码管电路:
数码管电路
数码管这边使用了两个0.28寸共阴极3位数码管,来分别显示温度和湿度,数码管LED的颜色有很多,可以根据自己的喜好选择。
4-9电池电量测量电路:
电池测量电路
通过对电池电压的采集,来测量电池的电压,可以为后期显示电量提供拓展功能,不过在电量测量的时候需要给MCU提供一个基准电压来供其比较测量电量,这边没有标准的基准来供其比较,所以电量的测量比较不准。如果需要准确的电量测量可以考虑更换自带基准电压ADC测量的MCU。
4-10电池电路:
电池电路
电池供电部分使用两节7号电池为整体系统供电,为了防止电池反接烧坏IO口,这边使用WST3401来实现防反接保护,保护芯片的IO口。
4-11调试接口:
调试下载接口
这边通过外接SWD下载调试接口实现对整体项目的软件调试部分。这里需要注意的是,为了方便后期外壳的安装,这个1X4p的排针可以不用焊接,用烧录器夹持下载烧录代码。
*5、软件部分
为了使温度和湿度的数值同时显示在数码管上,我们需要调整中断服务例程中的逻辑,以便每次中断都更新温度和湿度的显示,而不是交替显示。
在这个版本中,我做了以下更改:
这样修改后,温度和湿度的数值将每次中断时都显示在数码管上,而不会出现交替显示的情况。
同时可以修改数码管显示的持续时间,根据自己的喜好选择多久让数码管进入休眠模式。我这边设置的时间是数码管点亮5秒后进入休眠模式。
*6、BOM清单
*7、大赛LOGO验证
* 8、演示您的项目并录制成视频上传
演示视频在附件
设计图

BOM


评论