
智能动态天气多彩桌面时钟
简介
一款非常适合桌面摆放的高颜值智能天气时钟!当然也很适合送给心仪的对象~
简介:一款非常适合桌面摆放的高颜值智能天气时钟!当然也很适合送给心仪的对象~开源协议
:GPL 3.0
描述
视频演示地址:https://www.bilibili.com/video/BV1k64y1q7ei?share_source=copy_web
固件资料(包含成品多角度图赏、3D打印模型文件、各种各种都在里面)自行下载
/************************************/
2022-1-5日志:
BUG修复:
1)1、2月份星期数多1的问题
新增:
1)夜间多云、少云图标
9-6日志
bug修复:
1)修复开机pcf可能不能正确同步日期时间问题
2)修复经纬度配置后再开机无法正确获取位置的问题
3)修复配置精确位置会导致wifi需要重新配置的问题
4)修复连接wifi情况下再配置到新wifi无法保存新wifi信息的问题
新增:
新增位置oled电量显示,3s和wifi信号强度图标进行切换一次
9-3日志
修复某些地区可能会存在网络位置获取失败的bug
资料包新增Arduino IDE的配置链接和JSON库,新增stc-isp工具
8-23日志
已知程序bug并修复:
1.忘了加每天自动更新日期显示
2.在数据更新期间会有RSSI显示刷新导致画面显示问题
3.wifi配置模式按返回键返回后未发生数据更改但是已经默认清除了上次连接的wifi信息,导致取消配置后重新开机无法重连。
新增:
1.地区配置时增加当前地区上级市级或省份输入框,防止区县名与其它城市重名而导致天气不对。
2.判定程序是否为第一次烧录,如果是则自动恢复出厂参数。
/**********************************************/
设备硬件概况:
1)采用ESP8266家族的ESP12F为主处理器,作为联网和数据获取等功能实现,采用一颗STC8G1K08作为副处理器驱动点阵。
2)点阵采用两种颜色的LED共23*2列8行,实现多种色彩的改变和色彩渐变。LED为冰蓝色和紫罗兰分别一半并且一个像素点一个颜色(具体看实物图即可),请务必注意!
3)集成环境光传感,自动调节oled和点阵屏的亮度。
4)集成RTC,断电断网时间依然可以正常运作数年。
5)集成CH340串口通信电路和ESP自动下载电路,可方便进行固件烧录。
6)集成单节3.7V锂电池充电管理电路,设备可插USB供电运行,也可电池供电运行。推荐USB+锂电二合一。
7)TYPE-C口为沉板1.6,不要买错
功耗:
不开启省电模式情况下平均功耗大约0.3864W
开启省电模式后平均功耗大约0.1512W
夜间关闭显示模式下平均功耗<=0.0798W
以上数据均为锂电池满电4.2V下测得,随着电压下降功耗会有一定小幅度的降低。
设备软件概况:
1)点阵屏)256级亮度自动调节。颜色两端渐变或固定颜色(11种)或1小时随机切换上述其中一种。数据更新动画,小数点类水柱动画。
2)OLED)256级亮度自动调节。全UI动画。动态实时天气图标显示。三级菜单按键(上下左右)交互。
3)网络和位置配置)WiFi在开机连接失败后会进行提示是否需要进行配置,三级菜单中也有对应的WiFi配置选项。位置信息给定三种模式:①全自动网络定位(精度较差,一般为市级)②经纬度方式进行定位(此方法最为精确,但是配置较为麻烦)③当前位置pinyin输入配置(如果当前位置不在数据库中将查询不到),上述配置方法均有提示,方式为手机连到设备所创建的热点后自动跳转至配置页面。
4)信息更新)天气和天气预报20分钟更新一次,时间一天同步一次。
5)数据存储)所有更改或配置的数据均自动存入内存,断电开机数据不会丢。
6)电池剩余电量高于4V将不会在LED点阵屏进行显示,以提升观感,led最右边一排将于电量低于4 V时开启电量指示
软件说明:
1)百度地图API账户,自行注册添加好WEB API的产品后把用户AK复制到IPLocation.h内替换 你的AK 这几个字,不要替换多了哟。(如果不需要网络ip获取位置功能可以跳过)
2)和风天气API账户,自行注册添加好产品后将KEY复制到Hweather.h内替换 你的KEY 这几个字。
3)关于库文件,Arduino IDE自行添加一个ArduinoJson库即可,其余库都是我自己写的都扔里面了。
4)每天的13:14分和17:20分会有全屏小心心出现~
操作说明
1)恢复出厂设置方法)关机后按住 按键下 再开机即可进入选项页面。
2)在桌面时)按右键进入菜单 按左键切换桌面和天气预报界面(如不主动切换回来则30S后自动切换回主界面) 按上键立即更新一次当前天气和天气预报数据 按下键立即切换一次点阵颜色模式(需开启led color的颜色随机)。
3)在菜单内时,左键一般为返回 右键一般为确认或切换状态。
4)烧录说明:
Esp12f烧录步骤
1.搭Arduino ide环境下的esp8266环境(自行百度)
2.选中esp12E1.0 module
3.按照资料包中图示配置参数
4.点击下载等待编译完成自动下载重启即可
Stc烧录步骤
1.解压资料包里面的stc isp压缩包
2.打开stc isp.exe
3.按照图示配置参数和按照提示接上usb转ttl
4.烧录程序(stc烧录需要软重启,简单的做法是把GND杜邦线拔了再插上即可)
注意事项
1)如果不长时间USB供电而采用锂电池的话,务必开启定时关闭和wifi省电模式,将大大降低功耗。
2)先烧录副处理器固件,否则ESP8266会占用STC的串口导致不能下载程序,如果已经给8266烧录了程序的也可对8266烧录一个空程序后再烧录副处理器。注意PCB上的接线,副处理器烧录时,预留排针接口,V接usb转串口的3.3V,T接RXD,R接TXD,G接GND,电源接错会击穿的哟!
3)按键焊接尽量往里面靠(也不能太过),自己根据自己打印的壳子精度取舍吧,不然不太好装进去。
4)368(好像)颗LED我用的优信电子的冰蓝色和紫罗兰,务必选VF(3.2V左右)接近的颜色的LED,不然会有亮暗差。灯一次性买,一定要确保是同一批次确保一致性,多买一点防止有一致性差的和焊接烫坏了。
5)板子一次画成,所以一些不足懒得去做第二版了,比如①检测是否USB插入电路没弄(不能自动切换省电模式和性能模式)。②RTC的中断引脚未连接到MCU,不能做定时唤醒,所以ESP不能进睡眠模式功耗不能进一步降低。③LED驱动采用595为恒压,对LED一致性要求太高,换成恒流驱动的话效果更棒。有能力有动力的可以在这几点上进行改进(当然8266的IO太少,自行优化)。
6)3D模型的打印文件我未作合并修复处理,打印的时候自行修复一下。不然一些地方会有撕裂哦。外壳厚度按照(103565 3000mah)的锂电进行的建模,所以比较厚,如只需要小容量电池的可以自行改小壳子厚度。
7)关于焊接)考验耐心和手艺的时候到了,冲!焊接LED建议温度200°,用低温焊锡。不要有虚焊哟。
8)元器件的选购一定要买正品哦,不要贪图小便宜买山寨来了可能问题多多。没渠道的推荐(优信电子)。电阻电容严格按照原理图的参数购买使用,不要存在侥幸认为差不多就行!(当然经验丰富的可以在某些地方用)。新手一定不要瞎用!
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | KEY_3*4*2贴片 | 1 | KEY_3*4贴片 | 1 |
2 | CR1220-2 | B1 | BAT-SMD_CR1220-2 | 1 |
3 | 10nF | C1,C16,C19 | CAP 0603 | 3 |
4 | 10uF | C2,C8,C10,C13,C15 | CAP 0603 | 5 |
5 | 100nF | C3,C4,C5,C6,C7,C11,C12 | CAP 0603 | 7 |

评论