項目簡介:
在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/tree/master/src
ArduinoJson V5:https://github.com/bblanchon/ArduinoJson.git
下載這些庫放在你的Arduino安裝目錄下的libraries文件夾下面
看下效果吧:
天氣時鐘界面:
嗶哩嗶哩數據統計界面:
設置界面: