当前位置:首页 > 技术分享 > 正文内容

esp8266、Arduino用LCD1602(iic接口)进行显示

lmwmm2年前 (2024-03-30)技术分享1385

这里用了两个esp8266设备,分别是NodeMCU和Wemos D1 mini两个模块,Arduino设备是Arduino UNO。设备如下图示。

esp8266、Arduino用LCD1602(iic接口)进行显示


三个设备的引脚说明如图,后面连接屏幕要用到。

显示设备Lcd1602,能显示两行,每行16个字,后面焊接了IIC接口转接模块(PCA8574),如图。


esp8266、Arduino用LCD1602(iic接口)进行显示

IIC接口有GND、VCC、SDA、SCL三个接口,分别根据上面的引脚图,找到想要的引脚连接(NodeMcu的SCL与SDA对应引脚D1 D2),由于这个屏幕是5v工作电压,VCC要接5V,NodeMCU没有标识5V引脚,要接Vin。
下面是编写代码,都用Arduino IDE进行,要安装LiquidCrystal I2C库,代码如下。

#include <Wire.h>#include <LiquidCrystal_I2C.h>// I2C地址, 一般为0x3F, 0x20或0x27LiquidCrystal_I2C lcd(0x27, 16, 2);int i;char str[16];void setup(){
  lcd.init();//初始化显示屏
  lcd.backlight(); // 打开背光
  i = 0;  strcpy (str,"#");
}void loop(){
  lcd.setCursor(0, 0);//设置起始坐标
  lcd.print("Hello World!");
  lcd.setCursor(0, 1);  if(i<16){
    i++;
    lcd.print(str);    strcat(str,"#");
  }else{    strcpy(str,"#");
    i=0;
    lcd.clear();//清屏
  }
  delay(500);
}

I2C地址还可以通过写入arduino一段代码,通过串口监视器查询到。

// 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 setupvoid loop() {}

效果如图。



LCD1602和超声波传感器,进行整合后代码如下:

#include <Wire.h>  
#include <LiquidCrystal_I2C.h>  
 
// 定义I2C地址和LCD尺寸  
// LCD1602 D1 D2针脚  
#define I2C_ADDR 0x27 // 根据你的I2C模块设置正确的地址  
#define LCD_COLS 16  
#define LCD_ROWS 2  
 
// 初始化LCD  
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLS, LCD_ROWS);  
 
// 定义超声波传感器的引脚  
const int trigPin = 2;  //D4
const int echoPin = 0;  //D3
 
void setup() {  
  Wire.begin(); // 初始化I2C总线  
  lcd.init();//初始化显示屏
  lcd.backlight(); // 打开背光
  lcd.setCursor(0, 0); // 设置LCD光标位置  
  lcd.print("Distance: "); // 在LCD上显示文本  
  pinMode(trigPin, OUTPUT);  
  pinMode(echoPin, INPUT);  
}  
 
void loop() {  
  long duration, distance;  
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2);  
  digitalWrite(trigPin, HIGH);  
  delayMicroseconds(10);  
  digitalWrite(trigPin, LOW);  
  duration = pulseIn(echoPin, HIGH);  
  distance = duration * 0.034 / 2; // 将时间转换为距离(厘米)  
 
  // 检查距离是否在有效范围内  
  if (distance >= 0 && distance <= 400) {  
    lcd.clear(); // 清除LCD屏幕  
    lcd.setCursor(0, 0); // 设置LCD光标位置  
    lcd.print("Distance: "); // 显示文本  
    lcd.setCursor(9, 0); // 设置光标位置以显示距离值(留出空间给文本)  
    lcd.print(distance, DEC); // 显示距离值  
    lcd.print(" cm"); // 显示单位  
  }  
  delay(1000); // 等待一秒钟再次读取  
}


扫描二维码推送至手机访问。

版权声明:本文由点度点度金讯时代-BLOG发布,如需转载请注明出处。

本文链接:https://www.lmwmm.com/post/2575.html

分享给朋友:

“esp8266、Arduino用LCD1602(iic接口)进行显示” 的相关文章

最近挺火的开灯壁纸×2

最近挺火的开灯壁纸×2

这两天刷抖音看到都在要这个壁纸,分享上来!壁纸源自于网络,我看到了下载出来分享上来,侵权联系删除!这个壁纸保存就是原图!本篇文章来源于微信公众号:             &nbs…

专家建议:2G、3G退网,5G取代4G!!

专家建议:2G、3G退网,5G取代4G!!

2023年了,你升级5G网络了吗?近日,工信部公布数据显示,去年我国新建5G基站88.7万个,目前5G基站总量已达到231.2万个,占全球比例超过60%,5G网络建设稳步推进,网络覆盖能力持续提升。我国在用户占比上也领先全球水平,5G用户(…

为什么AutoGPT这么火爆?手把手带你安装和体验AI自主机器人

为什么AutoGPT这么火爆?手把手带你安装和体验AI自主机器人

最近几天,一直在忙自己的AIHub.cn网站,目前已经上线了几百款优质AI产品和教程近日,AI界貌似出现了一种新的趋势:自主人工智能。继ChatGPT后,一个叫AutoGPT的开源项目火了,短短几天,在GitHub star达到近4万了,可…

科大讯飞再燃大模型“战火”,赶超ChatGPT并非目的,应用端才是关键

科大讯飞再燃大模型“战火”,赶超ChatGPT并非目的,应用端才是关键

日前,科大讯飞发布星火认知大模型,让火热的“大模型”战场再燃战火。对自家产品,科大讯飞董事长刘庆峰称,“三项能力超过ChatGPT”。如今,国内大模型战场,已经汇聚百度、阿里、华为、腾讯等重磅玩家。这些大模型,与ChatGPT有多远的距离?…

树莓派上运行 Stable Diffusion,260MB 的 RAM“hold”住 10 亿参数大模型

树莓派上运行 Stable Diffusion,260MB 的 RAM“hold”住 10 亿参数大模型

编辑:梓文、张倩Stable Diffusion 能在树莓派上运行了!11 个月前 Stable Diffusion 诞生,它能够在消费级 GPU 上运行的消息让不少研究者备受鼓舞。不仅如此,苹果官方很快下场,将 Stable Diffus…

Switch平台迎来PG经典游戏:《蒙蒂鼹鼠系列》五款力作震撼登场

Switch平台迎来PG经典游戏:《蒙蒂鼹鼠系列》五款力作震撼登场

Pixel Games UK推出的街机动作冒险游戏《蒙蒂鼹鼠系列》已经成功登陆Nintendo Switch平台,为PG玩家呈现了一场别开生面的地下冒险。这个由五款游戏组成的奇妙合集带领玩家进入英国地下世界,跟随主角黄鼹鼠的足迹展开一场国际…