切换到宽版
  • 5792阅读
  • 35回复

[STM]新鲜出炉制作,自动授时彩色LED128*64屏天气万年历时钟,开源。 [复制链接]

上一主题 下一主题
离线落叶风
 

发帖
1367
M币
1541
专家
214
粉丝
19560
新版讨论地址:https://www.mydigit.cn/forum.php?mod=viewthread&tid=7504

     前些时间无意中发现P3室内全彩LED屏模块价不高,就花120元买了2片64*64,32扫,这价格比我以前买双色二手屏还低。由于家里的时钟还是多年前买的LED数码时钟,它的年份是到2020年就没法再向上显示,所以需买新的,所以就有这个制作。
     本时钟为了方便知道天气情况,及使时钟的时间准确,所以本时钟有WIFI模块,能自动授时及实时天气显示,以及农历、24节气、天干地支、温湿度等。本制作是单片机采用STM32F103RBT6,时钟芯片用DS3231,WIFI模块用ESP8266,储存用25Q16。ESP8266的编程是采用arduino来编写的,由于它串口输出中文编码是UTF-8,本制作显示字库编码GB2312,所以需转换,转换是采用查表法的,所以25Q16是存有16*16的GB2312字库及16*8的ASII字库及UTF-8转GB2312的表。
    以下为LED全彩显示屏,64*64,1/32扫,HUB75E接口。刚回来时没摄相片,焊了电源线及增加了电容才摄相,如下,板有上有24片DP5020,8片SM5166,2片74HC245及1片74HC04组成。







先制作一片测试板,用热转印法做,由于长期使用的,所以验证成功后再去工厂打样,PCB如下:


以下为用电脑电源及测试板连接LED屏进行程序编写。




    以下为制作过程测试电流的情况。由于程序还没做亮度控制,所以是电流值是最大亮度的工作电流值,从不同颜色显示来看,红绿蓝三色电流最大为红色,最少为蓝色,如组合起来,白色电流为最大。但实测工作电流最大在2A内,即总功率大约在10W内,如改变一下亮度,电流还会更少,所以本时钟功率不算。全白色,由于是红绿蓝一起亮,电流最大,1.7A。


多种颜色工作电流。




本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+30
yht0816zdl M币 +30 原創內容 02-01
离线落叶风

发帖
1367
M币
1541
专家
214
粉丝
19560
只看该作者 1楼 发表于: 02-01
测试过没大问题后,就去工厂打样,以下为打样回来的板。

本制作原设计是用塑料来制作外壳的,但由于材料不够,改为用铁板做外壳,WIFI模块是安装在电路板上的,所以可能会出现接收困难,看实际校果,如接收困难就外接天线或把模块装在壳外。由于制外壳的图片不多,只有一张,制作好后喷黑漆。

由于上面电流检测发现电流不大,所以采用12V2A的华为电源供电,通过5A5V的电源模块降压供本电路,电路板设计成可以安装5A模块KIM055,也可以
安装10A的模块,KIM055已做改动,可以12V供电的。以下是两种模块。

以下为装好元件的板,由于电路设计LED显示oe脚是用PA6控制,但在实际应用中发现受读写25Q16时影响,出现屏不同颜色有飞点,经测试后改为PC10就正常,所以需在电路板断开原铜线,再用飞线连接到PC10。


以下成品外观。



感光电阻及温湿度检测,温湿度用HTU21。

以下为背面,背面这样设计主要是不想电源插头外露。

内部图。




以下为最次对本制作实际功率进行测试,用北电功率计,以下全白最暗的功率

以下全白最亮的功率

以下为全蓝最暗及最亮的功率,全蓝功率最小。


正常设置的功率。


总的来说,以上功率不算大。

