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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hostapd android,使用hostapd和dnsmasq实现软AP「建议收藏」

    hostapd android,使用hostapd和dnsmasq实现软AP「建议收藏」由于要共享无线给android,虽然cm6.1可以用ad-hoc,但感觉android连ad-hoc要比连ap耗电。本来想看看有什么usb无线网卡可以在linux下用软ap,顺便用来替换掉上网本的无线网卡,我的上网本在linux下的无线驱动太差劲(可恨的rtl8187),连ad-hoc都不支持。结果在http://linuxwireless.org上发现我台式机的无线网卡的ath5k驱动很完善,可…

    2022年5月21日
    97
  • Spring中@Transactional事务回滚(含实例详细讲解,附源码)

    Spring中@Transactional事务回滚(含实例详细讲解,附源码)

    2020年11月12日
    160
  • 解析PDB文件

    解析PDB文件参考vs的安装目录中的DIA2Dump工程C:\ProgramFiles(x86)\MicrosoftVisualStudio\2017\Enterprise\DIASDK\Samples\DIA2Dump

    2022年5月31日
    68
  • c++构造函数总结

    c++构造函数总结

    2021年9月29日
    48
  • java前端和后端的区别[通俗易懂]

    java前端和后端的区别[通俗易懂]java”前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容–从字体到颜色,以及下拉菜单和侧边栏。这些视觉内容,都是由浏览器解析、处理、渲染相关HTML、CSS、Javascript文件后呈现而来。java后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新Web应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。 java”前端”开发,就是要创造上面提到的网站面向用户的部分背后的代码,并.

    2022年7月9日
    19
  • 什么是TIME_WAIT

    什么是TIME_WAITTIME_WAIT是怎样产生的?因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL时长。什么是MSL?MSL指的是报文段的最大生存时间,如果报文段在网络活动了MSL时间,还没有被接收,那么会被丢弃。关于MSL的大小

    2022年6月4日
    40

发表回复

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

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