ESP8266通过IIC驱动1602液晶LCD显示器

it2024-08-23  72

文章目录

前言一、实验器材二、布线集成1.IIC 和1602 对接2. 电子线路图 三、代码讲解四 、重要说明1. 显示设置2. 地址查询3. 修改类库 五、 实物展示总结


前言

ESP8266用来点亮小屏幕,手里面正好有两种显示屏,分别是LCD1602/2004字符液晶屏和0.96寸的OLED液晶屏,实现的过程倒是很简单, 今天先写个8266 驱动1602的经验心得。 在ESP8266中直接连接驱动,是没有任何问题的。这里我买了块IIC I2C接口的转换板,如下图。ESP8266的IO口本来就很少了,还要占用需要7个IO口来显示屏幕,使用了转换板,可以减少使用5个IO口。


一、实验器材

esp8266 开发板

LCD1602/2004加I2C/IIC转换板

1602液晶面板

二、布线集成

1.IIC 和1602 对接

2. 电子线路图

屏幕的连接就对着转换板就是,线路的连接如下: SCL串行时钟连接到IO5 SDA串行数据连接到IO4

三、代码讲解

hello word 样例:

#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // 设置液晶地址 0x27 设置一行显示的字符 16个 2 行显示 void setup() { lcd.init(); //初始化 // Print a message to the LCD. lcd.backlight(); //打开背光 lcd.print("Hello, world!"); //输出内容 } void loop() { }

四 、重要说明

1. 显示设置

带背光电源控制,可以通过跳线帽设置是否连接背光电源。插上跳线帽为连接背光电源,拔掉跳线帽为断开背光电源 对比度可调节,旋转蓝色电位器,顺时针增强,逆时针减弱。电位器设计在正面,方便客户随时随地自由调节 模块可级联,最多可级联8个。通过短路A0/A1/A2修改设备地址。

2. 地址查询

有可能我们找不到液晶屏幕的地址可以尝试用如下代码找到液晶地址,运行后观察串口输出,输出信息即是地址

#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"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan }

如果能够搜索到的话,串口会有如下的提示信息。

I2C Scanner Scanning... I2C device found at address 0x27 ! done

3. 修改类库

这个操作很关键,如果液晶屏幕只显示一个字符,那么你就要修改下类库源代码,很简单,看我操作: 首先 打开这个cpp文件,然 把 0 改成1 即可。

五、 实物展示


总结

提示:这里对文章进行总结: 既然ESP8266本身是个MCU,具备GPIO、PWM、I2C、ADC等,而且又是以WIFI为基本功能,所以这个小工程要通过它们来实现一些特定的功能。比如我要通过GPIO来让Nokia5110的小屏幕来显示信息、用PWM来调节背光灯、然后打开WIFI并建立一个Socket Server来接收其他设备的通讯。本次课程我们成功的点亮了lcd ,以后我们可以用他做一些系统的调试 、显示等工作。

*玩转esp8266 ESP32 喜欢的朋友请入群 个人邮箱:281189260@qq.com 24小时在线,有发必回复! *
最新回复(0)