数码之家

 找回密码
 立即注册
搜索
查看: 13580|回复: 98

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

    [复制链接]
发表于 2020-1-29 11:00:42 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

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

x
这个制作其实在去年就已经开始着手制作了,但是有很多问题没有解决就一直懒得去做,其实过年之前就应该做好的。当然这个过程很曲折!
之前做过很多点阵32*64的16*64的16*80的单双色都搞过,没太大的区别大同小异,这次使用的屏是一个坛友送的,一共有六块用了四块来制作本次点阵时钟。这次包含基本时间日期信息,还有天气预报。

边制作边说这过程吧
第一次制作使用的是洞洞板手工焊接的,不太理想。而且主控使用的传统STC12C系列的,发现带不动这么大的屏扫描一轮下来闪烁很严重,肉眼清晰可见那种,就放弃使用51单片机了后来发现NodeMCU也不错,arduino编程就选用这个了。既然选择ESP8266做主控就心思能不能连个网整个天气预报啥的。后来实验证明8266CPU主频率开到160MHZ勉强带动屏幕,就不要提连WiFi获取API了。所以才用两个ESP8266。
听到捷配有薅羊毛活动,就画了自己第一个PCB打样用,不过毕竟是第一次,有很多错误,后面再说

捷配发的顺丰,还是很快的!
IMG_20191208_095327.jpg

一共六片,用到一片就好了
IMG_20191208_095440.jpg

原理电路图
20200130082729.jpg

用的立创EDA画的,不得不说立创EDA很强大,封装库很全!适合我这种不专业的新手画PCB。
其实这张图就能看出问题,画的时候一个劲画,都没改线宽,导致什么线都一样宽。。。
IMG_20191208_095524.jpg

把元器件都焊上。是不是有个疑问,ESP8266不是用3.3V供电么,怎么没有1117(后面没有元件)
很简单NodeMCU自带一个1117-3.3V也有3.3V引脚所以直接给8266用了,哈哈很偷懒
IMG_20191208_103041.jpg

和之前洞洞板做的对比一下,当初以为加工异样板要多花钱,打样回来自己手动切下去一块。后来才知道一样不花钱。。。
IMG_20191208_103512.jpg

因为包含温湿度检测,所以用DHT12其实和DHT11一样,只是多了一个可以I2C通讯,而且体积也小了
IMG_20191212_141047.jpg

和光敏电阻放到一起
IMG_20191212_141107.jpg

为了测温的准确性,伸出去一块是有必要的
IMG_20191212_141336.jpg

前面看的效果就是这样
IMG_20191212_141343.jpg

之前说是四块点阵屏拼接的,屏与屏之间就用一段4平方铜线焊上
IMG_20191212_141532.jpg

因为DHT12排针太高了,所以去掉黑色那个头
IMG_20191212_141615.jpg

这就是为啥板子要切下去一块,把点阵屏接口让出来
IMG_20191212_141834.jpg

板子固定方式是把四颗螺丝直接粘到屏的背面
IMG_20191212_141851.jpg

这就是另一个错误,ESP8266外部没接EN和复位电阻就不运行,手动跳线接一下
IMG_20191225_153400.jpg

设计时候用NodeMCU做亮度检测和亮度调整,现在有点后悔了,因为控制屏的亮度用PWM,arduino编程的PWM是使用CPU模拟出来的,占用CPU内存的,最后的解决办法还是用传统的delay来凑合用
IMG_20191225_153405.jpg

电源线就差这一截,就找个粗的电源线凑合一下
IMG_20191228_114148.jpg

这次固定挂墙上也不想之前那样,这次在墙上固定一个铁板,屏后面用磁柱吸在上面
IMG_20191212_141514.jpg

不够高用铜柱加高一下。实际证明这很结实!
IMG_20191212_141521.jpg

这个地方还是高,就趴下一点
IMG_20191229_123701.jpg

所有线都接好,最后还是出了问题,DHT12坏了
IMG_20191229_123642.jpg

因为手头没有多余备件了,就用DHT11凑合一下,其实在程序里读DHT12还是用单总线方式。
DHT11做一下手脚,把光敏电阻也挤到里面,这样省的外部接线乱了
IMG_20200126_123443.jpg

正面就是这个效果,里面塞不下就放外面了
IMG_20200126_123450.jpg

会比DHT12大不少,不过也不影响
IMG_20200127_111859.jpg

