ESP32 I2C屏幕

所选设备

ESP32在这里插入图片描述
0.96OLED屏幕

OLED是很常用的电子元件,它体积小、接口简单、功耗低、显示 效果好,因此在DIY、创客制作、电子竞赛中得到广泛应用。

在这里插入图片描述
接线说明

ESP32OLED屏幕
GNDGND
3.3vVCC
14SCL
27SDA

I2C是什么

I2C是two-wire serial protocol(双线串行通信协议,有 的地方也叫做Inter-integrated
circuit)的简称,它是嵌入式系统中最常用的接口之一。I2C只需要使用SDA和SCL两个信号线,就可以和其他带 有I2C接口的芯片连接,一个I2C总线上可以挂载多个芯片,因此可以减 少连线的数量。I2C接口的主要特点是信号线采用开漏连接方式以及支 持总线连接(UART 一般情况只能一对一连接),并且支持多个主机以及冲突管理机制。因为I2C和SPI都有独立的时钟信号,所以也叫做同步串行总线,数据传输速率也比UART快。

ESP32中的I2C用法

from machine import I2C,Pin
i2c = machine.I2C(scl,sda)
构建 I2C 对象。scl:时钟引脚;sda:数据引脚。
使用方法
i2c.scan()
扫描 I2C 总线的设备。返回地址,如:0x3c;
i2c.readfrom(addr,nbytes)
从指定地址读数据。addr:指定设备地址;nbytes:读取字节数;
i2c.write(buf)
写数据。buf:数据内容;
>>> from machine import I2C
>>> i2c = I2C(sda=Pin(27), scl=Pin(14))
>>> i2c.scan()
[60]
>>> # 60转成16进制就是0x3c
>>> i2c.readfrom(0x3c,2)
b'\x06\x06'
>>> i2c.readfrom(0x3c,5)
b'\x06\x06\x06\x06\x06'

示例代码

from machine import I2C,Pin
from ssd1306 import SSD1306_I2C #从 ssd1306 模块中导入 SSD1306_I2C 子模块
i2c = I2C(sda=Pin(27), scl=Pin(14))
#OLED 显示屏初始化:128*64 分辨率, I2C 地址是 0x3c
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
oled.text("Hello python", 0, 0) #写入第 1 行内容
oled.text("ESP32 TEST", 0, 20) #写入第 2 行内容
oled.text("xianyuWorkshop", 0, 50) #写入第 3 行内容
oled.show() #OLED 执行显示

将uPy_lib文件中的ssd1306.py拖入device中才可以使用。
在这里插入图片描述
效果
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

咸鱼桨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值