十,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模块

    注意: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}}人
人已打赏
ESP-32

九,ESP32 DHT11/22 读取温湿度

2025-4-15 17:17:53

ESP-32

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

2025-4-15 17:39:56

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