ESP32点亮oled屏

准备的硬件 一个 esp32  devkitv1  一个I2C接口的oled

连接方式:I2C oled 096  SDA--21   SCL--22  VCC--3.3V  GND--GND

#include <U8g2lib.h>  //调用字库文件
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0,U8X8_PIN_NONE);//调用 加 定义函数

void setup(){
  u8g2.begin();
  u8g2.setFont(u8g2_font_ncenB08_tr);
}

void loop(){
  u8g2.clearBuffer();
  u8g2.drawStr(5,10,"No Hcak,");
  u8g2.drawStr(50,30,"No LIFE!");
  u8g2.sendBuffer();
  delay(1000);
}

book:超图解 esp32      作者:李英杰 

### 使用ESP32-C3点亮OLED幕 #### 准备工作 为了使ESP32-C3能够成功驱动OLED幕,需先完成必要的准备工作。这包括安装所需的库文件并了解基本的硬件连接方式。 对于ESP32系列设备而言,其引脚具备多用途特性,在实际操作过程中应当依据具体型号选取合适的GPIO作为通信端口[^3]。针对ESP32-C3来说,部分IO并不兼容IIC协议;因此当采用IIC模式与OLED交互时,推荐选用特定编号的引脚组合来规避潜在冲突——比如使用`IO4`和`IO5`分别作为SDA(Serial Data Line)与SCL(Serial Clock Line)[^2]。 #### 库函数引入 在编写程序前,还需导入相应的类库以便简化开发流程。通常情况下,涉及图形界面渲染的任务可以借助Adafruit_SSD1306或其他相似性质的支持包实现。这些资源往往已经集成了初始化设置、文字绘制等功能模块,极大地方便了开发者快速构建应用原型。 #### 示例代码展示 以下是基于上述说明编写的简易示例代码: ```cpp #include <Wire.h> #include "SSD1306.h" // 定义常量参数 const int I2C_ADDR = 0x3c; #define SDA_PIN 4 // IO4 #define SCL_PIN 5 // IO5 // 创建OLED实例 SSD1306 oled(I2C_ADDR, SDA_PIN, SCL_PIN); void setup(){ Serial.begin(115200); // 初始化显示器 if(!oled.init()){ Serial.println(F("OLED init failed")); while(1){} // 若初始化失败则停止运行 } oled.clear(); // 设置字体样式 oled.setFont(ArialMT_Plain_10); // 输出测试字符串 oled.drawString(0, 0, "Hello ESP32-C3"); oled.display(); } void loop(){} ``` 此段代码实现了通过指定引脚控制OLED显内容的功能,并且包含了错误处理机制以确保系统的稳定性。值得注意的是,这里选择了较小字号(`ArialMT_Plain_10`)用于适应可能存在的分辨率差异问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值