esp8266如何接oled屏(基于ESP826612E的天气显示屏)

这几天一直在讲理论基础,估计大家都看腻了。今天带着大家一起来做一款天气显示屏。可以显示当地天气,气温,当前环境温度

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(1)

而且,这次我们要用到SPI模式的12864屏幕,U8G2库,18b20温度传感器,一键配网,HTTP协议等。算是对以前学过知识的补充吧。先上全套图:

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(2)

先说U8g2库头文件的引用,我们使用ESP8266的硬件SPI引脚,所以在引用的时候就不必再声明MISO,MOSI2个引脚了,需要声明的是cs,dc,reset。而且一定要注意,这些引脚号指的是芯片的GPIO引脚,不是模块的管脚号。

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(3)

然后声明18b20单总线引脚。这里使用的就是模块的管脚号了。

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(4)

整个程序用到了前几篇文章的范例,通过HTTP请求天气数据。然后通过程序转换,在屏幕上绘制图标。

同样的,我们需要现在心知天气上注册一个账号,取得APIKEY.,填入程序中,然后再声明你想要显示的城市拼音。

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(5)

在程序中,定义不同字段代表的不同天气

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(6)

根据不同的天气,调用屏幕绘图函数。

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(7)

读取温度传感器数据,并在屏幕显示出来

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(8)

在屏幕上显示城市名称

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(9)

根据天气数据,在屏幕上绘制符号。因为只是个演示,我没有加雨量、雪、雾等天气图标,这些图标在“u8g2_font_open_iconic_weather_4x_t”库中没有,所以需要大家自己绘制,用取模软件取模后在程序中调用。

esp8266如何接oled屏(基于ESP826612E的天气显示屏)(10)

有兴趣的朋友,可以把18b20换成温湿度传感器,在屏幕下方再加一行湿度数据。

使用时,需要用SmartConfig工具配网。

老规矩。想要的留邮箱,把代码发给大家。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页