(Arduino) LCD1602模块使用方法(IIC模式)

news/2024/4/23 12:30:26/

topic

    • 介绍
      • 引脚说明
      • 接线方法
    • 代码示例1:
    • 问题解疑
    • 寻找IIC设备地址的代码

参考:https://lastminuteengineers.com/arduino-1602-character-lcd-tutorial/

介绍

1602液晶显示器(1602 Liquid Crystal Display,此后简称1602 LCD)是一种常见的字符液晶显示器,因其能显示16*2个字符而得名。
在这里插入图片描述

我们使用IIC LCD1602模块集成了IIC I/O扩展芯片,通过两线制的IIC总线(串行时钟线SCL,串行数据线SDA),可使Arduino实现控制LCD 1602显示的目的。

通过设置跳线还可以设置地址: 0x20-0x27。模块背面可以看到一块蓝色的电位器,旋转它可以调节1602液晶显示器的对比度。
背后的接线引脚分别为GND;VCC;SDA;SCL(SDA和SCL分别为iic通讯的数据线和时钟线)

获取此库可点击:项目-加载库-管理库,在搜索框内搜索liquidCrystal可找到若干关于驱动液晶的库文件,在下面就有LiquidCrystal_I2C相关的库文件,点击安装即可。
也可以去GitHub下载LCD1602_I2C的库,下载地址是 https://github.com/marcoschwartz/LiquidCrystal_I2C

引脚说明

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

接线方法

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

代码示例1:

//LingShun lab  
#include <Wire.h>   
#include <LiquidCrystal_I2C.h> //引用I2C库  //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册  
LiquidCrystal_I2C lcd(0x3F,16,2);    void setup()  
{  lcd.init();                  // 初始化LCD  lcd.backlight();             //设置LCD背景等亮  
}  void loop()  
{  lcd.setCursor(0,0);                //设置显示指针  lcd.print("LCD1602 iic Test");     //输出字符到LCD1602上  lcd.setCursor(0,1);  lcd.print("         by L.L.");  delay(1000);  
}  

问题解疑

  1. 是一个模块还是两个模块?
    这模块是通过LCD1602屏 和 LCD1602 I2C 模块 焊接结合的,可以直接买焊接好的,也可以分开买,不过就需要点动手能力。

  2. 无法正常显示?
    刚上电的时候,老是显示一个个方块,如图
    在这里插入图片描述

这情况一般是地址错误,

寻找IIC设备地址的代码

