|
|
接線說明: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);} |
評分
-
查看全部評分
|