arduino uno+esp8266+oled屏幕

arduino uno通过WiFi模块将温度和湿度上传至贝壳物联,并通过OLED 屏幕显示温度和湿度,程序上传成功,OLED 屏幕没反应是因为什么?

以下内容部分参考ChatGPT模型:


可能是OLED屏幕的接线有问题,或者OLED屏幕的初始化代码有误。可以先检查一下OLED屏幕的接线是否正确,然后检查初始化代码是否正确。如果还是不行,可以尝试使用其他OLED屏幕或者重新烧录程序。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

你把硬件使用说明发给我

  • 这篇博客: 使用arduino框架编写esp8266使用OLED屏幕 IIC U8G2中的 连接WIFI获取时间 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 使用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 可以看到打印时间