本帖最后由 邦邦 于 2025-3-25 13:30 编辑
零.前言
夫人在新房子客厅装了一个指针式时钟,读一年级的小女儿和读二年级的儿子,跑过来问,这钟怎么看?现在几点了?时间准吗?几个问题把我们问晕了,不知如何回答。他们小时候在老家度过,装的是大大数码管时钟,爷爷早就教会了,指针式的还不会看。我挂到墙上后,左看看右睇睇,发现上下左右都有空白的时地方,会不会可以装好四位的数码管,来个数字、指针双显示?老家的数码管时间每个月都不准,要校正。新房子都有Wifi,直接联网对时,时间超准了,还不用校正。说干就做,ai-wb2-32s安信可搞活动时买10来个,直接用它来开发。
来个效果图
一.DIY思路
1.四位数码管需要12个IO,发现AI-WB2-32SKit包含上两个串口还不够,这可不能换更多引脚的芯片,直接找个数码管驱动芯片好了,在吃灰箱底下刚好找到BL1616芯版I2C控制,直接省下9个IO了;为了省空间及美观,把数码管第三位和第四位上下倒过来,显示时间的点及温度的点
2.想了想是不是把温度和记录温度也加上?看看一年的最低和最高温度,在吃灰箱底下又把DS18B20拉出来填上。
3.做好后,发现用上WiFI,数码管,发现电流超高,达1.2A,用两个颗18650锂电池都管不了几点,就算对时好后,关掉WiFi,晚上休眠关闭锂电池也不行,后来发现钟装在客厅天花下,天花装了灯条,直接接上变压器,用0.1铜丝引下DC12V电源,铜丝压降太历害,12V降到6~7V左右,肉眼不仔细看,看不到铜丝,完美解决供电。
二.框架图
三.编程开发
按一个功能块一个功能来写。
1.增加个按键IO08(长按、单击、双击、弹起)
2.FlashDB数据库用来存WIFI帐号和密码、BL1616亮度。
3.littlefs文件系统,存DS18B20记录。
4.DS18B20温度检测
5.增加BL1616数码管驱动
四.源代码
五.作品观赏
数码管时钟
一个人搞硬件、又搞软件,没多少空闲时间,都来不及完善,先提交占位,明天补充完成。未完还更新。
|