[ 此帖被落叶风在2019-02-01 12:45重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线落叶风

发帖
1367
M币
1541
专家
214
粉丝
19560
只看该作者 2楼 发表于: 02-01
以下为工作界面
时钟显示页,最上行为日期及星期,第二行为时间,采用12小时制显示,最后行有三种显示方式,如启用显示天气,就采用向左飞字方式显示,如下。

如设置为不启用显示天气,且设置为显示温湿度,就采用分页显示,一页显农历,一页显温湿度。


如只显温度农历,就如下。


以下为设置页界面,共有4页,
以下为显示颜色及字体设置,时钟的字体可以选择数字及数码体,各显示颜色选择共有7种:1红,2绿,3黄,4蓝,5紫,6青,7白

以下为温湿度及亮度设置,显示方式用温湿度加农历(分页显示)及只显温度加农历,对于换页速度是用于温湿度加农历显示分页用,亮度共有6档,分别为自动,1-5。

以下关显示设置,这个主要作用是晚上关灯后,关显示用的,可以设置关显示的时间段,设置关显示的亮度值,如设置为0,就等于不启用本功能。

以下为授时及天气设置,可以启用或关闭,后面的英文言是用于显示自动授时及天气接收的情况,OK表示正常,ERR表示有错。最后行为走字速度。

以下为节日节气显示



以下为天气显示的校果,走字方式。







以下为天气初始化时的显示,故障的显示没摄。


以下在第二行字最后角的E字表示当前处于授时状态且授时数据出错显示。

以下为正在使用中。



[ 此帖被落叶风在2019-02-01 16:06重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线落叶风

发帖
1367
M币
1541
专家
214
粉丝
19560
只看该作者 3楼 发表于: 02-01
     本制作共有7个程序,其中1个主程序,是本制作的程序;5个用于写入25Q16的程序,其中4个是gb2312及ASII字库,1个是utf8转gb2312表程序;还有一个用ESP8266的arduino程序。

    WIFI模块ESP8266接收天气时间用arduino程序编写,arduino程序它的示例做得好,容易快速上手,用AiThinker_IDE上手没法快,本制作通过ESP8266读天气及时间程序就是用arduino程序里的示例改的,它就是下图的示例改动的,就是在它的基础上增加字符串处理,把收到的网站数据重新整理比较简单的字符串,

    由于是个人应用,没做APP用于修改接收WIFI等参数,所以参数需根据各人的实际情况进行修改,以下为需修改的东西。
1,需要修改的WIFI的参数,如下图,把自己的WIFI参数写入剪头所指的地方。

2,修改接收那里的天气,如下图是接收广州的天气设置。在输入以下网站,然后在地址上的广州那个地址改为需接收的地址。

刷新一下,看看收到的天气是不是新地址,如是就复制连接,把它复制到以下图中剪头处,再上传到ESP8266就行了。

然后打开Arduino串口监视器,就可以看到以下格式的数据。[Timetianqi1]及[Timetianqi2]这两个数据就是天气及时间数据了,时间网站及天气网站是在网上找的,天气网站每天免费用户只有几十次读取,所以本程序是每5S读一次时间,每30分读一次天气。如坛友有更好的天气网站,不用注册的,请提供一下。

    25Q16里保存的是字库数据及字库编码转换表,数据需事先写入,它与本人的土办法制作字库操作一样http://bbs.mydigit.cn/read.php?tid=2352395的操作一样,原理做法也是一样,分别用本板写入4个字库程序及转换程序,运行一下就行了,指示灯闪烁就行了。
   arduino编写串口输出的中文编码是utf8,本制作显示字库是gb2312的,所以需要转换,由于找不到单片机用的转换程序,不清楚gb2312与utf8转换规律,所以就采用查表法,上网找了份utf8的中文编码表,但它是没有标点符号的,所以标点符号需另外处理,由于天气数据中文标点符号不多,所以也不难处理,由于网上找的表格式不是单片机程序的格式,如用人工转,那就头晕了,所以用易语言写个小程序,把表转成单片机用的格式,如下图。

转换完成后,把表中的数据导入STM32编码转换程序,写入本制作,然后运行一下,注意,由于写入25Q16是一个地址一个数据写入,不是一组数据写入,所以速度不快,需等10多秒,等板上的批示灯闪烁,查一下串口输出,就完成转换表的写入。
      本制作utf8转gb2312原理如下:由于utf8是三个字节的,utf8中文字表(符号除外)最高字节它的值是从0XE4-0XE9,即范围只有6个,由于gb2312是二个字节的,25Q16是最大地址为0X1FFFFF,所以从0X100000地址开始存gb2312高位字节,0X180000地址开始存gb2312低位字节,utf8的高位字节减0XD4,即把它的编码人为改成从0X100000开始,保存相对应的gb2312编码就行了。转换时就先判断有没在0XE4-0XE9,如在就减0XD4,就可以找到对应的gb2312编码了,几个符号直接判断就行了。
    本制作的电路图及程序在以下压缩包内,电路图中显示OE脚需改成PC10脚(电路没改动)。由于程序刚完成,可能有BUG,日后使用过程中再修改,仅供参考。





[ 此帖被落叶风在2019-02-01 16:02重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共10条打赏M币+166专家+1
我爱苹果 M币 +15 優秀文章 昨天 12:26
维超 M币 +20 高手!为楼主的开源分享点赞! 02-18
love香 M币 +8 以資鼓勵以資鼓勵 02-04
luly8818 M币 +8 原創內容 02-03
cdma2 M币 +30 原創內容 02-02
zhuqing-1920 专家 +1 優秀文章 02-02
zhuqing-1920 M币 +20 優秀文章 02-02
stdzlqz M币 +20 優秀文章 02-01
jjbboox M币 +15 優秀文章 02-01
ifix168 M币 +30 原創內容 02-01
离线yht0816zdl

发帖
272
M币
243
专家
2
粉丝
12
只看该作者 4楼 发表于: 02-01
好东西,占楼
在线bluexiaoyu

发帖
2151
M币
2317
专家
11
粉丝
33
只看该作者 5楼 发表于: 02-01
有时候这种p3 p4 太刺眼,led发光点太小了,就没有匀光罩一类的点亮时候能满坑满谷的那种么?
离线xixi2006

发帖
281
M币
2165
专家
0
粉丝
17
只看该作者 6楼 发表于: 02-01
好东西,做的漂亮,帮顶下!
离线wangshaoqing

发帖
171
M币
878
专家
1
粉丝
7
只看该作者 7楼 发表于: 02-01
漂亮,有种成品的感觉
离线ifix168

发帖
73
M币
3531
专家
0
粉丝
2
只看该作者 8楼 发表于: 02-01
不错,很详细的制作贴。
离线fryefryefrye

发帖
1290
M币
802
专家
4
粉丝
27
只看该作者 9楼 发表于: 02-01
楼主这个比我的漂亮多了,我这个才128*32的分辨率的单色。两块拼起来的,也要60多元。天气用两个16*16的汉字已经是极限了。

不过走字显示信息的方式,我不喜欢,不能做到抬头看一眼就搞定。我做这个钟,就是为了抬头看就能知道天气,而不要去解锁手机,打开XX软件来看。

本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限