Arduino 和LCD1602液晶屏 I2C接口实验
LCD1602液晶屏 带I2C接口
为什么使用I2C接口?因为省IO口啊,只需要4条线,可以看看之前发的实验,接线多复杂呀,对吧。
(传送门:Arduino携手LCD1602 向世界问好“hello World!”)
还有背光灯,和可调节对比度(就是背面蓝色那块可以旋转的调)
具体怎么实现解决问题,请往下看
引脚说明
GND ------ 地线
VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)
SDA ------ I2C 数据线
SCL ------ I2C 时钟线
接线方法
LCD1602 i2c模块 Ardunio Uno
GND <------> GND接地线
VCC <------> 5V 接电源
SDA <------> A4
SCL <------> A5
程序实现
需要用到LCD1602 I2C的库,下载地址是 https://github.com/marcoschwartz/LiquidCrystal_I2C
把下载的库放到Arduino的库里(PS:不懂库是啥?请点击这里)
程序和库打包下载:https://u16460183.ctfile.com/fs/16460183-295783929
文件夹说明:
LiquidCrystal_I2C-master ——LCD1602 I2C库(库需要复制在arduino的库目录里)
LS_LCD1602 ——主程序
//LingShun lab
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //引用I2C库//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
LiquidCrystal_I2C lcd(0x3F,16,2); void setup()
{lcd.init(); // 初始化LCDlcd.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);
}
实例效果
问题解疑
是一个模块还是两个模块?
这模块是通过LCD1602屏 和 LCD1602 I2C 模块 焊接结合的,可以直接买焊接好的,也可以分开买,不过就需要点动手能力。
无法正常显示?
刚上电的时候,老是显示一个个方块,如图
这情况一般是地址错误,我根据说明上写的地址0x20,0x27 都试了个遍还是无法正常显示
后来通过一网友的帖子把这问题给解决了,
贴出了一个寻找设备地址的代码 (来源:Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接))
#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上的设备地址,大家可以试试哦
Arduino 和LCD1602液晶屏 I2C接口实验相关推荐
- Arduino 和LCD1602液晶屏 I2C接口 万年历时钟可调
引脚说明 GND ------ 地线 VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别) SDA ------ I2C 数据线 SCL ------ I2C 时钟线 接线方法 ...
- 【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- 通过 I2C 驱动 LCD1602 液晶屏(51单片机)
通过 I2C 驱动 LCD1602 液晶屏(51单片机) 硬件实物 原理图 3.程序 #include <reg51.h> #include <intrins.h>#defin ...
- 【花雕动手做】有趣好玩的音乐可视化系列项目(31)--LCD1602液晶屏
偶然心血来潮,想要做一个音乐可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...
- 【C51单片机学习笔记----DS18B20温度传感器LCD1602液晶屏直流电机调速与呼吸灯AD模数转换红外外部中断】
文章目录 一.DS18B20温度传感器 1.DS18B20温度传感器连接原理图 2.DS18B20温度传感器单总线通信时序 3.DS18B20温度传感器代码模块 二.LCD1602液晶屏 1.LCD1 ...
- Proteus仿真-LCD1602液晶屏使用方法(驱动一)
一.硬件链接 在元件库中搜索LM016即可找到LCD1602液晶屏. 按下图方式链接单片机和屏幕. 二.软件驱动代码 //屏幕相关引脚接口定义 #define D P0 sbit E=P2^6; sb ...
- LCD1602液晶屏使用(51单片机七夕特别版)
LCD1602液晶屏使用(51单片机七夕特别版) LCD1602简介 实现过程 操作时序 指令码 如何改变文本的样式 代码 效果图 今天是七夕节,周围的朋友啊小姐妹(伪)啊都跟对象出去玩了 囧rz,而 ...
- 51单片机进阶案例(1)——基于MATLAB GUI的单片机串口与PC的通信实现实时时钟和双向可调时钟功能(利用DS1302时钟芯片和LCD1602液晶屏)
目录 一.案例描述 二.实现功能 三.51单片机部分实现 3.1 实时时钟的实现 3.2 串口通信的实现 3.2.1 接收数据 3.2.2 发送数据 四.MATLAB部分实现 4.1 GUI界面 4. ...
- stm32 arduino 驱动jlx液晶屏
stm32 arduino 驱动jlx液晶屏 1.说明 单片机这次用的是STM32F103C8T6,烧成arduino用,库还是我们的老朋友u8g2.液晶屏型号是JLX 240160G-676,SPI ...
- 液晶屏MIPI接口与LVDS接口区别(总结)
液晶屏接口类型有LVDS接口.MIPI DSIDSI接口(下文只讨论液晶屏LVDS接口,不讨论其它应用的LVDS接口,因此说到LVDS接口时无特殊说明都是指液晶屏LVDS接口),它们的主要信号成分都是 ...
最新文章
- 2020年五大虚拟现实和增强现实趋势
- HBase在淘宝的应用和优化
- Java中重载(overload)和重写(override)
- 易语言服务器不在一个网段,设置二级路由器保持局域网在同一个网段
- hdu2243考研路茫茫——单词情结
- [tp3.2.1]让默认页面: 加载Home模块的Index控制器;而让admin.php默认去加载Admin模块的Adminc控制器....
- (转)EOSIO开发(四)- nodeos、keosd与cleos
- PHP和js做分页功能,php+js实现分页
- 旧电脑 软路由 openwrt 自定义安装ipk 操作记录
- 电子元件知识汇总2-封装
- 对辛辛那提原始数据集(ims)数据划分正常,内圈故障,滚动体故障,外圈故障(python代码),可作为自己故障诊断模型实验的另一个数据集(因为CWRU普遍而言,准确度和被使用频率已经极高)
- 基于tf-openpose的动作识别实现街头霸王5对战项目
- 中式红木整装塑造出中式家居的浪漫氛围
- 机器学习入门——鸢尾花问题
- 【PMP】燃起图燃尽图分析
- Java开发环境的搭建—Java JDK的下载与安装!
- 游戏设计模式之策略模式(二)
- 访问学者在新加坡访学生活日常花销大吗?
- AI配音 | 收藏了3个国内能用靠谱还纯免费的AI配音方法
- Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
热门文章
- segno-纯Python语言的二维码和微二维码生成器
- APISpace 二维码生成器API
- mysql的七种查询命令_MySQL数据库查询指令大全
- Java程序员“金三银四“就一定要出去面试吗?
- 最好的都在这里了 2016上半年电影豆瓣口碑排行榜
- 2019/04/15 在调试https://blog.csdn.net/hjw2719/article/details/83473199中程序时出现的问题
- 再见2020,你好2021
- 高中数学关于计算机的知识,高中数学必修三-算法概念基础知识解读
- echarts饼图自动动画_echarts实时旋转饼图效果特效
- JavaEE 13个核心规范