电子 - ESP8266OLED信息显示项目
<!--[toc]-->
项目说明
一个OLED显示项目,我准备用来显示分辨率cgpu占用率的,时间问题,只做了一个界面。
本项目可以通过上位机程序切换程序的运行模式,将代码中的上位机ip和天气城市id改一下即可使用。
目前只有2个模式0,1
,0模式 显示时间天气日期,1模式 显示Hello World,主要是用来调试模式切换的。
程序代码 后续可能会有更新,最近在忙工作和毕设。
硬件配置
- ESP8266 - 12E
- OLED屏幕
i2c
协议 内部驱动芯片:SH1106
1.3寸
- [可选] 复位上位机按钮
引脚配置
OLED和ESP8266引脚配置图
[可选]按钮引脚配置
按钮接D8
引脚,另一端接MCU的3.3V输出端。
当按钮按下时,D8的电平会改变,我们通过读取D8引脚的电平,来做某些事情。
代码说明
- 网络WIFI环境初始化 使用的是
WiFiManager
库 管理包下载即可 - 和风天气api的使用 使用的是
ESP8266WebServer
库 GitHub地址 - 项目中OLED显示 使用的是中景园电子科技的示例代码
- 时间以及天气的刷新 我使用的是
Ticker
库 定时库 自带 - 模式1的表盘背景、天气图标 是使用PS软件画再通过字库工具转换的
- 按键的防抖 我使用的是变量计数,达到某一值时,才执行函数
项目样图\图片
模式1
模式2
网络调试助手
通过发送 mode + 模式id 即可做到切换oled屏幕显示的模式