260ca4d7-cb7b-8070-9d8c-d0c42e14bcDasai Mochi robot V2 ESP32-S3-N16R8配置文件 ESP32【Wifi配网代码】 ESP32 【Dasai Mochi】 ESP32+PCM5102A I2S module【蓝牙音响】 PlatformIO
[!note]+ # 屏幕【SH1106】测试代码
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SH110X.h> // 定义屏幕参数 #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // 不使用复位引脚 // 定义I2C引脚 #define I2C_SDA 20 #define I2C_SCL 21 // 创建显示对象 - 使用正确的SH1106驱动 Adafruit_SH1106G display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup() { Serial.begin(115200); Serial.println("ESP32C3 SH1106 OLED测试"); // 初始化I2C Wire.begin(I2C_SDA, I2C_SCL); // 降低I2C速度以提高稳定性 Wire.setClock(400000); // 400kHz,如果不稳定可降至100000 // 等待OLED初始化 delay(250); // 初始化SH1106 OLED display.begin(0x3C, true); // 0x3C是常见的I2C地址,如果不工作请尝试0x3D // 设置显示方向和对比度 display.setRotation(0); display.setContrast(128); // 设置对比度 (0-255) // 清除显示 display.clearDisplay(); // 设置文本属性 display.setTextSize(1); // 正常1:1文本大小 display.setTextColor(SH110X_WHITE); display.setCursor(0, 0); // 显示文本 display.println("ESP32C3SUPERMINI"); display.println("-------------"); display.println("SH1106 OLED"); display.println("128x64 OLDTEST"); display.println("-------------"); display.println("TIME:"); display.println("12:34:56"); // 显示所有绘制的内容 display.display(); Serial.println("初始化完成"); } void loop() { // 在这里可以添加动态更新内容的代码 delay(1000); // 例如:更新显示屏的一部分来显示运行时间 display.fillRect(0, 48, 128, 16, SH110X_BLACK); // 清除底部区域 display.setCursor(0, 48); display.print("RUNTIME: "); display.print(millis() / 1000); display.println("Sec"); display.display(); }