I2C LCD1602液晶显示屏

2024-06-02 10:44
文章标签 lcd1602 i2c 显示屏 液晶

本文主要是介绍I2C LCD1602液晶显示屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

前言

本文实现在 LCD1602显示屏的使用。 显示屏使用带I2C转接板的,如下图所示。
并且会做一些有趣的显示方式。

5fc9a40d89d4fa77dc88ea773ff8658.jpg

效果预览

b0624d8d5ef4708655f8edfd9315728.jpg

材料准备

材料数量价格
Arduino nuo118
杜邦线41
1602A显示屏110

依赖库下载

本文使用都库在 arduino ide 中搜索 LiquidCrystal_I2C 即可找到。

注意作者,别下载错!

db27d0c7f565933c2f4e01134ef6cf3.png

接线

1602AArduino nuo
VCC5v
GNDGND
SDAA4
SCLA5

简单显示一段字符


#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 20, 4);  // set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup() {// 初始化lcd.init();  lcd.backlight();// 简单的一个开始lcd.setCursor(0,0); // 设置文字开始位置(列, 行)lcd.print("Hello, world!");  
} void loop() {   
}

b0624d8d5ef4708655f8edfd9315728.jpg

文字逐个显示


#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 20, 4);  // set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup() {// 初始化lcd.init();  lcd.backlight();} void loop() {// 第一行char strArr[] = "Hello, world!";for (int i = 0; i < sizeof(strArr); i++) {lcd.setCursor(i, 0);                // 设置文字开始位置(列, 行)strArr[i] && lcd.print(strArr[i]);  // 打印文字delay(200);}// 第二行char strArr2[] = "case over";for (int i = 0; i < sizeof(strArr2); i++) {lcd.setCursor(i, 1);                // 设置文字开始位置(列, 行)strArr2[i] && lcd.print(strArr2[i]);  // 打印文字delay(200);}delay(3000);
}

自定义字符

