查看: 1547|回复: 9

终于成功做出一个有界面的oled天气显示屏了!(小白流泪

[复制链接]
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2019-8-11 17:03 | 显示全部楼层 |阅读模式
    本帖最后由 小津哥哥 于 2019-8-11 17:02 编辑

        啊啊啊!忙活了一个月,终于做出来一个界面比较友好的天气oled显示屏了,在此感谢 博哥的帖子 手动@单片机菜鸟  还有奈何col大佬以及其它帮我解决疑惑的坛友。
        这篇帖子就暂时简单介绍一下我的天气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接口。

      效果图:
    1.jpg

    这是“开机”的界面,“开机”时从sd卡中读入上一次设置好的城市,随便按一个按钮进入主界面:

    2.jpg
    主界面(菜单),从左到右分别是 “工具”(设置城市),“网络”(连WiFi),“天气”(显示城市天气),右上角的小标志是有无网络的标志(圆圈交叉代表现在还没连上),电源嘛哈哈就是个装饰(直接usb线供电,不存在什么电量问题)

    3.jpg     6.jpg     9.jpg
    然后按左移右移就有这样的选择显示了,哈哈(皮),为了菜单好看一点也是拼了。

    选择“工具”,按下回车,设置一下城市吧,进入的时候小圆点会跳转到之前sd卡保存城市的位置,按左移右移键小圆点会上下移动,我一共加入了36个城市(北上广深港澳台加各省会还有佛山),一共4页,可以翻页显示,那我就佛山为例吧,选择佛山,按下回车,设置成功。
    4.jpg       5.jpg

    好了,设置好城市,联一下网吧,选择进入主菜单的“网络”,这里我用的是博哥写的手机8266一键配置的软件进行配网,但是我却发现配网成功率比较低,所以我将第一次配网的wifi名字密码保存在String中,回到主界面看到右上角标志显示未联网的话就再进入一次“网络”,这时由于WiFi名字密码的String不为null了,会有提示,按右键选择否,就会用WiFi.begin(ssid, password)的方式再次联网,这样就几乎保证联网的成功率了(只要密码输入是正确的)

    7.jpg     8.jpg     12.jpg

    看到右上角的标志不是圆圈交叉而是wifi标志就证明可以连上网了,那我们就进入选择主菜单的“天气”并按下回车:

    10.jpg     11.jpg

    哈哈, 佛山还挺热的。而天气图片(那两片云)等等都是按照心知天气的天气现象文档图片 在网上找素材一个个截图搞成 64X64像素 bmp格式的图片(累哭):
    天气样板.png
    这些图像还有“多云”等等的天气字样(32X16px)取模后的数据保存成文本放在sd卡里面,当接受到心知天气的 json格式的数据时,解析后读取sd卡对应的天气图片字样到数组并oled显示,最终可以保证在nodemcu有限的内存中把心知天气上的39种天气样例都可以显示图片和中文字样。

    嗯,看看实操视频(按键有些时候由于接触问题会左右错位一下):



    这次制作过程还是遇到不少的难题,还有一些自己想添加的功能由于个人能力限制不能如愿实现(其实对电路硬件知识一窍不通),希望自己也能继续坚持学习做得更好吧哈哈(见笑了)


  • TA的每日心情
    郁闷
    2019-3-31 11:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-8-12 12:11 | 显示全部楼层
    可以开源代码吗,大家一起完善更多功能
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-12 21:03 | 显示全部楼层
    xiaozhong123 发表于 2019-8-12 12:11
    可以开源代码吗,大家一起完善更多功能

    可以啊哈哈 代码有点乱 过几天等我写写注释写写流程就发出来吧
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-12 21:04 | 显示全部楼层
  • TA的每日心情
    开心
    2019-9-6 10:16
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2019-8-13 19:57 | 显示全部楼层
    期待楼主分享开源代码和原理图
  • TA的每日心情
    郁闷
    2019-10-7 01:57
  • 签到天数: 50 天

    [LV.5]常住居民I

    发表于 2019-8-14 22:38 | 显示全部楼层
    在华工读吗
    觉得文章有帮助,可以请我吃甜甜圈
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-15 10:05 | 显示全部楼层

    是的 你也是?
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-15 10:06 | 显示全部楼层
    nmgymlsw 发表于 2019-8-13 19:57
    期待楼主分享开源代码和原理图

    正在拼命写中
  • TA的每日心情
    擦汗
    2019-7-14 17:34
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-19 19:32 | 显示全部楼层
    各位朋友,代码开源的帖子写好啦,请移步https://www.arduino.cn/thread-91493-1-1.html
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    Blink——Arduino的Hello World!
    Blink——Arduino的Hello
    本教程节选自《Arduino程序设计基础》 Arduino编程基础(零)——Blink,Arduino的He
    ATmega2560-16AU刷BootLoader好慢
    ATmega2560-16AU刷BootLoa
    各位朋友,ATmega2560-16AU刷BootLoader好慢,有没有比较快的办法,一块板子要5分钟左
    【Arduino】108种传感器模块系列实验(104)---MAX30102手腕心率
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表