B站视频展示:[物联网辉光管时钟](https://b23.tv/gIcZlZN)
一、系统总体框架设计
本次设计的主要功能是,单片机通过涂鸦模组(WIFI模块)连接wifi获取本地的天气信息,并用来校准系统时钟。通过温湿度芯片SHT30获取周围环境的温度和湿度,并通过涂鸦模组上传至服务器。单片机处理内部RTC时钟产生的时间信息,通过
驱动芯片HV57708点亮辉光管显示时间信息。由一个1.3寸lcd彩屏显示天气信息以及设置等人机界面,并由三个触摸按键控制。
二、系统硬件设计
2.1
主控芯片
选用意法半导体的
STM32F103CBT6作为主控芯片。最初设计选用C8T6,后面由于字模、图片参数过多超过64k后改用CBT6,两款芯片除内存大小外没有任何区别(实际上内存也是一样的,只不过C8T6在出厂时后64k没有检测可能会出现问题)。实测可直接使用C8T6可以直接在KEIL中使用STlink下载并正常工作(我这里使用的来自立创商城的C8T6保证正品,tb的一些商家的就不清楚是否可行了)。
2.2驱动电路
辉光管驱动芯片选用的是HV57708,HV57708是一款可以承受高电压的串行输入转并行输出的驱动芯片,可完成4路输入转64路输出的功能。这里借鉴网友的抖机灵方案,已知HV57708电压最高支持90V,而辉光管维持最小电压要145V,这里使用一个75V的稳压二极管给HV57708输入一个75V的电压,当HV57708输出高电平75V时,辉光管管脚与阳极间电压为不到100V不能启辉,当HV57708输出低电平0V时,辉光管管脚与阳极间电压为170V,辉光管点亮。
2.3
电源模块
电源来自一个12V的
电源适配器,为满足其他器件使用,将12V使用DCDC芯片LM2596S-5.0稳压至5V再使用AMS1117稳压至3.3V,将12V使用MAX1771升压至170V。
2.4WIFI模组
WIFI模组使用涂鸦智能IOT的wb3s模组,使用UART连接至单片机。
2.6温湿度模块
温湿度模块采用sht30.使用IIC与单片机连接。
2.7EEPROM
由于一些数据需要断电保存,所以该项目中使用AT24C02通过IIC与单片机连接存储数据。
三、系统软件设计
(这是一个很悲痛的消息,8月25日在计划开始写软件设计部分,发现在整理资料时把最后的代码工程给删掉了,近两周工作白费。硬盘有价,数据无价!!!!!!!)
```
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2: 2位抢占优先级,2位响应优先级
My_Init();//系统初始化
while(1)
{
wifi_uart_service();//涂鸦模组数据处理
}
}
void TIM2_IRQHandler(void)//定时器2中断服务程序
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
key_control();//按键控制函数
working();//控制函数
Atmosphere_Scan();//氛围灯刷新
TIM_ClearITPendingBit(TIM2, TIM_IT_Update );
}
}
void TIM3_IRQHandler(void)//定时器3中断服务程序
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
LCD_Scan();//屏幕刷新
HGG_Display();//辉光管显示
TIM_ClearITPendingBit(TIM3, TIM_IT_Update );
}
}
```
如上方代码所示,系统工作分三部分,分别是主循环、20ms定时器2与100ms定时器3。在主循环中处理涂鸦模组串口接收到的数据;定时器2中执行要求速度快且不易堵塞的函数,如按键、控制及辉光管刷新函数;定时器3中执行速度不需要那么快,但有像刷屏的函数,会短时间堵塞。所以在优先级上定时器2>定时器3>主循环。
对于各函数是如何完成相应工作可以下载代码工程来看,注释很清楚。
四、外壳设计
外壳使用soilworks绘制,源文件和STL文件都放在了附件模型中,可对源文件进行修改或者直接使用STL文件打印,项目实物是在三维猴打印的,小一些的孔径实测是可以正常使用的。装配可以看b站的视频,有一个拆的画面。
五、功能实现与结果
正常显示状态:
![下载 (3).jpg]
非辉光管显示时间段:
![下载 (1).jpg]
显示天气:
![下载 (2).jpg]
配置界面:
![下载.jpg]
**开源的设计图中有屏幕面板,使用嘉立创面板打印,作为设计的前盖板,设计图中尺寸以实测没有问题,可以修改成你喜欢的图案。下单链接:[立创商城面板打印](https://dos.szlcsc.com/)。**
**下单参数选择:**
打印材料: 黑色半透明
打印方式:正面
材料厚度:1mm
材料尺寸:200×300mm
3M背胶:需要
光线遮挡程度,常规和强遮光都可以
面板打印效果:
![IMG_20221025_130541.jpg]