简介

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。

引脚说明

引脚    符号    说明
1        GND    接地
2        VCC    5V正极
3        V0       对比度调整,接正极时对比度最弱
4        RS      寄存器选择,1数据寄存器(DR),0指令寄存器(IR)
5        R/W    读写选择,1度,0写
6        EN      使能(enable)端,高电平读取信息,负跳变时执行指令
7~14 D0~D7    8位双向数据
15      BLA    背光正极
16      BLK    背光负极

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

材料

大面包板 x1
3脚电位器 x1
LCD 1602 x1
Arduino UNO x1

接线示意图

LCD1602    —>    Arduino UNO    说明
GND           —>    GND    接地
VCC            —>    5V    5V电源
V0               —>    连接3脚继电器中间,用于调节对比度
RS              —>    3    随便接一个输出口,方便接线、画图
R/W            —>    GND    接地,写模式
EN              —>    5    随便接一个输出口,方便接线、画图
D0~D3       —>    4位工作模式,不使用
D4~D7       —>    10~13    其它口也行,方便接线、画图
BLA            —>    背光,电源正极,可选
BLK            —>    背光,接地,可选

代码

加载库文件
打开Arduino IDE,选项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可,笔者的IDE版本为1.6.12,自带该库。

示例代码, hello word

//引入依赖
#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 Worldlcd.print("hello, world!");
}void loop() {//设置光标定位到第0列,第1行(从0开始)lcd.setCursor(0, 1);//打印从重置后的秒数lcd.print( millis() / 1000);
}

示例代码,自动滚屏

//引入依赖
#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);
char arr [9]= {'a', 'b', 'c', 'd' ,'e' ,'f' ,'g', 'h', 'i'};void setup() {//设置LCD要显示的列数、行数,即2行16列lcd.begin(16, 2);
}void loop() {//输出1-9,a1-9,b,1-9,clcd.setCursor(0, 0);lcd.autoscroll();for(int i = 0; i < 9; i++){for(int j = 1; j < 10; j++){lcd.print(j);delay(500);}lcd.print(arr[i]);delay(500);}//关闭自动滚屏lcd.noAutoscroll();//为下重循环清屏lcd.clear();
}

————————————————


2.通过PCF8574T转接板与Arduino相连

通过此种方式,可以大大节省Arduino的IO口,前提是你还得购买一块PCF8574T转接板。

LCD显示屏与转接板

所需要材料

  • 1x Arduino UNO
  • 1x LCD 16x2
  • 1x PCF8574T转接板
  • 电烙铁、焊锡、松香等

接线

首先,把转接板焊接到LCD显示屏上(方向如上图)

PCF8574T   Arduino
GND -> GND
VCC -> 5V
SDA -> A4
SCL -> A5

如果你的A4,A5口已经被占用,那么你还可以接到Arduino最上面的两个没有标文字的IO口,即D0-D13那一排最上面的那两个口

  • SCL -> 最上面的口
  • SDA -> 第二个口

扫描I2C地址

将以下代码拷贝到Arduino IDE,并执行。然后选择工具->串口监视器,把右下角的波特率改为115200,即可读出I2C地址,如下图。

// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011
#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() {}

加载库文件

到这里下载最新的New LiquidCrystal,手动添加到你的 Arduino IDE中。(ps:记得修改你的I2C地址,把LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7);0x3F改为你的真实地址)

示例代码

/* Demonstration sketch for PCF8574T I2C LCD Backpack Uses library from https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads GNU General Public License, version 3 (GPL-3.0) */
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack
void setup() { // activate LCD module lcd.begin (16,2); // for 16 x 2 LCD module lcd.setBacklightPin(3,POSITIVE); lcd.setBacklight(HIGH);
}
void loop() { lcd.home (); // set cursor to 0,0 lcd.print(" tronixlabs.com"); lcd.setCursor (0,1); // go to start of 2nd line lcd.print(millis()); delay(1000); lcd.setBacklight(LOW); // Backlight off delay(250);        lcd.setBacklight(HIGH); // Backlight on delay(1000);
}