#include <Wire.h>
#include <LiquidCrystal_I2C.h>#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endifuint8_t bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = {	0x1,0x1,0x5,0x9,0x1f,0x8,0x4};LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup()
{lcd.init();                      // initialize the lcd lcd.backlight();lcd.createChar(0, bell);lcd.createChar(1, note);lcd.createChar(2, clock);lcd.createChar(3, heart);lcd.createChar(4, duck);lcd.createChar(5, check);lcd.createChar(6, cross);lcd.createChar(7, retarrow);lcd.home();lcd.print("Hello world...");lcd.setCursor(0, 1);lcd.print(" i ");lcd.printByte(3);lcd.print(" arduinos!");delay(5000);displayKeyCodes();}// display all keycodes
void displayKeyCodes(void) {uint8_t i = 0;while (1) {lcd.clear();lcd.print("Codes 0x"); lcd.print(i, HEX);lcd.print("-0x"); lcd.print(i+16, HEX);lcd.setCursor(0, 1);for (int j=0; j<16; j++) {lcd.printByte(i+j);}i+=16;delay(4000);}
}void loop()
{}

4be21146e7962022f6320fc04ce68d3.jpg

这篇关于I2C LCD1602液晶显示屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023741

相关文章

全倒装COB超微小间距LED显示屏的工艺技术,相比SMD小间距有何优势

全倒装COB(Chip On Board)超微小间距LED显示屏,在工艺技术上的革新,相较于传统的SMD(Surface Mount Device)小间距LED显示屏,展现出了多方面的显著优势。 首先,全倒装技术极大地提升了LED芯片的散热性能。通过将芯片直接焊接在基板上,减少了热阻,使得热量能够更快速地传导至基板并散发出去,有效避免了因高温导致的光衰和色彩偏移问题,从而保证了显示屏的长期稳定性

逗比学树莓派之lcd1602显示

通过树莓派GPIO连接LCD1602,使用wiringPi库和其附带的LCD库进行显示树莓派的CPU温度和内存使用情况。 1.首先按下图连接好硬件电路图: 2.然后在终端使用命令 sudo apt-get install git 安装版本管理软件Git 。

基于 rt-thread的I2C操作EEPROM(AT24C02)

一、AT24C02 The AT24C01A/02/04/08A/16A provides 1024/2048/4096/8192/16384 bits of serial electrically erasable and programmable read-only memory (EEPROM) organized as 128/256/512/1024/2048 words of 8 b

LED显示屏维修技巧与常见问题

LED显示屏作为现代显示技术的重要组成部分,广泛应用于广告、信息发布、公共显示等多个领域。然而,随着使用时间的增长,LED显示屏难免会出现各种问题。本文将探讨LED显示屏维修的一些小技巧以及常见的问题,帮助用户更好地维护和延长显示屏的使用寿命。 LED显示屏维修小技巧 1. 快速定位问题 当LED显示屏出现问题时,首先需要快速定位故障部位。这通常涉及到对显示屏的初步检查,包括电源

I2C总线协议(AT24C02C)

本文章是基于TQ2440开发板上的AT24C02C 一, I2C简介       IIC即Inter-Integrated Circut(集成电路总线),有飞利浦在八十年代实际出来. I2C是一种多向控制总线,就是同一个总线下可以连接多个芯片,同时每个芯片都可以作为实时数据传输的控制源. 二. 硬件结构       I2C串行总线一般有两根信号线,一根是双向的数据总线SDA, 一根是

全倒装COBP1.5超微小间距LED显示屏快速抢占市场

随着全倒装COBP1.5超微小间距LED显示屏技术的日益成熟与成本的逐步降低,其市场渗透力愈发强劲,迅速在多个领域绽放出耀眼的光芒。不仅在传统的广告传媒、会议展览中成为不可或缺的视觉盛宴制造者,更在高端监控、虚拟现实体验、乃至医疗影像展示等前沿科技领域崭露头角。 随着市场需求的多样化,各大厂商纷纷加大研发投入,不断推出定制化解决方案,以满足不同场景下的特殊需求。这种灵活性与创新性,进一步推动了全

P0.7全倒装COB超微小间距LED显示屏厂家已量产,加速高清显示的发展

随着P0.7全倒装COB超微小间距LED显示屏技术的成功量产,这一里程碑式的成就不仅标志着高清显示技术迈入了全新纪元,更预示着未来视觉体验将迎来前所未有的变革。各大应用场景,如指挥中心、会议中心、大型活动直播、高端影院乃至家庭娱乐,都将因这项技术而焕发新生。 市场上,消费者对于视觉质量的追求日益高涨,P0.7全倒装COB显示屏以其极致细腻的画质、超高的色彩还原度以及卓越的稳定性,迅速成为行业新宠

petalinux i2c的配置

petalinux i2c配置 1.硬件平台配置 下图是我这边的一个硬件测试平台,仅供参考 2.内核配置 1.打开petalinux工程路径 1.cd <plnx-proj-root> 2.petalinux-config -c kernel 3.找到Xilinx I2C Controller Device Drivers -> I2C support -> i2C Hardware

高质量的小间距LED显示屏有什么表现

随着企业对宣传和品牌形象提升的需求日益增长,LED显示屏凭借其立体化宣传和低成本优势,逐渐成为企业宣传的重要工具。近年来,小间距LED显示屏在市场上逐渐普及,生产厂家和产品种类也不断增加。面对如此众多的选择,许多人在选择时往往感到困惑。那么,什么样的小间距LED显示屏才算得上是高质量的呢? 1. 发光管的高质量 高质量的小间距LED显示屏首先表现为其发光管的卓越品质。优质的发光管具有稳

STM32—I2C的基本时序,MU6050的ID读取

目录 前言 一、I2C基本时序的书写 二、I2C基本时序的代码 1.引脚的初始化 2.起始时序 3.停止时序 4.发送一个字节 5.接收一个字节 6.发送一个应答 7.接收一个应答 三.MU6050的应答 1.先验证下应答功能: 2.读取ID 总结 前言 环境: 芯片:STM32F103C8T6 Keil:V5.24.2.0 模块:MU6050