器材
esp8266(nodemcu) 1块,TM1637 4位8段数码管1个,杜邦线4根
连线
esp8266 -----------TM1637
3.3v ------------------ VCC
GND ----------------- GND
D5(GPIO12) --------CLK
D6(GPIO14) ---------DIO
库文件(arduino库管理器中下载)
NTP服务:NTPClient
TM1637:TM1637TinyDisplay
由于我使用arduino写代码,arduino库管理器中搜到的驱动TM1637的几个库我都试了一下,不知为什么编译时都显示错误,只有TM1637TinyDisplay可以用,如果大家有更好的库的话希望能告知我。
关于库文件:8266使用Grove_4Digital_Display这个库文件,不要使用TM1637这个库,
8266使用Grove_4Digital_Display这个库文件中的TM1637.h可以正常使用,其他库中的tm1637.h在编译时会报错,经过我测试,如果安装了库管理器中的TM1637库,编译时调用的tm1637.h是其他1637库的,因此如果使用8266连接TM1637的话,应该安装Grove_4Digital_Display库,并且删掉TM1637等其他的库(我把别的库都扔进了回收站),这样操作以后代码选择8266开发板就可顺利编译通过。
代码(已修改)
#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "TM1637.h"
//ESP8266 NODEMCU
#define CLK 12
#define DIO 14
TM1637 tm1637(CLK,DIO);
const char *ssid = "yourwifi";
const char *password = "yourpassword";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP