esp32驱动i2c-oled——Arduino

ESP32 I2C-OLED显示

IDE:Arduino

前言
  • 之前做过一些Arduino的库,了解Arduino库的格式。本来打算将stm32的i2c-oled驱动程序直接移植过去,奈何一直出错,没有钻研的心,懒得造轮子了,就开始百度,顺便在此记录一下。
硬件连接

使用的是ESP-WEOOM-32小模块。

iicesp32引脚功能
SDAGPIO21数据线
SCLGPIO22时钟线
获取库文件
  • 链接:esp8266-oled-ssd1306,从GitHub中下载库,然后放到Arduino路径下的libraries文件夹中。
    image1
主程序
#include <Wire.h>
#include "SSD1306.h" 
 
SSD1306  display(0x3c, 21, 22);
 
void setup() {
 
  display.init();
  display.drawString(0, 0, "Hello World");
  display.display();
}

void loop() {}
显示效果

image2

  • 一开始效果就这样,还没调整显示方向和字体大小。
参考资料
### ESP32-S3 使用 Arduino 和 U8g2 库通过 I2C 接口实现图形显示 为了在 ESP32-S3 上使用 Arduino 框架并通过 I2C 接口驱动 U8g2 图形库,需完成几个配置步骤并编写相应的初始化代码。 #### 初始化硬件连接 确保 OLED 显示屏的 SDA 和 SCL 引脚分别连接到 ESP32- **SCL**: GPIO 22 (默认) 这些引脚可以在程序中修改以适应不同的硬件布局[^1]。 #### 安装必要的库文件 安装 `U8g2` 库以及支持 I2C 协议所需的依赖项。可以通过 Arduino IDE 的库管理器轻松找到并安装该库及其依赖项[^2]。 #### 示例代码展示 下面是一个简单的例子来说明如何设置和绘制基本图形至屏幕: ```cpp #include <Wire.h> #include <U8g2lib.h> // 创建 U8G2 对象, 参数分别为: 芯片类型, RST pin, I2C 地址 U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); void setup(void) { // 初始化显示屏 u8g2.begin(); } void loop(void) { // 清除缓冲区 u8g2.clearBuffer(); // 设置字体大小及样式 u8g2.setFont(u8g2_font_ncenB08_tr); // 绘制文字 "Hello World" u8g2.drawStr(0, 10, "Hello World"); // 将内容发送到显示器 u8g2.sendBuffer(); delay(1000); } ``` 这段代码展示了如何创建一个基于 SSD1306 控制器的 128x64 像素分辨率的 OLED 屏幕对象,并向其写入字符串 “Hello World”。此过程涉及到了初始化设备、清除画布、设定字体属性、实际绘图操作最后刷新显示这几个方面的工作流[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值