终于成功做出一个有界面的oled天气显示屏了!(小白流泪
本帖最后由 小津哥哥 于 2019-8-11 17:02 编辑啊啊啊!忙活了一个月,终于做出来一个界面比较友好的天气oled显示屏了,在此感谢 博哥的帖子 手动@单片机菜鸟还有奈何col大佬以及其它帮我解决疑惑的坛友。:loveliness:
这篇帖子就暂时简单介绍一下我的天气oled吧,关于技术的问题我推荐大家看看博哥的帖子中的网络篇还有应用篇中的oled显示天气,链接如下:
https://blog.csdn.net/dpjcn1990/article/details/92831918
往后我也会继续写帖子详细介绍我的天气oled,共享一下代码,素材及制作过程(其实很多都是借鉴博哥的,就当写写心路历程吧哈哈)
我是个大一的学计算机的,机缘巧合接触了硬件。回想一下 7.10-8.10刚刚好一个月,一个月前esp的板子和oled都是即兴买的,根本不会用,今年3月才开始接触硬件接触单片机入手arduino,上一年的暑假就心心念念想做一个天气显示,虽然说水平还是很菜,但是想想自己一路能坚持下来还是挺兴奋的。嗯,话不多说,简要介绍一下我的天气显示屏。
天气oled包括了四个按键:退出,左移,右移,回车,nodemcu1.0(ESP-12)做主板, sd卡和sd模块储存天气图片文字,0.96寸的128X64 oled(不带中文字库),天气则是用了心知天气的api接口。
效果图:
这是“开机”的界面,“开机”时从sd卡中读入上一次设置好的城市,随便按一个按钮进入主界面:
主界面(菜单),从左到右分别是 “工具”(设置城市),“网络”(连WiFi),“天气”(显示城市天气),右上角的小标志是有无网络的标志(圆圈交叉代表现在还没连上),电源嘛哈哈就是个装饰(直接usb线供电,不存在什么电量问题)
然后按左移右移就有这样的选择显示了,哈哈(皮),为了菜单好看一点也是拼了。
选择“工具”,按下回车,设置一下城市吧,进入的时候小圆点会跳转到之前sd卡保存城市的位置,按左移右移键小圆点会上下移动,我一共加入了36个城市(北上广深港澳台加各省会还有佛山),一共4页,可以翻页显示,那我就佛山为例吧,选择佛山,按下回车,设置成功。
好了,设置好城市,联一下网吧,选择进入主菜单的“网络”,这里我用的是博哥写的手机8266一键配置的软件进行配网,但是我却发现配网成功率比较低,所以我将第一次配网的wifi名字密码保存在String中,回到主界面看到右上角标志显示未联网的话就再进入一次“网络”,这时由于WiFi名字密码的String不为null了,会有提示,按右键选择否,就会用WiFi.begin(ssid, password)的方式再次联网,这样就几乎保证联网的成功率了(只要密码输入是正确的)
看到右上角的标志不是圆圈交叉而是wifi标志就证明可以连上网了,那我们就进入选择主菜单的“天气”并按下回车:
哈哈, 佛山还挺热的。而天气图片(那两片云)等等都是按照心知天气的天气现象文档图片 在网上找素材一个个截图搞成 64X64像素 bmp格式的图片(累哭):
这些图像还有“多云”等等的天气字样(32X16px)取模后的数据保存成文本放在sd卡里面,当接受到心知天气的 json格式的数据时,解析后读取sd卡对应的天气图片字样到数组并oled显示,最终可以保证在nodemcu有限的内存中把心知天气上的39种天气样例都可以显示图片和中文字样。
嗯,看看实操视频(按键有些时候由于接触问题会左右错位一下):
https://v.youku.com/v_show/id_XNDMwOTYzMDkwOA==.html
这次制作过程还是遇到不少的难题,还有一些自己想添加的功能由于个人能力限制不能如愿实现(其实对电路硬件知识一窍不通),希望自己也能继续坚持学习做得更好吧哈哈(见笑了)
:loveliness:
点赞鼓励 可以开源代码吗,大家一起完善更多功能:D:D xiaozhong123 发表于 2019-8-12 12:11
可以开源代码吗,大家一起完善更多功能
可以啊哈哈 代码有点乱 过几天等我写写注释写写流程就发出来吧:D 海神 发表于 2019-8-12 11:37
点赞鼓励
:loveliness: 期待楼主分享开源代码和原理图 在华工读吗 zjssun 发表于 2019-8-14 22:38
在华工读吗
是的 你也是? nmgymlsw 发表于 2019-8-13 19:57
期待楼主分享开源代码和原理图
正在拼命写中:P 各位朋友,代码开源的帖子写好啦,请移步https://www.arduino.cn/thread-91493-1-1.html