ESP32液晶屏的使用

基于I2C的液晶屏(128*64),之前在uno上实现,用的是SSD1306的库,现在希望移植到ESP32上来,直接采用原来的SSD1306肯定不行,管脚定义不一样。

在auduino的库管理中搜索ESP32 LED,有一个已经实现的库,名字比较长。

里面有DEMO,选择第一个。

这个DEMO利用了时间函数库,可以方便计算时间。因此第一个库TimeLib.h很重要,但是编译的第一个错就是这个库。

https://github.com/PaulStoffregen/Time

在GIT上下载该库,放入arduino的库文件夹中。

第二个问题,I2C的管脚定义。

// Initialize the OLED display using SPI
// D5 -> CLK
// D7 -> MOSI (DOUT)
// D0 -> RES
// D2 -> DC
// D8 -> CS
// SSD1306Spi        display(D0, D2, D8);
// or
// SH1106Spi         display(D0, D2);

// Initialize the OLED display using brzo_i2c
// D3 -> SDA
// D5 -> SCL
// SSD1306Brzo display(0x3c, D3, D5);

由于SSD1306这个液晶屏有两种接口,SPI和I2C,我买的I2C,看ESP32管脚定义是

D21->SDA

D22->SCL

但是将代码中的D3和D5改为该管脚报未定义错误。

看了下ESP32的wire.h文件,发现没有以上定义,只有SDA和SCL。

所以改为

SSD1306Wire  display(0x3c, SDA, SCL);

编译通过,上电后成功流水显示表盘时钟和数字时钟。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值