ESP32 ESP-IDF I2C OLED显示

陈拓 2022/05/15-2022/05/17

1. 简介

文本介绍github上的一个用ESP32的i2c接口驱动oled的项目。

网址:https://github.com/bkgoodman/ESP32-IDF-OLED-SSD1306/

OLED的驱动芯片为SSD1306,接口为I2C,分辨率128x64。

2. 接线

  • ESP32引脚图

默认ESP32 I2C的SCL和SDA引脚是22和21。ESP32的引脚可以重映射,我们可以通过配置将SCL和SDA映射到19和18引脚。

ESP32为主机Master模式,OLED为从机Slave模式。主机和从机的SCL和SDA相互连接。

3. 开发环境

《用乐鑫国内Gitee镜像搭建ESP32开发环境》

https://zhuanlan.zhihu.com/p/348106034

https://blog.csdn.net/chentuo2000/article/details/113424934?spm=1001.2014.3001.5501

4. 下载项目

cd esp

git clone https://github.com/bkgoodman/ESP32-IDF-OLED-SSD1306.git

cd ESP32-IDF-OLED-SSD1306

5. 构建项目

  • 刷新esp-idf环境

get_idf

注意:每次打开终端进入sdk都要执行一次此命令

idf.py set-target esp32

注意:在项目创建第一次使用,以后就不用运行这个命令了。

  • 清除以前的构建

idf.py fullclean

  • 配置项目

idf.py menuconfig

1) 设置ESP32的I2C引脚

2) 将闪存设置为4MB

保存,退出。

  • 编译

idf.py build

  • 烧写

上电后按一下RST键。

idf.py -p /dev/ttyS3 -b 115200 flash

  • 串口监视器

idf.py monitor -p /dev/ttyS3

  • OLED显示

### 使用 ESP-IDF 框架驱动 OLED 显示屏 #### 环境准备 为了使用ESP-IDF框架来驱动OLED显示屏,首先需要安装并配置好ESP-IDF开发环境。这一步骤确保了后续编译和烧录过程能够顺利进行。 #### 获取项目源码 获取特定于SSD1306 OLED显示模块的示例程序可以通过Git命令完成: ```bash git clone https://github.com/yanbe/ssd1306-esp-idf-i2c.git ``` #### 配置与构建 进入克隆下来的仓库文件夹内,并指定目标硬件平台(比如ESP32),之后执行编译操作: ```bash cd ssd1306-esp-idf-i2c idf.py set-target esp32 idf.py build ``` #### 上载固件至设备 当编译完成后,可通过如下指令将生成的二进制映像上传到连接着电脑的实际物理板子上运行测试: ```bash idf.py flash ``` #### 示例代码解析 下面给出了一段简单的Python风格伪代码用来展示如何初始化以及向OLED屏幕上打印字符串消息: ```python import ssd1306_i2c as oled # 导入oled库 from machine import I2C, Pin i2c = I2C(scl=Pin(22), sda=Pin(21)) # 创建I2C对象实例化引脚定义 display = oled.SSD1306_I2C(width=128, height=64, i2c=i2c) def show_text(text="Hello World!"): display.fill(0) # 清除屏幕内容 display.text(text, 0, 0) # 在坐标位置绘制文字 display.show() # 刷新显示缓冲区使更改生效 show_text() ``` 这段代码展示了基本的操作流程,包括创建I2C接口、设置显示器尺寸参数、清除当前画面、写入新文本以及最终更新显示效果[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值