当前位置: 首页 > article >正文

Arduino大师练成手册 -- PCF8574T I2C控制LCD1602

Arduino 通过 PCF8574T 控制 LCD1602

硬件连接

  1. VCC:连接到 Arduino 的 5V 引脚。
  2. GND:连接到 Arduino 的 GND 引脚。
  3. SCL:连接到 Arduino 的 SCL 引脚(通常是 A5)。
  4. SDA:连接到 Arduino 的 SDA 引脚(通常是 A4)。

安装必要的库

  • 在 Arduino IDE 中,安装 LiquidCrystal_I2C 库。你可以在库管理器中搜索并安装该库。

代码示例

以下是一个简单的示例代码,用于通过 I2C 接口控制 LCD1602 显示屏:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// 设置 LCD 地址为 0x27,显示屏为 16x2
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init(); // 初始化 LCD
  lcd.backlight(); // 打开背光

  lcd.setCursor(0, 0); // 设置光标到第一行第一列
  lcd.print("Hello, World!"); // 显示文本
}

void loop() {
  // 在这里可以添加其他代码
}

连接示意图
VCC -> Arduino 5V

GND -> Arduino GND

SCL -> Arduino A5

SDA -> Arduino A4

重要提示
I2C 地址:确保你的 LCD 模块的 I2C 地址是 0x27。如果不是,请根据实际地址进行修改。

库安装:确保安装了 LiquidCrystal_I2C 库。如果没有安装,可以在 Arduino IDE 的库管理器中搜索并安装。

要扫描Arduino 上的I2C设备,可以使用下面的代码:

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  while (!Serial); // 等待串口连接
  Serial.println("\nI2C 设备扫描中...");
}

void loop() {
  byte error, address;
  int nDevices;

  Serial.println("扫描中...");

  nDevices = 0;
  for (address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("I2C 设备找到地址 0x");
      if (address < 16) Serial.print("0");
      Serial.print(address, HEX);
      Serial.println(" !");

      nDevices++;
    } else if (error == 4) {
      Serial.print("未知错误地址 0x");
      if (address < 16) Serial.print("0");
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0) {
    Serial.println("没有找到 I2C 设备\n");
  } else {
    Serial.println("扫描完成\n");
  }
  delay(5000); // 每 5 秒扫描一次
}

在这里插入图片描述


http://www.kler.cn/a/519037.html

相关文章:

  • 引领产品创新: 2025 年 PM 效能倍增法则
  • Avalonia+ReactiveUI跨平台路由:打造丝滑UI交互的奇幻冒险
  • Unity|小游戏复刻|见缝插针1(C#)
  • 【动态规划】--- 斐波那契数模型
  • doris:MySQL Load
  • 2.1.3 第一个工程,点灯!
  • 【云安全】云原生-Docker(五)容器逃逸之漏洞利用
  • GMP底层
  • Web3 与数据隐私:如何让用户掌控个人信息
  • Vue组件开发-使用 html2canvas 和 jspdf 库实现PDF文件导出 设置页面大小及方向
  • 国自然数学与医疗健康交叉重点专项|基于多组学大数据的鼻咽癌个体化临床智能决策算法与支持系统|基金申请·25-01-23
  • 导航的 “精确之误“:道路拥堵的 SPF 成因与解决
  • 如何跨互联网adb连接到远程手机-蓝牙电话集中维护
  • 深度学习|表示学习|卷积神经网络|离散卷积的操作详细|10
  • DBSCAN密度聚类
  • 批量创建ES索引
  • 【Rust自学】14.5. cargo工作空间(Workspace)
  • Commander 一款命令行自定义命令依赖
  • 国自然重点项目|代谢影像组学只能预测肺癌靶向耐药的关键技术与应用|基金申请·25-01-25
  • 10.片元
  • 第14章 7种单例设计模式的设计(Java高并发编程详解:多线程与系统设计)
  • ubuntu18.04安装nvm管理本机node和npm
  • macos的图标过大,这是因为有自己的设计规范
  • 【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测
  • Coze,Dify,FastGPT,对比
  • 计算机的错误计算(二百二十二)