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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 网络规划与设计「建议收藏」

    网络规划与设计「建议收藏」一、网络生命周期网络生命周期就是网络系统从思考、调查、分析、建设到最后淘汰的总过程。常见的网络生命周期是四阶段周期模型、五阶段周期模型、六阶段周期模型。1.四阶段周期模型特点:能够快速适应新的

  • asp.net 微信分享到朋友圈,分享给朋友接口

    asp.net 微信分享到朋友圈,分享给朋友接口微信分享到朋友圈,分享给朋友说明:转载:http://www.cnblogs.com/ysyn/archive/2015/07/23/4665897.html、引言:  工作中开发微信网站,简称微网站。由于微网站的分享内容是系统自动选取的当前网址,客户需要改变分享的内容,即点击屏幕右上角的分享按钮,选择发送给朋友和发送到朋友圈,其中的内容和图片需要自定义。于

  • linux中安装pycharm_ubuntu激活成功教程pycharm

    linux中安装pycharm_ubuntu激活成功教程pycharm前言由于学习需要,准备开始在linux环境下使用python。一开始是使用了vim作为编译器的,我承认vim确实很简洁,然而对于我这种新手来说确实是很低效,一开始用vim写代码真的是让我重新体会了一遍VC手撸C语言的感觉,而且面对了还是tf这种函数巨多的库。因此还是转去用了pycharm,可能我注定和大神无缘吧,逼格都提升不到。这篇文章主要介绍linux下的安装、环境配置和学生优惠。安装…

  • Ubuntu18.04 安装Jdk1.8[通俗易懂]

    Ubuntu18.04 安装Jdk1.8[通俗易懂]Ubuntu18.04安装Jdk1.8

  • 访问网站出现 Directory Listing Denied This Virtual Directory

    访问网站出现 Directory Listing Denied This Virtual Directory

  • LaTeX公式自动换行

    LaTeX公式自动换行LaTeX公式自动换行文章目录LaTeX公式自动换行前言一、autobreak宏包二、breqn宏包总结前言在使用amsmath等宏包输入公式的时候,最折腾的就是比较特殊样式的公式和长公式,尤其是长公式在投稿期刊排版的时候经常遇到,有的期刊是双栏的版式,这样公式太大就要面临公式要进行折行的调整,很多时候我们使用align,multiline等环境,现在有个更加灵活的更加自动的宏包来了,可以让长公式自动换行了。一、autobreak宏包\usepackage{amsmath}\usepacka

发表回复

您的电子邮箱地址不会被公开。

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