|
|
接线说明:OLED SDA → ESP8266 D2 (GPIO4)OLED SCL → ESP8266 D1 (GPIO5)OLED VCC → 3.3VOLED GND → GND
代码:
#include <Wire.h>#include <Adafruit_GFX.h>#include <Adafruit_SSD1306.h>#include <ESP8266WiFi.h>// OLED显示屏的宽度和高度,根据你的屏幕尺寸修改#define SCREEN_WIDTH 128#define SCREEN_HEIGHT 64// 初始化OLED显示屏,使用I2C连接Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);void setup() { Serial.begin(115200); // 初始化OLED显示屏 if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306分配失败")); for(;;); // 停止执行 } // 清除缓冲区 display.clearDisplay(); // 显示欢迎信息 display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.println("Hello, World!"); display.println("------------"); // 显示WiFi信息 display.print("SSID: "); display.println(WiFi.SSID()); display.print("IP: "); display.println(WiFi.localIP()); // 显示芯片信息 display.print("Chip ID: "); display.println(ESP.getChipId()); display.print("Flash: "); display.print(ESP.getFlashChipSize() / 1024); display.println(" KB"); // 将缓冲区内容发送到显示屏 display.display(); delay(2000); // 显示2秒}void loop() { display.clearDisplay(); display.setCursor(0, 0); // 显示时间计数 display.setTextSize(2); display.print("Uptime: "); display.println(millis() / 1000); display.setTextSize(1); display.print("Seconds"); // 显示内存信息 display.setCursor(0, 30); display.print("Free RAM: "); display.print(ESP.getFreeHeap()); display.println(" bytes"); // 移除电压显示部分,或替换为: display.setCursor(0, 45); display.print("Chip ID: "); display.println(ESP.getChipId()); display.display(); delay(1000);} |
评分
-
查看全部评分
|