最后还是有问题。不知为何每次上电都死机,一查电压只有2.8V肯定哪里有短路!但是吧先上电,再把NodeMCU插上就没事一切都正常,邪门了。一开始以为是GPIO0和GPIO2干扰的?上电这时候拉低了?也不能啊,有245做缓冲。最后查到原来是屏的EN。只要上电时EN和GPIO断开就正常,之后再把EN和GPIO接在一起,所有都正常了。。。我也搞不懂为啥,就接个开关吧
IMG_20200127_111853.jpg



硬件也就这样了,下面搞定软件程序部分,时间联网用NTP授时,计算农历节气都在本地计算。之后是天气预报API获取,可谓是翻遍全网找遍所有API(这里可能要说的多一点)

花钱的吧还不想花,免费的吧又怕某一天挂了,就很纠结。找过和风天气,丫丫天气,甚至都找到了高德,百度,阿里巴巴等等很多平台的API,不是用HTTPS就是没有符合我的要求,后来找到一个个人开发的API网站里面有很多API免费使用,天气,油价,农历等等很多免费API但是没有说明,后来我也没采用。免费API网站如果大家使用的话且用且珍惜,虽然没说调用次数和调用频率,那也不要疯狂获取,毕竟是个人的。而且这个网站的站主人也不错,API有什么问题都会及时解决。后来我进行全网地毯式搜索,终于找到一个让我满意的API!是在京东一个开发平台上(虽然最近京东发生很多不愉快的事情,那和我无关,我只用京东的API)每天限量5000次,算一分钟调用一次一天需要1440次,完全足够了;信息也很全,有天气实况,还有逐小时预报,7天预报,还有各种生活指数都一次获取。也很满意京东万象和风天气需要的坛友自己去注册使用吧,每天还以邮箱方式给你发送昨天API调取状况,嗯——不错。

API接口搞定了,接下来就是显示了,既然涉及到天气预报,就要汉字显示,不可能把所有天气用到的汉字都做好吧,而且为了以后增加节日等显示所以制作一个字库是很有必要的选择!因为ESP8266使用的汉字是UFT-8编码,所以就要知道汉字字库所有汉字编码,这要感谢“落叶风”坛友,他的帖子里有UFT-8编码。但是最坑的是汉字编码是不安顺序的,一个汉字是三个字节,因为我没有用外挂flash做字库,就用NodeMCU自带的Flash存字库吧。我先手动把这些无序编码重新排版,编程有序的,唉这里的苦只有做了才知道。6763个无序汉字,排好序以后是2万多个汉字;耗时三天,用到了Excel排序,那也很费事。

这就是没排序和排序的区别,这样是看不出啥,但是对于汉字编码来讲,变得有顺序之后就能更好的显示出来,ESP8266给NodeMCU发送汉字,接收是一个字节方式接收,连续接收三个字节组成一个汉字,就要根据这三个字节判断是什么字
TIM截图20200129102648.jpg

用Excel排字
IMG_20191208_192610.jpg

分两个屏使用,必要时候还要分成8个窗口
IMG_20191208_192641.jpg

最后排完的样子,还要验证有没有错,不过还是很满意的,没有错误
IMG_20191208_192745.jpg

可以显示的汉字,可能有的字这辈子都用不上,但是必须要有。你说无不无奈
IMG_20191208_192811.jpg

之后就是挂起来,替换我家之前那个1680时钟,这次显得很大气,哈哈
打眼,一开始打算用那种粘墙上的挂钩,后来我爸怕粘不住,就打眼了
IMG_20200127_115214.jpg

而且我爸为了防止那个贴条上锈染黄墙皮,还怕划到墙皮就粘了一层泡沫胶在上面做防护
IMG_20200127_115222.jpg

正面就挂时钟用
IMG_20200127_115224.jpg

之所以做这么长,是为了和上面那个百寿图长度显得和谐点
上面固定显示时间日期还有温度。下面一直流动显示天气预报和倒数节气日
IMG_20200129_092056.jpg

最主要的是这次也加入了贝壳物联,可以控制显示开关,以后反馈温湿度数据可以远程查看家里温度
Screenshot_2020-01-29-09-21-24-794_com.tencent.mm.jpg



最后祝大家鼠年大吉!近期就不要参加聚会串门等集体活动了,这个病毒闹得还是挺凶的,做好防护!
mmexport1580181050334.jpg

next

打赏

参与人数 12家元 +235 收起 理由
ljlun + 20 谢谢分享,加上滤色片就更好了.
trg13 + 20 真厉害 羡慕 只会简单的51单片机.....
stdzlqz + 20 優秀文章
花生仔 + 20 優秀文章
乐100 + 20 優秀文章
zhkrid + 20
有点不烧 + 20 謝謝分享
snowrose2000 + 20 謝謝分享
慕名而来 + 20 又见大作,热闹喜庆。
落叶风 + 20

