Arduino通过I2C控制1602LCD显示屏

出错原因

对比度太高,实际输出了文字但是无法看到,需要弄螺丝刀电位器,此外出错原因还有地址不对,可通过文末代码进行测试。
在这里插入图片描述

注意事项

  • 对比度调节
  • 地址是否正确
  • 接线
    GND ------ 地线
    VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)
    SDA ------ I2C 数据线
    SCL ------ I2C 时钟线
  • 注意显示文字长度

常用函数

lcd.init(),lcd初始化
setCursor(x,y),设置起始坐标
lcd.print(),显示内容
lcd.clear(),清空显示屏
lcd.backlight(),开启lcd背光灯

程序代码

下列代码包含两个部分,前半部分为正常驱动LCD显示屏,后半部分(注释掉了)用于寻找LCD物理地址。


//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库

//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
LiquidCrystal_I2C lcd(0x27,16,2);  

void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景等亮
}

void loop()
{
  lcd.setCursor(0,0);                //设置显示指针
  lcd.print("LCD1602 I2C");     //输出字符到LCD1602上
  lcd.setCursor(0,1);
  lcd.print("           Hello");
  delay(1000);
}


/*********************************************************************/
//查找LCD地址的程序 I2C Scanner
/*
#include <Wire.h>
void setup() { 
    Serial.begin (115200); // Leonardo: wait for serial port to connect 
    while (!Serial) { } 
    Serial.println (); 
    Serial.println ("I2C scanner. Scanning ..."); 
    byte count = 0; 
    Wire.begin(); 
    for (byte i = 8; i < 120; i++) { 
        Wire.beginTransmission (i); 
        if (Wire.endTransmission () == 0) { 
          Serial.print ("Found address: "); 
          Serial.print (i, DEC); 
          Serial.print (" (0x"); 
          Serial.print (i, HEX); 
          Serial.println (")"); 
          count++; 
          delay (1); // maybe unneeded? 
        } // end of good response 
    } // end of for loop 
    Serial.println ("Done."); 
    Serial.print ("Found "); 
    Serial.print (count, DEC); 
    Serial.println (" device(s).");
} // end of setup
void loop() {}
*/

输出结果
在这里插入图片描述

  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值