Arduino 和LCD1602显示屏

LCD1602显示屏 带I2C接口

 

引脚说明

GND ------ 地线 

VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)

SDA ------ I2C 数据线

SCL ------ I2C 时钟线

接线方法

LCD1602 i2c模块                         Ardunio Uno

GND                           <------>        GND接地线

VCC                           <------>         5V 接电源

SDA                            <------>         A4

SCL                            <------>         A5

程序实现

需要用到LCD1602 I2C的库,下载地址是 https://github.com/marcoschwartz/LiquidCrystal_I2C

把下载的库放到Arduino的库里

文件夹说明:
LiquidCrystal_I2C-master     ——LCD1602 I2C库(库需要复制在arduino的库目录里)

 

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
 
//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
LiquidCrystal_I2C lcd(0x3F,16,2);  
 
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景等亮
}
 
void loop()
{
  lcd.setCursor(0,0);                //设置显示指针
  lcd.print("LCD1602 iic Test");     //输出字符到LCD1602上
  lcd.setCursor(0,1);
  lcd.print("         by L.L.");
  delay(1000);
}
 

显示结果:

 

问题解疑

是一个模块还是两个模块?

这模块是通过LCD1602屏 和 LCD1602 I2C 模块 焊接结合的,可以直接买焊接好的,也可以分开买,不过就需要点动手能力。

无法正常显示?

刚上电的时候,老是显示一个个方块,如图

这情况一般是地址错误,我根据说明上写的地址0x20,0x27 都试了个遍还是无法正常显示

后来通过一网友的帖子把这问题给解决了,

贴出了一个寻找设备地址的代码 (来源:Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接)

#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++ ){
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the 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); // wait 5 seconds for next scan
}

 

把模块按接线方法接好,上传这段代码后,打开端口监视器,就能找到在I2C上的设备地址,大家可以试试哦~~~

 

转载地址:https://blog.csdn.net/ling3ye/article/details/51542424

### 回答1: 要连接ArduinoLCD1602A显示屏,需要按照以下步骤进行: 1. 将LCD1602A显示屏插入到Arduino的数字引脚13-8上,其中VSS和VDD引脚分别连接到GND和+5V电源。 2. 将LCD1602A显示屏的RS、RW和E引脚分别连接到Arduino的数字引脚12、11和10。 3. 将LCD1602A显示屏的D4-D7引脚分别连接到Arduino的数字引脚5-2上。 4. 在Arduino IDE中打开一个新的空白项目,并添加LiquidCrystal库。 5. 在代码中初始化LiquidCrystal对象,并设置显示屏的列数和行数。 6. 在setup()函数中调用begin()函数以初始化显示屏。 7. 在loop()函数中使用print()函数向显示屏写入数据。 8. 将Arduino连接到电脑,并上传代码。 9. 在显示屏上查看输出结果。 以上就是连接ArduinoLCD1602A显示屏的基本步骤。需要注意的是,具体的引脚连接方式可能会因不同的Arduino板型而有所不同,需要根据具体情况进行调整。 ### 回答2: 首先,需要将LCD1602A连接到Arduino上。连接过程包括16个引脚。 引脚1(VSS):将它连接到Arduino的GND引脚。 引脚2(VDD):将它连接到Arduino的+5V引脚。 引脚3(VO):可通过调整亮度的方式来控制LCD屏幕的对比度。可以连接到一个变阻器或电位器。 引脚4(RS):控制数据是否是指令。将它连接到Arduino的Digital Pin 12。 引脚5(RW):用于读取或写入数据。将它连接到Arduino的GND引脚,因为在这里只需要进行写操作。 引脚6(E):允许整个屏幕进行读取和写入操作。将它连接到Arduino的Digital Pin 11。 引脚7 ~ 14(DB0 ~ DB7):这8个引脚用于LCD模块的数据传输。将它们分别连接到Arduino Digital Pins 2 ~ 9。 引脚15(LED+):如果您使用LCD 1602A带背光,则该引脚应连接到Arduino的+5V引脚。 引脚16(LED-):如果使用LCD 1602A带背光,则该引脚应连接到Arduino的GND引脚。 一旦完成了连接,我们可以电源并初始化LCD屏幕。在进行任何I/O操作之前,我们需要调用lcd.begin(16,2)函数,它会告诉Arduino LCD屏幕的行和列数量。 接下来,我们需要写一些代码,来将文本写入屏幕。我们可以使用lcd.print()函数将字符串写入屏幕上。例如:lcd.print(“ Hello World ”)。 除了字符串以外,我们还可以在屏幕上显示数字和变量。例如:lcd.print(120)或lcd.print(temperature)。 此外,我们还可以使用lcd.setCursor()函数使文本和数字在屏幕上显示在正确的位置。 最后,我们需要注意的是,LCD1602A模块上封装的控制器通常是HD44780。这意味着可以使用类似于液晶库(LiquidCrystal.h)的库,将操作简化成更少的代码。这可以帮助我们更轻松地控制LCD1602A模块,并将与Arduino连接和代码书写的时间更少。 ### 回答3: Arduino连接LCD1602A显示屏需要使用Arduino Uno等开发板和LCD1602A模块。以下是连接步骤: 1. 将LCD1602A模块的VSS引脚连接至Arduino Uno的GND引脚,VDD引脚连接至Arduino Uno的5V引脚。 2. 接下来将V0引脚连接至电位器的中间引脚,另外两个引脚分别连接至VSS和VDD。电位器可以调节显示屏的对比度。 3. 将RS(寄存器选择器)引脚连接至Arduino Uno的数字引脚12,RW(读/写)引脚连接至Arduino Uno的GND引脚,E(使能)引脚连接至数字引脚11。 4. 将D4-D7引脚分别连接至数字引脚5-8。 5. 最后将LCD1602A模块的K(接地)引脚连接至Arduino Uno的GND引脚。 在完成以上的接线之后,需要在Arduino中编写代码使Arduino控制LCD1602A模块的显示。代码示例如下: #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 6, 7, 8); void setup() { lcd.begin(16, 2); //列数和行数 lcd.print("Hello, world!"); // 显示文本 } void loop() { lcd.setCursor(0, 1); //移动光标 lcd.print(millis() / 1000); //显示时间 } 最后,将Arduino Uno与计算机连接,并将代码上传至Arduino上进行测试。通过这种方式,我们就可以实现Arduino控制LCD1602A模块的显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值