在2019年下半学期,突然想做一个类似手表一样的时钟,想要确保时间的实时精准性,就要接入网络,于是便想到了ESP8266这款高性价比的单片机,结合它的好伙伴——0.96寸OLED(相信不少人都是这个组合),但这些硬件资源还远远不够,于是我又在其中加入了WS2812B(8*32点阵屏)和DS3231(用来解决无网络时的时间获取问题 )。
1.你可以在设置界面设置是否开启WS2812屏的显示;
2.也可以决定时间源(网络NTP时钟或DS3231时钟);
3.可以选择获取哪个城市的天气;
4.可以智能配网smartconfg;
5.可以查看板子信息参数;
6.可以用来播放badapple(哔哩哔哩上的开源项目);
7.可以通过OTA远程上传固件;
8.也可为了防止OLED烧屏而自动息屏,也可以查看OLED的烧屏等级。
9.可以在设置界面决定你显示哪个桌面(哔哩哔哩 或 天气时钟)
10.可以查看ESP8266所连接的WIFI信息;
11.可以改变信息更新的时间;
12.可以查看手表电量;
你可以通过IIC总线加入其它传感器:血氧、光照、气压、温湿度等等,用来拓宽代码的功能,尽管Flash已经占用了很多。
ESP8266:
DS3231:
0.96OLED :
8*32 WS2812点阵屏:
VS code下Platform IO插件 或 Arduino IDE
DS3231:https://github.com/rodan/ds3231
FastLED:https://github.com/FastLED/FastLED
Time-master:https://github.com/PaulStoffregen/Time
U8g2:https://github.com/olikraus/U8g2_Arduino
ArduinoJson V5:https://github.com/bblanchon/ArduinoJson/tree/5.x
下载这些库放在你的Arduino安装目录下的libraries文件夹下面
天气时钟界面:
哔哩哔哩数据统计界面:
设置界面:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章