查看全部打赏

 楼主| 发表于 2020-1-29 11:01:55 | 显示全部楼层
程序代码和电路图都放在里面了: 时钟.rar (203.83 KB, 下载次数: 107)

联网程序要改的地方
TIM截图20200129114518.jpg

这个地方每个人的key都不一样,去上面我说的京东万象申请个账号填上key就行
TIM截图20200129114555.jpg

另外注明一下:本程序有web-OTA功能,只需连接在同一网络用电脑输入web地址即可,然后导出bin文件就好


回复 支持 反对

使用道具 举报

发表于 2020-1-29 11:31:18 | 显示全部楼层
ESP8266,这个东西比arduino的板子功能强大吗:loveliness:

打赏

参与人数 1家元 +3 收起 理由
水表君 + 3 就是IO口少点,我感觉要强

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-1-29 12:17:03 | 显示全部楼层
直接用ESP32吧:titter:双核够不够
回复 支持 反对

使用道具 举报

发表于 2020-1-29 13:12:20 来自手机浏览器 | 显示全部楼层
贝壳物联怎么玩呢  可以加在以前的程序上使用吗
回复 支持 反对

使用道具 举报

发表于 2020-1-29 13:48:55 | 显示全部楼层
人艰不拆了 发表于 2020-1-29 11:31
ESP8266,这个东西比arduino的板子功能强大吗

arduino的板子也有很强的,但8266是最有性价比的
回复 支持 反对

使用道具 举报

发表于 2020-1-29 14:14:20 | 显示全部楼层
做得很好,不过加一个滤光片比较好看吧,
回复 支持 反对

使用道具 举报

发表于 2020-1-29 16:31:05 | 显示全部楼层
天气接口很赞,GOOD
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-29 17:49:09 | 显示全部楼层
老张37475 发表于 2020-1-29 12:17
直接用ESP32吧双核够不够

哈哈,一直没有买,而且ESP32好贵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-29 17:49:51 | 显示全部楼层
社會忒墟僞 发表于 2020-1-29 13:12
贝壳物联怎么玩呢  可以加在以前的程序上使用吗

可以去贝壳物联官网看看,有很多介绍
回复 支持 反对

使用道具 举报

发表于 2020-1-29 19:00:21 | 显示全部楼层
两个esp8266有点多余了,直接IDE里面变不就好了,联网又不是一直需要查的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-29 19:23:54 | 显示全部楼层
750123208 发表于 2020-1-29 19:00
两个esp8266有点多余了,直接IDE里面变不就好了,联网又不是一直需要查的

第一,首先IO口不够用,第二ESP8266在访问API过程不能干其他事所以每次访问API时就不能显示屏幕,访问API还是需要延迟的
回复 支持 反对

使用道具 举报

发表于 2020-1-29 21:48:36 来自手机浏览器 | 显示全部楼层
非常牛掰,点个赞
回复 支持 反对

使用道具 举报

发表于 2020-1-30 12:30:19 | 显示全部楼层
高手就是高手,挂家里就是看起来有点门店的感觉。
回复 支持 反对

使用道具 举报

发表于 2020-1-30 14:23:44 | 显示全部楼层
水表君 发表于 2020-1-29 11:01
程序代码和电路图都放在里面了:

联网程序要改的地方

猛一看以为那个框是屏幕呢
回复 支持 反对

使用道具 举报

发表于 2020-1-30 15:03:03 | 显示全部楼层
挺好的东西,会的东西真多,羡慕的不行不行的
回复 支持 反对

使用道具 举报

发表于 2020-1-30 17:35:06 | 显示全部楼层
折腾的不错!不过个人觉得挂在家里有点太大了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-30 17:57:43 | 显示全部楼层
snowrose2000 发表于 2020-1-30 17:35
折腾的不错!不过个人觉得挂在家里有点太大了。

悄悄告诉你,这我都觉得小,哈哈;
我喜欢那种简约的,直白的,没有那些花里胡哨动作,毕竟是显示信息又不是广告为了引人注目。所以尽可能都把所有信息显示全,静态显示。所以就要大了
回复 支持 1 反对 0

使用道具 举报

发表于 2020-1-30 18:45:07 | 显示全部楼层
前面加个茶色或者黑色半透明的亚克力吧,这样不好看。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 19:44 , Processed in 0.249600 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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