Arduino——LCD1602显示屏相关推荐

  1. Arduino和C51开发LCD1602显示屏

    技术:51单片机.Arduino.LCD1602 概述 本文介绍了LCD1602显示屏,并在LCD1602上显示字符串,对LCD1602常见的问题的解决和开发方法也做了简单介绍. 详细 代码下载:ht ...

  2. Arduino 和LCD1602显示屏

    LCD1602显示屏 带I2C接口 引脚说明 GND ------ 地线 VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别) SDA ------ I2C 数据线 SCL - ...

  3. 物联网开发笔记(25)- 使用Micropython开发ESP32开发板之控制LCD1602显示屏

    这一节我们讲解了如何控制LCD1602显示屏,显示两行字. 一.目的 使用MicroPython开发ESP32开发板控制LCD1602显示屏 二.环境 ESP32 + LCD1602显示屏 + Tho ...

  4. 物联网开发笔记(26)- 使用Micropython开发ESP32开发板之控制LCD1602显示屏(续)

    上一节介绍了使用i2c来控制LCD1602显示屏,那么使用GPIO怎么控制LCD1602显示屏呢?使用GPIO又分为8bit和4bit两种模式,比较常用的4bit模式,因为它占用GPIO口比较少.   ...

  5. 4.11 51单片机-LCD1602显示屏

    4.11 LCD1602显示屏 4.11.1 原理图介绍 图4-11-1 图4-11-2 根据原理图得知: LCD1602的数据脚接P0口. RD(RS)引脚接P2.6 WR(RW)引脚接P2.5 L ...

  6. lcd1602显示屏显示“welcome to 207”

    基础知识: lcd1602显示屏可以显示两行,一行可以显示16个字符 显示原理:(简单了解) 一般的液晶显示器(Liquid Crystal Display, LCD) 的主要原理是以电流刺激液晶分子 ...

  7. 【mcuclub】LCD1602显示屏

    1.实物图 2.原理图 3.原理介绍 LCD1602:LCD1602液晶显示器是一种广泛使用的字符型液晶显示模块.它是由字符型液晶显示屏(LCD).控制驱动主电路及其扩展驱动电路,以及少量电阻.电容元 ...

  8. LCD1602显示屏原理及使用教程

    1.芯片简介 LCD1602显示屏为字符显示屏,显示字符为16*2.采用 LCD 显示一个字符时比较复杂,因为一个字符由 6×8 或 8×8 点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM ...

  9. arduino串口显示屏

    arduino串口显示屏 在家呆的经费已经耗尽了,想做一个电子钟项目却缺少一个合适的串口屏,于是我盯上了闲着的arduino和买了很长时间的8bit9341屏幕...... 先列目标:我的要求是一个比 ...

最新文章

  1. C/C++内存分配与Linux内存管理进程所涉及到的五个数据段 .
  2. MINA2 源代码学习--源代码结构梳理
  3. 按月分表(create table)
  4. 奥维地图导入西安坐标_奥维地图导入坐标样式 奥维地图批量导入经纬度坐标...
  5. 信赖铃音的PS2游戏目录2017.6
  6. 软件工程的可行性分析
  7. R语言ggplot2可视化:使用ggpubr包的ggviolin函数可视化小提琴图、使用add_summary函数(设置参数为median_iqr)在可视化图像中添加中位数数据点、IQR线条
  8. 【蓝凌系统】OA首页最新知识_正文表格模板
  9. 2016年计划,2015年总结
  10. Spring5 里边的新玩法!这种 URL 请求让我涨见识了!
  11. Deep Learning Based Registration文章阅读(五)《Anatomy-guided Multimodal Registration by Learning Segment 》
  12. ccd视觉定位教程_什么是CCD视觉定位自动焊锡机器人?
  13. android自动拨号112,自动拨号打电话助手
  14. python常识系列07-->python利用xlwt写入excel文件
  15. 阿里云盘最新邀请码,某度颤抖吧(持续更新中~)
  16. 2022年全球市场交流运动控制器总体规模、主要生产商、主要地区、产品和应用细分研究报告
  17. F. Greedy Sequence(The Preliminary Contest for ICPC Asia Nanjing 2019题解)
  18. CSDN付费专栏上线,写文章变现的机会来了!
  19. 教你如何处理加速电脑速度(转载)
  20. matlab图片互相关,两个图像之间的互相关

热门文章

  1. tabulator.js表格分页查询
  2. 二叉树----层序遍历
  3. Copying DNA 复制DNA
  4. Godaddy主机修改PHP版本教程,godaddy主机空间用.htaccess升级PHP版本
  5. 常用的专业数据恢复软件有哪些?恢复数据就看这10个!
  6. 社群和私域如何做,消费返利也是噱头吗
  7. 量子退火算法入门(7):如何QUBO中的三次多项式怎么转换?
  8. IATF16949标准的五大工具
  9. java程序聊天室发送不了_江湖救急!我写了一个java聊天室程序,运行时可以打开聊天窗口,但无法发送消息,怎么会这样,求大神拯救...
  10. 简单画图板示例(虚函数应用示例)