LCD(Liquid Crystal Display) CN: 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: {{#seo:|title=阿杜伊诺维基:LCD指南|title_mode=append|keywords=阿杜伊诺, 信息科学, 创客学习, 实践评估, LCD, 阿杜伊诺项目, 毕业设计项目, 阿杜伊诺示例代码|description=阿杜伊诺控制LCD的方法(基本信息、电路、示例代码)。适用于信息科学和创客课堂。}}class=coders100class=coders100 阿杜伊诺的LCD模块用于显示字符或数字,主要使用16x2...)
(차이 없음)

2025년 3월 19일 (수) 19:24 판

阿杜伊诺的LCD模块用于显示字符或数字,主要使用16x2或20x4尺寸的LCD显示屏。本文档介绍支持I2C通信的LCD。使用I2C接口而不是传统的并行接口,可以减少引脚数量并简化布线。通过轻松连接到阿杜伊诺板,可以在各种项目中以视觉方式呈现信息。


主要规格

显示尺寸 : 16x2、20x4最为常见。 电源供应范围 : 5V(直接由阿杜伊诺板供电) 接口 : I2C(SDA、SCL) 字符集 : 支持ASCII字符集 I2C地址 : 默认为0x27或0x3F(取决于模块)


功能

字符显示 : 可以显示字母、数字和特殊字符。对于图形或图像,限制较大,图形LCD或OLED更为合适。 背光控制 : 可以开启或关闭背光,并调整亮度。 光标控制 : 使用setCursor()函数移动或隐藏光标。 滚动功能 : 可以左右滚动文本。

背面有可变电阻,可以调整字符亮度。


应用示例

  • Wire(基本库,无需安装)
  • LiquidCrystal I2C:请通过库安装方法链接查看安装方法。


连接

无论尺寸(16x2、20x4)如何,连接方式都相同。

I2C LCD模块引脚 阿杜伊诺UNO引脚
VCC 5V
GND GND
SDA A4
SCL A5


1. 确认模块地址

1-1. 代码

#include <Wire.h>
 
void setup()
{
  Wire.begin();
  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}
 
void loop()
{
  byte error, address;
  int nDevices;
  Serial.println("Scanning...");
  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
  delay(5000);          
}
1-2. 执行结果


2. 在LCD上显示文本

2-2. 代码

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{  
//使用前初始化lcd。
lcd.init();

//启动lcd的背光。
lcd.backlight();

//将lcd的位置设置为(0,0)。(以左上角为基准)
lcd.setCursor(0, 0);

//编写要输出的文字。
lcd.print("Gongzipsa");

//将lcd的位置设置为(0,1)。
lcd.setCursor(0, 1);

//输出val值。
int val = 1004;
lcd.print(val);
}

void loop(){}


2-2. 执行结果

参考文档

阿杜伊诺 LCD Doc


购买链接

Gongzipsa商城