Arduino连接LCD1602显示屏

Arduino连接LCD1602显示屏LCD1602液晶屏带I2C接口使用I2C接口,省IO口,只需要4条线即可。通过背光灯,和可调节对比度(就是背面蓝色那块可以旋转的调)自从1.6.6版本的IDE出来后,不断有反应LCD1602IIC液晶显示不正常,打印一字符串,却只显示第一个字符!最初解决办法换低版本IDE,就可以解决该问题!现在问题找出来了,只需要更改LiquidCrystal_I2C.cpp文件中的一个语…

大家好,又见面了,我是你们的朋友全栈君。

LCD1602液晶屏 带I2C接口

使用I2C接口,省IO口,只需要4条线即可。通过背光灯,和可调节对比度(就是背面蓝色那块可以旋转的调)

在这里插入图片描述

在这里插入图片描述

自从1.6.6版本的IDE出来后,不断有反应LCD 1602 IIC液晶显示不正常,打印一字符串,却只显示第一个字符!最初解决办法换低版本IDE,就可以解决该问题!
现在问题找出来了,只需要更改 LiquidCrystal_I2C.cpp 文件中的一个语句就可以了,更改如下:

inline size_t LiquidCrystal_I2C::write(uint8_t value) {
        send(value, Rs);
        return 0; 改为 return 1;
}

引脚说明

GND —— 地线
VCC —— 电源(5V or 3.3v 电源不同显示效果有点差别)
SDA —— I2C 数据线
SCL —— I2C 时钟线

接线方法

LCD1602 i2c模块 Ardunio Nano
GND <——> GND接地线
VCC <——> 5V 接电源
SDA <——> A4
SCL <——> A5

程序如下:


#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //1602LCD 驱动  引用I2C库
void setup(){
lcd.init(); // 初始化LCD 
lcd.backlight(); //设置LCD背景等亮 
  lcd.setCursor(0,0);                //设置显示指针  
  lcd.print("HUM:67");     //输出字符到LCD1602上  
  lcd.setCursor(0,1);  
  lcd.print("TEN:20");
}

void loop(){

}
 

效果图:

在这里插入图片描述

在这里插入图片描述

LCD1602液晶屏

引脚说明

编号 引脚 说明
1 GND 接地
2 VCC 5V正极
3 V0 对比度调整,接正极时对比度最弱
4 RS 接地
5 R/W 接地
6 EN 接地
7~14 D0~D7 8位双向数据
15 BLA 背光正极
16 BLK 背光负极

3脚电位器
一个滑动变阻器,中间接负极(输出),两边分别接电源正极和接地(或不接)

在这里插入图片描述在这里插入图片描述

加载库文件

打开Arduino IDE,选项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可,笔者的IDE版本为1.6.12,自带该库。
在这里插入图片描述


//引入依赖
#include <LiquidCrystal.h>

// 初始化针脚
const int rs = 3, en = 5, d4 = 10, d5 = 11, d6 = 12 d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
    //设置LCD要显示的列数、行数,即2行16列
    lcd.begin(16, 2);

    //输出Hello World
    lcd.print("hello, world!");
}

void loop() {
    //设置光标定位到第0列,第1行(从0开始)
    lcd.setCursor(0, 1);
    //打印从重置后的秒数
    lcd.print( millis() / 1000);
}

在这里插入图片描述

4db6f04a0388a373d553898602626774

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160166.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL——MySQL 图形化管理工具的介绍

    MySQL——MySQL 图形化管理工具的介绍文章目录MySQL——MySQL图形化管理工具的介绍1、MySQLWorkbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL图形化管理工具的介绍MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MysQLWorkbench、phpMyAdmin、NavicatPreminum、MySQLDumper、SQLyog、dbeaver、MysQLODBcConnector、DataGrip。1、MySQL

    2022年6月30日
    22
  • java如何创建线程池_java线程池状态

    java如何创建线程池_java线程池状态分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net1、为什么要用线程池?线程池提供了一种限制和管理资源(包括执行一个任务)。每个线程池还维护一些基本统计信息,例如已完成任务的数量。这里借用《Java并发编程的艺术》,来说一下使用线程池的好处:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管

    2022年9月28日
    4
  • html5div居中属性,html怎样让div居中

    html5div居中属性,html怎样让div居中html让div居中的方法:1、通过加“内容”标签让div居中;2、在div中加入“margin:0auto属性;”自动调节居中。本文操作环境:windows7系统、HTML5&&CSS3版、DellG3电脑。DIV居中提供两个方法:1、简单快捷方法就是加内容标签。示例:center居中我要居中啦2、div中加入margin:0auto属性;自动调节居中。示例2:margin…

    2025年5月25日
    2
  • pytest fixtures_premier fixture

    pytest fixtures_premier fixturefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月30日
    6
  • php开发工程师面试题知识点总结(二)–基础篇

    php开发工程师面试题知识点总结(二)–基础篇

    2022年2月12日
    50
  • win系统JDK卸载和彻底删除

    win系统JDK卸载和彻底删除▌第一步:进入“控制面板”。▌第二步:进入“卸载程序”。▌第三步:进入到“程序和功能”界面找到jdk的两个程序:①java8update171(64-bit);②javaSEDevelopmentKit8update171(64-bit);分别右键卸载▌第四步:删除注册表编辑器中的文件在“运行”中输入Regedit,进入注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft,将JavaSoft文件夹及其子目录全部删除…

    2022年6月24日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号