十,ESP32 在I2C LCD显示信息

释放双眼,带上耳机,听听看~!

一.介绍

本教程介绍如何通过LCM1602模块将LCD模块连接到Arduino ESP32,以显示来自ESP32的信息。将ESP32连接到LCD模块有两种方法:

  • 直接连接。通过这种方式,ESP32将浪费7个GPIO引脚(4个GPIO引脚用于数据传输,3个GPIO引脚用于LCD控制)。
  • 通过LCM1602模块连接。通过这种方式,ESP32将仅使用2个GPIO引脚作为I2C SDA和SCL引脚。LCM1602将负责将I2C数据转换为 LCD数据和控制信号。
十,ESP32 在I2C LCD显示信息
图:LCD1602模块
十,ESP32 在I2C LCD显示信息
图:LCM1602模块

注意:LCM1602 的I2C地址为0x27 

二.元器件清单

  • ESP32开发板
  • 一个I2C LCD1602模块
  • 面包板
  • 导线若干

三.电路图

十,ESP32 在I2C LCD显示信息

四.代码设计

我们将使用 为Arduino制作的库LiquidCrystal_I2C ,但我修改了一点以与ESP32兼容。你可以在这里下载这个库:https://github.com/nhatuan84/esp32-lcd 下载后导入arduino IDE。

该库提供了一些功能:

begin(sda=-1, int8_t scl=-1):

初始化库和I2C引脚,sda是ESP32 GPIO引脚连接到LCM1602 SDA,scl是ESP32 GPIO引脚连接到LCM1602 SCL。

backlight():

打开背光

setCursor(uint8_t col,uint8_t row):

将光标设置在列和行(16×02:2行[索引从0到1]和16列[索引从0到15])

print(char s [])

将字符串s打印到LCD

要使用这些函数,您需要创建LiquidCrystal_I2C的实例:

LiquidCrystal_I2C(uint8_t lcd_addr,uint8_t lcd_cols,uint8_t lcd_rows,uint8_t charsize = LCD_5x8DOTS);

lcd_Addr:是LCD的I2C地址,在这种情况下是0x27。

lcd_cols:是LCD的列数,它是16。

lcd_rows:是LCD的行数,它是2。

charsize = LCD_5x8DOTS:是一个字符的大小。默认值为5×8点。

所以它可以这样写:

LiquidCrystal_I2C lcd(0x27,16,2);

还有初始化

lcd.begin(12,14);

这里就表示ESP32 GPIO12连接到LCM1602 SDA,ESP32 GPIO14连接到LCM1602 SCL。

以下就是实现功能的代码:

五.测试代码

要测试代码,只需使用Arduino IDE上传它。然后,您应该看到LCD显示你需要的信息了。以下就是实现的效果:

十,ESP32 在I2C LCD显示信息

给TA打赏
共{{data.count}}人
人已打赏
ESP32ESP32-基础免费项目

九,ESP32 DHT11/22 读取温湿度

2018-9-7 23:43:55

ESP32ESP32-基础

十一,ESP32 SPI LED点阵显示信息

2018-9-8 11:38:04

7 条回复 A文章作者 M管理员
  1. B萝卜-高阳路维修

    试过没用的,

    • Luca

      程序里少一条初始化程序,lcd.init();加上就好了啊。。。。

    • Luca

      文中程序已加上,没问题了

  2. 点滴°

    这是啥情况

    • Luca

      用的库是不是不对?

  3. 点滴°

  4. unity

    不能用

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();