一个寻找设备地址的代码 (来源:Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接))
官方地址:i2c_scanner(http://playground.arduino.cc/Main/I2cScanner)

#include <Wire.h>void setup() {Wire.begin();Serial.begin(9600);Serial.println("\nI2C Scanner");
}void loop() {byte error, address;int nDevices;Serial.println("Scanning...");nDevices = 0;for (address = 1; address < 127; address++ ) {// The i2c_scanner uses the return value of// the Write.endTransmisstion to see if// a device did acknowledge to the address.Wire.beginTransmission(address);error = Wire.endTransmission();if (error == 0) {Serial.print("I2C device found at address 0x");if (address < 16)Serial.print("0");Serial.print(address, HEX);Serial.println(" !");nDevices++;} else if (error == 4) {Serial.print("Unknow error at address 0x");if (address < 16)Serial.print("0");Serial.println(address, HEX);}}if (nDevices == 0)Serial.println("No I2C devices found\n");elseSerial.println("done\n");delay(5000); // wait 5 seconds for next scan
}

把模块按接线方法接好,上传这段代码后,打开端口监视器,就能找到在I2C上的设备地址.


http://www.ppmy.cn/news/534888.html

相关文章

arduino串口监视器显示nan_使用Arduino开发板制作摩尔斯电码生成器

摩尔斯电码是一种通信系统,用于在两个不同持续时间的信号中编码任何字符,称为点和虚线。摩尔斯电码由Samuel F.B开发。并进一步用于电报传输秘密信息。它在第二次世界大战时最常用。摩尔斯电码可以通过点击、闪烁灯或写入来执行。摩尔斯电码有两种版本,原始和国际摩尔斯电码…

使用Arduino、RTC和LCD显示屏的基于RFID的考勤系统

在本篇文章中&#xff0c;我们将介绍如何使用Arduino设计一款基于RFID的考勤系统。 EM-18 RFID读卡器是一个非常简单但有效的模块。它是一个RFID模块&#xff0c;用于扫描RFID卡。它是一项新技术&#xff0c;并且每天都在扩展。如今&#xff0c;它已被广泛用于办公室&#xff0…

将手机作为电脑硬件监视器

将手机作为电脑硬件监视器 无意间看到有人利用闲置的手机做了一个显示电脑性能情况的小显示器&#xff0c;觉得有点意思于是自己也做了一个。 首先我们需要三个软件应用 分别是 AIDA 64 , RemotePanelSetup(电脑端手机端) 准备 安装好三个软件/应用后&#xff0c;我们需要用…

Arduino开发实例-DS3231实时时钟+LCD显示

DS3231实时时钟+LCD显示 1、DS3231介绍 DS3231是低成本、高精度I2C实时时钟(RTC),具有集成的温补晶振(TCXO)和晶体。该器件包含电池输入端,断开主电源时仍可保持精确的计时。集成晶振提高了器件的长期精确度,并减少了生产线的元件数量。DS3231提供商用级和工业级温度范围,…

TFT-LCD的主要特点以及市场分析

TFT-LCD即薄膜场效应晶体管LCD&#xff0c;是有源矩阵类型液晶显示屏(AM-LCD)中的一种。 TFT-LCD&#xff0c;是目前唯一在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上和超过CRT的显示屏件&#xff0c;它的性能优良、大规模生产特性好&#xff0c;自动化程度高…

Arduino与LCD1602(I2C)搭配使用攻略

文章目录 1.连线2.安装库3.查找串口地址4.正式烧录5.效果展示 1.连线 我使用的是Arduino&#xff08;UNO&#xff09;开发板和LCD1602带拓展板I2C。具体连线比较简单。 GND ------ 地线 VCC ------ 电源5V SDA ------ I2C 数据线 SCL ------ I2C 时钟线 2.安装库 arduinoIDE…

Arduino 和LCD1602液晶屏 I2C接口实验

LCD1602液晶屏 带I2C接口 为什么使用I2C接口&#xff1f;因为省IO口啊&#xff0c;只需要4条线&#xff0c;可以看看之前发的实验&#xff0c;接线多复杂呀&#xff0c;对吧。 &#xff08;传送门&#xff1a;Arduino携手LCD1602 向世界问好“hello World&#xff01;”&#…

LCD设备驱动

一、LCD硬件原理 利用液晶制成的显示器LCD&#xff0c;依据驱动方式可分为静态驱动、简单矩阵驱动以及主动矩阵驱动3中。其中&#xff0c;简单矩阵型又可再区分扭转向列型&#xff08;TN&#xff09;和超扭转式向列型&#xff08;STN&#xff09;两种&#xff0c;而主动矩阵型则…

点亮LCD屏————遥控计算器 arduino

基于arduino uno r3/ Mega2560&#xff0c;做一个用遥控器控制的计算器。。。。。 目录 一. 实验材料&#xff1a; (ง •_•)ง 二.具体步骤&#xff1a; …

【Arduino连接时钟模块在LCD1602上显示时间】

Arduino连接时钟模块在LCD1602上显示时间 前言关于 DS1307DS1307 引脚排列DS1307 模块元件DS1307 传感器模块原理图对 DS1307 进行编程和设置时间在 LCD 上显示时间的代码原理图和代码前言 时间在当今社会至关重要,对于某些电子产品,时间至关重要;就像我们一样,他们需要一…

Arduino 和LCD1602显示屏

LCD1602显示屏 带I2C接口 引脚说明 GND ------ 地线 VCC ------ 电源&#xff08;5V or 3.3v 电源不同显示效果有点差别&#xff09; SDA ------ I2C 数据线 SCL ------ I2C 时钟线 接线方法 LCD1602 i2c模块 Ardunio Uno GND …

LCD 1602A

1.直接与Arduino相连 2.通过转接板利用I2C的方式与Arduino相连 1. 直接与Arduino相连 直接与Arduino相连的好处是不用现另外购买转接板&#xff0c;但这样造成的后果就是要大量占用Arduino的IO口。如果你的项目外接的传感器不多&#xff0c;那还好&#xff0c;但如果你需要外接…

串口数据接收LCD液晶显示

接上篇博客&#xff0c;对串口接收到的数据在LCD液晶上进行显示&#xff0c;这里只显示了一个数据&#xff0c;拿了数组里面的一个数据进行了显示。硬件连接上&#xff1a;A板PA9---->B板PA10&#xff0c;A板PA10--->B板PA9。 #include "led.h" #include "…

Arduino 电位器模拟电压表 (有LCD屏)

Arduino 电位器模拟电压表 写在前面 其实这个作业我最初是打算水过去的&#xff0c;在串口监视器显示一下就算了&#xff1b;后来还是希望能在显示屏上看到模拟电压值&#xff0c;所以就加了一个屏。 不过难度并没有加大&#xff0c;还是很简单的&#xff0c;大家想混作业的可…

ArduinoUNO实战-第十五章-液晶LCD1602实验

目录 目标理论学习实物图技术参数LCD1602 正面背面 IIC/I2C 1602A正面背面 CGRAM LCD1602 接线图IIC/I2C 1602A接线图效果图IDE代码LCD1602引入库LiquidCrystal.h代码 IIC/I2C 1602A方法一&#xff1a;引入库LiquidCrystal_I2C.h方式二运行检测程序检测模块的默认起始地址简单示…

基于FPGA的VGA/LCD显示控制器设计(下)

今天给大侠带来基于FPGA的VGA/LCD显示控制器设计&#xff0c;由于篇幅较长&#xff0c;分三篇。今天带来第三篇&#xff0c;下篇&#xff0c;程序的仿真与测试以及总结&#xff0c;话不多说&#xff0c;上货。 之前也有图像处理以及VGA显示相关的文章&#xff0c;这里给个超链…

LCD12864读取GDRAM数据异常

LCD12864读取GDRAM数据异常 环境程序流程流程粗述读取数据函数流程细述 异常情况描述可疑点最后 环境 arduino IDEarduino unolcd4位通讯接法程序流程 流程粗述 1.写GDRAM地址&#xff0c;选择第10行第7列的字&#xff08;每字2字节&#xff09; 2.向GDRAM写入数据0x0A0C&…

C51单片机驱动LCD1602显示字符串

之前做了好多外设&#xff0c;都只是玩玩&#xff0c;并不曾记录一下&#xff0c;时间久了&#xff0c;竟也都忘记了&#xff0c;周末无事&#xff0c;重新写了一下LCD1602的驱动函数&#xff0c;给有需要的人做一个参考&#xff1a; 硬件电路&#xff1a; 其中&#xff0c;RS…

arduino串口监视器显示nan_arduino+dht11+lcd1602

有大佬可以帮我看一下吗? 我将arduino uno 和dht11还有lcd连接起来,但是lcd和串口监视器里面显示的温湿度值都是nan 这是我的代码 #include <DHT.h> #include <DHT_U.h>#include <LiquidCrystal.h>#define DHTPIN 8 #define DHTTYPE DHT11 DHT dht(DHTPIN,…

Linux 命令行 LCD唤醒,如何确定是否从Linux命令行打开LCD监视器

VESA DDC连接是一个I2C连接&#xff0c;可用于查询监视器的存在。 Linux暴露了I2C设备&#xff0c;用户程序可以直接与监视器通信&#xff0c;代码如http://jaffar.cs.msu.su/oleg/ddcci/ 请注意以下内容&#xff1a;Control 0xe1: /1/1 [SAM: Power control (0 - off/1 - on)]…