数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 16078|回复: 102

[Arduino] 256*64双ESP8266点阵时钟制作 支持微信开关

    [复制链接]
发表于 2020-2-15 18:14:35 | 显示全部楼层
水表君 发表于 2020-1-29 17:49
哈哈,一直没有买,而且ESP32好贵

淘宝ESP32开发板,有人卖60,有人卖15。我买了15元的,没问题。买东西多搜搜就行了。

15元一个如果能搞定的话,比你两个ESP8266便宜。
回复 支持 反对

使用道具 举报

发表于 2020-2-15 18:25:59 | 显示全部楼层
本帖最后由 fryefryefrye 于 2020-2-15 18:36 编辑
ploestar 发表于 2020-1-31 22:41
看人用245和595扩展,点过8块屏,理论可以更多

这个屏的通信接口,本身就是可以无限级联的。
只是级联的越多,每次扫描需要串行输出的数据越多,耗时增大,会导致刷新率越低。
而且主控器的显存可能不够用。
回复 支持 反对

使用道具 举报

发表于 2020-2-25 14:35:51 | 显示全部楼层
你那个字模文件,里面好像有很多空位,是不是浪费空间了啊?
如果把空位都去掉,再另作一个转换表,是不是能够更省空间呢?
这种东西,难道就找不到一个现成的。我之前做的一个要显示汉字的,也是没啥办法,最后只能把用到的10多个汉字的编码用软件取出来,放到代码里面。用自己定义的顺序码去查找汉字。
回复 支持 反对

使用道具 举报

发表于 2020-2-29 16:01:07 | 显示全部楼层
本帖最后由 fryefryefrye 于 2020-2-29 16:05 编辑
水表君 发表于 2020-2-25 15:39
这是UTF8编码决定的,我也不想有空位,但是要使用的汉字太多,如果那样自己编码的话更费事,不如这样搞, ...

但是你的数据储存方式太浪费空间了,你把每个空位也占用了32字节的空间。

我花了点时间,把Unicode到GBK码的转换表搞出来。虽然网上也能下载到,但都是要登录扣积分的那种,还不如自己动手做做试试看了。
https://github.com/fryefryefrye/ ... _gb/UnicodeGbkMap.h
其中包括
0X4E00到0X9FA0之间的常用汉字。
0xFF01到0xFF5F之间的常用全角标点。

按照Unicode码顺序排列, 每一个Unicode码使用2字节储存对应的GBK码。

另外还有个网上常见的GB2312所有汉字的16*16点阵字库。
https://github.com/fryefryefrye/ ... led_unit_gb/hzk16.h

另外写了一些函数,
https://github.com/fryefryefrye/ ... it_gb/LedUnitChat.h
1:UTF-8的3个字节转换成Unicode码
2:Unicode码转换成GBK码
3:GBK码转换成在16*16字库里面的偏移量
4:另外ACSII的8*16点阵字库也放在里面了。


反正用了这种方式储存之后,ESP8266可以用OTA的方式更新程序了。而且我也没像你那样用双CPU,就一个ESP8266,即作屏幕扫描,也做数据处理,效果还是不错的。
回复 支持 反对

使用道具 举报

发表于 2020-2-29 16:28:13 | 显示全部楼层
我很早就在玩这个点阵屏的,喜欢挂在墙上,抬头就能看到天气预报,而不是掏出手机,一番操作之后才能看到。
不过当年还没了解ESP8266,还是用的有好几十个IO口的Mega2560 Arduino驱动的。
后来开始用8266之后,觉得这货IO口太少了,也没有详细的去看,一直以为不能直接驱动点整屏。
经过你的分享,我也搞定了用ESP8266驱动LED单元显示板了。

不过我发生了一个问题,我用的是那种Mini板子的ESP8266, 淘宝一般名为:“ESP8266 D1”的板子,在这个板子上并没有GPIO9 和 GPIO10, 但是在8266模块上是有的,我就把这两根线焊出来。

不过就算焊出来,也不能用,设置这两个端口为输出模式的时候,程序就崩溃了,所以我也没搞定双色显示,现在只能单色显示。
回复 支持 反对

使用道具 举报

发表于 2020-2-29 19:40:04 | 显示全部楼层
本帖最后由 fryefryefrye 于 2020-2-29 19:43 编辑
水表君 发表于 2020-2-29 18:48
我最早玩点阵还是用51,随着玩的越来越大,扫描屏幕明显吃力,速度不够。还没接触stm32,就用8266来驱动 ...

我家里有个树莓派,作为数据中心使用,不管是从网站API拿数据,还是家里的其他节点送来的温度,湿度,亮度,甚至门口有人出现这样的数据。

做这个单CPU驱动的点阵的时候,我直接把8*32字节的显存数据在树莓派上计算好了,每秒一次,直接发给8266,所以刷新的时候,就一个memcpy, 所以几乎没什么闪烁。

相信你的500ms一次的串口接收数据也会有点闪烁的吧,另外你那块CPU还要查询字库呢,只是速度够快的话,人眼就跟不上了:lol:
还有你的API是不是 https的? 当年找API的时候,不加密的太难找了,虽然8266也能连接https,但是对于8266来说,的确是一个非常大的负担。后来搞树莓派之后,我干脆把这个艰巨的任务给树莓派了。
回复 支持 反对

使用道具 举报

发表于 2020-9-4 12:44:25 | 显示全部楼层
本帖最后由 fryefryefrye 于 2020-9-4 12:46 编辑
wpll 发表于 2020-8-22 15:50
到底是怎么回事呢 我这里是断开LED屏的电源线 断开tx 和rx 上电 启动后接上这三根线就能用了 要不然不启动  ...

请看下面这个表格,最后一列,有些脚在启动的是否必须符合要求,才能正常启动,否则会进入烧写或者其他模式。
另外按楼主的接线方式,屏幕和ESP8266同时上电,是可以正常启动的。可能你的屏幕和别人的不大一样,把某些引脚的电平搞错了。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-25 16:56 , Processed in 0.187200 second(s), 8 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表