arduino uno通过WiFi模块将温度和湿度上传至贝壳物联,并通过OLED 屏幕显示温度和湿度,程序上传成功,OLED 屏幕没反应是因为什么?
可能是OLED屏幕的接线有问题,或者OLED屏幕的初始化代码有误。可以先检查一下OLED屏幕的接线是否正确,然后检查初始化代码是否正确。如果还是不行,可以尝试使用其他OLED屏幕或者重新烧录程序。
你把硬件使用说明发给我
- 使用NTP库来获取时间 项目 -> 添加库 -> 管理库 添加NTP库
- 使用NTP的实例 文件 -> 实例 -> NTPClient -> Basic
#include <NTPClient.h> //NTP
#include <ESP8266WiFi.h> //ESP8266
#include <WiFiUdp.h> //WIFI
const char *ssid = "<SSID>"; //自己的WIFI的名称
const char *password = "<PASSWORD>"; //自己的WIFI密码
WiFiUDP ntpUDP;
//NTPClient timeClient(ntpUDP); //这是原本的NTP时间
NTPClient timeClient(ntpUDP, "ntp1.aliyun.com",60*60*8, 30*60*1000); //这是添加时差后的时间 有8个小时的时间差
void setup(){
Serial.begin(115200); //设置串口比特率115200
WiFi.begin(ssid, password); //准备链接WIFI
while ( WiFi.status() != WL_CONNECTED ) { //判断是否链接成功 不成功是 6 成功是 WL_CONNECTED 3
delay ( 500 ); //等待500毫秒
Serial.print ( "." ); //在串口打印 .
}
timeClient.begin();
}
void loop() {
timeClient.update(); //刷新时间
Serial.println(timeClient.getFormattedTime()); //在串口打印时间
delay(1000); //等待1秒
}
- 设置好WIFI用户名密码改好时间差就可以烧录到ESP8266了
- 打开串口监视器115200 可以看到打印时间