
#第九届立创电赛#风聚行掌中宝
简介
本工程是一款桌面简约温湿度计,也可显示日期和时间、调节呼吸灯速度。其用两节五号电池驱动,使用0.96寸OLED屏幕进行显示。使用蓝牙或串行收发数据和调整时间,是一款简单实用有趣的小摆件
简介:本工程是一款桌面简约温湿度计,也可显示日期和时间、调节呼吸灯速度。其用两节五号电池驱动,使用0.96寸OLED屏幕进行显示。使用蓝牙或串行收发数据和调整时间,是一款简单实用有趣的小摆件开源协议
:GPL 3.0
描述
* 1、项目功能介绍
本产品是一款桌面简约温湿度计,非常的小巧,可以灵活的作为摆件,解决了当代年轻人手机温湿度不准确的苦恼,可以更方便准确的获取到当前温湿度数据,进行补水和其他操作;此外,这款产品默认是测量温湿度,但预留了2个串口,一个做烧录口、一个可插蓝牙4.0模块。连接后,通过指令可以使用拓展功能:
1.呼吸灯速度调节,可以发送指令打开呼吸灯,并且调节其速度,让自己可以跟着呼吸灯的节奏获得内心的平静
2.定时器功能,最高可定时1小时,让自己在工作或者学校、玩耍时有一个小督导,让自己更好把握住时间
3.时间显示,可以发送一个初始时间,屏幕会根据当前时间进行累加和显示,当一个炫酷的屏幕时钟来用
4.模式切换,通过指令可以在以上模式来回切换,包括温湿度模式。切换时,原模式数据不会丢失,还可以单独启动和挂起定时和时间,非常的方便和贴心
总结:这是一个结合低功耗、多功能、高颜值、高灵活的温湿度测量仪
*2、项目属性
此项目是首次公开,之前并未在其他比赛或平台展示过,是基于立创训练营要求做出的puls版本。添加了定时、时显、呼吸灯等功能。本产品的特点是拓展功能丰富,且价格低廉:如果不用蓝牙模块的话大头就是主控芯片STC8A8K64D4、温湿度模块、0.96寸OLED屏幕,加上一些插件和电池约 35 元。可以说是一个物美价廉,颜值在线的小摆件了
* 3、开源协议
GPL3.0
1、你可以免费使用、复制、修改、分发受保护程序,但分发时一定要提供源码。
2、你可以收费。比如可以针对目标码、源码的分发收费,可以针对软件的维修保养(主要是提供技术支持,以下简称“维保”)收费;但不能收许可费、版税、专利许可费、授权费这类费用。
3、GPL程序的所有贡献者,自动免费提供了专利许可,承诺不会告人侵犯专利权(前提是你遵守了GPL)。
4、GPL程序允许别人破解。如果是用在消费类硬件上,要允许人修改并安装程序。
*4、硬件部分
产品MCU使用STC8A8K64D4;电源部分使用两节5号电池进行供电,也可通过烧录卡连接电脑进行供电和同通信;温湿度模块使用盛锐思品牌;显示使用0.96OLED屏幕;还有蓝牙4.0模块进行通信
*5、软件部分
1. 软件设计,我将各个功能和外设全都分成不同的源文件和头文件,提高代码的内聚性,降低耦合性
2. 使用 IIC 和OLED屏幕以及盛锐思温湿度传感器进行通信,这里用的是软件模拟,大家也可以更改为硬件通信
3. 使用了PWM加中断的方案来设计呼吸灯功能,并且使用定时器加中断来实现不同模式的非阻塞延时
4. 针对拓展功能,我用了很多标志位来进行功能的开启和中断,由于功能的延时是非阻塞延时,利用中断计数主程序轮询来实现
具体的细节可以查看附件里面的源码来查看,因为有很多资料都可以学习这些知识,所以我就不从原理开始介绍,我展示一下产品的工作模式和流程,以及通信协议
接口通信协议标准
编写
|
|
||
版本 |
V1.0.0.0 |
||
日期 |
2024-07-28 |
||
审核 |
|
||
日期 |
修改内容 |
版本记录 |
修改人 |
2024-07-28 |
创建文档 |
V1.0.0.0 |
魏十一 |
|
|
|
|
|
|
|
|
|
|
|
目录
基础配置
通信接口: 串口
波特率:9600
停止位:1位
数据位:8位
校验位:0位
通信机制
主机查询方式
主机按照一定的时间间隔向终端发送数据帧,终端接收到数据帧后返回应答帧,终端不主动上传数据,若主机在规定时间内未接受到规定的数据帧的应答数据帧,则重发数据帧直到终端返回应答数据帧。
正常通信时序
异常通信时序
数据帧格式
帧格式图
格式说明
名称 |
定义 |
长度 |
备注 |
head(帧头) |
固定为0xAA |
1 Bety |
|
length(长度) |
CMD +Data 的长度 |
1 Bety |
|
CMD(命令) |
表明数据帧的类型 |
1 Bety |
|
Data[N](数据) |
此帧数据区。 |
N Bety(N<200B) |
数据区长度可以为0 |
End(帧尾) |
固定为0xDD |
1 Bety |
|
备注:多字节数据低位在前。
指令定义
主机(手机蓝牙模块/串口助手)——>天知掌中宝
40、设置呼吸灯速度
length |
CMD |
Data |
0x02 |
0x40 |
具体见定义 |
参数数据区 |
功能 |
参考值 |
Data [0] |
加速度或者减速带 |
1:加一格 2:减一格 |
41、设置定时模式
length |
CMD |
Data |
0x03 |
0x41 |
具体见定义 |
参数数据区 |
功能 |
参考值 |
Data [0] |
定时的分钟数量 |
0 - 59 |
Data [1] |
定时的秒钟数量 |
0 - 59 |
42、显示时间
length |
CMD |
Data |
0x04 |
0x42 |
具体见定义 |
参数数据区 |
功能 |
参考值 |
Data [0] |
当前时钟 |
0 - 23 |
Data [1] |
当前分钟 |
0 - 59 |
Data [2] |
当前秒钟 |
0 - 59 |
43、切换其它模式(保留当前数据)
length |
CMD |
Data |
0x02 |
0x43 |
无 |
参数数据区 |
功能 |
参考值 |
Data [0] |
1 温湿度检测 2 定时模式 3 时间显示 4 暂停/恢复定时 5 暂停/恢复时显 |
1 - 5 |
再附上指令模版,让让更容易理解和上手
不同模式调试指令(注意,所有指令都是16进制形式进行发送)
模式40 设置呼吸灯速度 加1
AA 02 40 01 DD
模式40 设置呼吸灯速度 减1
AA 02 40 02 DD
模式41 设置定时模式(1分钟)
AA 03 41 01 03 DD
模式42显示时间 (11:00:00)
AA 04 42 0B 00 00 DD
模式43 切换其他模式 (温度)
AA 02 43 01 DD
模式43 切换其他模式 (定时)
AA 02 43 02 DD
模式43 切换其他模式 (时间)
AA 02 43 03 DD
模式43 暂停/恢复定时
AA 02 43 04 DD
模式43 暂停/恢复时显
AA 02 43 05 DD
*6、大赛LOGO验证
以下是实物图
* 7、演示您的项目并录制成视频上传
这里有复刻程序的烧录流程,因为本产品主控芯片是stc的,所以用stc的烧录软件进行烧录。视频链接在此
【复刻天知掌中宝-烧录流程】 https://www.bilibili.com/video/BV1VQv4e2EJY/?share_source=copy_web&vd_source=a6dfbeeca506f30e1619198ea57e0e2b
设计图

BOM


评论