站内搜索
发作品签到
专业版

#第九届立创电赛#温湿时间同步桌面摆件

工程标签

374
0
0
0

简介

STM32 RTC时钟+ESP01S联网同步北京时间,检测室内温湿度(硬件IIC),数码管显示。 单片机型号:STM32G030K6T6 移位芯片型号:74HC595

简介:STM32 RTC时钟+ESP01S联网同步北京时间,检测室内温湿度(硬件IIC),数码管显示。 单片机型号:STM32G030K6T6 移位芯片型号:74HC595
第九届立创电子设计开源大赛

开源协议

Public Domain

创建时间:2024-07-05 20:12:32更新时间:2024-07-30 16:45:58

描述

1、介绍

参加第九届立创电赛设计,在官网基础(2*3位数码管显示温湿度)上增加ESP01S联网获取时间,加两个数码管(一共四个)显示时间。提示:优于四个数码管+移位芯片引脚数量很大,所以这次使用的STM32芯片的引脚已经全部使用完了,一个空余的引脚都没有了。

 

桌面小摆件:使用瑞士盛思锐SHT40作为温湿度传感器,精准采集室内外温湿度相对湿度精度:±1.5 %RH,温度精度: ±0.1 °C ,温度测量范围:-40~125℃;实时显示时间,一键联网同步北京时间;两节5号电池(3V左右)供电;

 

小体积:46mm×52mm,可使用嘉立创免费打板。

 

学习知识:  使用 IIC通信获取传感器数据;一键ESP8266-01S连接WiFi获取云数据;串口通信数据处理;使用移位芯片控制显示数码管;STM32RTC时钟;

 

低成本设计:免费打板+低成本芯片+数码管显示,成本可控制在30元左右,ESP8266-01S可重复使用。

 

2、硬件

2.1 电源部分

简单两节5号电池供电+防反接电路,不需要任何电压转换就能工作,

 

2.2 数码管显示

共阴极数码管;移位芯片型号:74HC595
引脚分配:三个移位芯片控制两个三位数码管。
 

2.3 STM32电路

2.3.1 晶振电路

使用32768晶振为RTC提供更精确的时间计算。

注意:PCB布局时,晶振靠近STM32芯片,晶振电容靠近晶振!!!

2.3.2 唤醒按键

添加一个按键(没有加硬件防抖,使用的软件消抖),端口为PB5,具体作用如下:
 
短按:更新获取温湿度
双击:改变数码管闪烁样式(默认是横杠闪烁,可切换为8字流动或其他样式,在seg.c文件里的数组sgh_value[]中添加切换,记得要在中断程序中设置shan_i的上限),如下图所示
长按:启动ESP01S联网获取实时时间,更新RTC
 
数码管闪烁样式数组图:
 

2.3.3 LED电路

简单LED点亮电路,用于指示状态,使用端口为PA0,低电平点亮。作用:ESP01S联网获取时间期间-亮,正常工作下/联网结束后-灭
 

2.3.4 SWD下载电路

使用的市面上常见的STLink下载调试

 

2.4 ESP8266-01S

型号:ESP8266-01S
串口:uart1
波特率:115200
说明:正常情况下不工作,节省功耗。每次启动重新设置参数和联网获取时间。
引脚分配:硬件没啥难度,TXD对RXD,RXD对TXD,再加一个RST重启引脚(上拉)用于软件重启芯片。
注意事项:PCB中,ESP8266下面尽量不要走线,避免影响信号。这个PCB中走了几根电源线,但是实测没有影响运行,一键联网莫得问题。
 

2.5 SHT40温湿度电路

注意事项:SCL和SDA引脚使用4.7k电阻上拉,模块下尽量不要走线。
 

3、软件

部分软件代码参考官方项目文档,关于原理、CubeMX的配置和软件编写文档写的很详细。关于新添加的功能,CubeMX文件和keil程序开放在附件,可下载查看。

3.1 数码管

把官方的数码管+移位芯片在Copy一遍,就是该设计的数码管显示引脚配置了,CubeMX配置图如下:

3.2 ESP8266-01S

简介:ESP-01S是一款基于ESP8266芯片的WiFi模块,ESP8266-01S,简称ESP-01s,串口通讯。该 WIFI 模块支持 STA/AP/STA+AP 工作模式,该设计使用 station模式,测试时连接手机热点,进而联网获取实时时间。ESP入门教程参考文档: esp8266_start_guide_1_.pdf (ai-thinker.com)

 

第一步:拿到WiFi模块后第一件事就是刷固件(就是把编写好的文件烧录进去,这样esp-01s 就可以以烧录的固件编写的工作方式运行了),固件烧录地址和教程网上有很多案例,不难,此处不再演示。固件参考网站:AT固件汇总 | 安信可科技 (ai-thinker.com)

第二部:使用AT指令(AT指令是一种物联网中常用的工作指令,就像是人类的语言一样,可以让两个设备之间进行一对一的通信)尝试配置工作状态。该设计使用到的主要AT指令如下

第三步:联网成功后,使用“AT+CIPSEND”向网站发送数据包,以获取时间信息。

IP地址为:“api.k780.com”

端口号为:“80”

发送数据包格式为:"http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"

第四步:根据测试成功的AT指令尝试编写对应的单片机软件

 

软件配置:CubeMX配置UART1,波特率115200,数据位7,停止位1。

程序中已添加注释,可下载代码自行查看。

 

4、参考

  • esp01s.c 文件参考网站:https://blog.csdn.net/lwb450921/article/details/128594900    
  • sscanf函数参考网站:https://www.cnblogs.com/polebug/p/3502565.html
  • 官方文档:8-综合案例 (yuque.com)

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
SHT40 - 硬件IIC.zip
1
2
无标题视频——使用Clipchamp制作 (1).mp4
0
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航