当前位置:首页 > 技术类 > esp8266、Arduino用LCD1602(iic接口)进行显示

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

微信用户1年前 (2024-03-30)技术类1085

这里用了两个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://lmwmm.com/post/2575.html

分享给朋友:

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

【树莓派基础系列教程】1、配置和初始化树莓派

【树莓派基础系列教程】1、配置和初始化树莓派

从这周开始,给新手朋友们发布一些树莓派的基础教程~今天是第一课,简单介绍一下什么是树莓派,以及拿到树莓派后第一件要做的事情——配置和初始化树莓派! 什么是树莓派 树莓派的简介,看这里:树莓派是什么?能吃吗 树莓派基础外观图 树莓派外设图树莓...

重大突破,电脑能用鸿蒙系统了!

重大突破,电脑能用鸿蒙系统了!

近年来,“缺芯少魂”带来的卡脖子危机为众多行业敲响警钟,我们必须加快国产操作系统替代研发进程.可喜的是,随着国内操作系统市场快速增长以及政策投入力度的加大,国产操作系统正逐渐实现从无到有、从“可用”到“好用”的跨越式发展。同时,一批极具竞争...

Win11又现重大BUG:硬盘掉速,只能卸载

Win11又现重大BUG:硬盘掉速,只能卸载

最近,Windows 11 系统又出现问题了。据部分用户报告,在安装了Windows 11版本22H2-KB5023706更新后,固态硬盘性能大幅下滑。起初,只是一些威刚XPG SX8200 Pro(1TB)的用户发现了这个问题,称他们的...

网易有道吃了ChatGPT生态的第一个螃蟹

网易有道吃了ChatGPT生态的第一个螃蟹

ChatGPT正在飞速进化,吃瓜都跟不上速度。3月14日,OpenAI推出GPT-4,在各种专业和学术基准上达到“人类水平”,再次惊艳行业。3月16日,百度宣布正式内测“中国版”ChatGPT——文心一言。紧接着,微软也最新宣布,Micro...

CQ9高端手机市场变局:iPhone份额下滑,华为、小米崛起

CQ9高端手机市场变局:iPhone份额下滑,华为、小米崛起

根据CQ9 Gaming发布的报告显示,2023年,iPhone在高端手机市场(零售价不低于600美元)的份额下降了4%,从75%降至71%。CQ9游戏试玩跳高高分析,这一降幅的主要原因在于华为回归5G市场以及三星折叠机的高销量。华为和三星...

Switch平台1月15日,RPG热潮《魔岩山传说》掀起CQ9APP经典迷宫游戏

Switch平台1月15日,RPG热潮《魔岩山传说》掀起CQ9APP经典迷宫游戏

Almost Human宣布的好消息让Switch玩家充满期待,经典迷宫探索RPG《魔岩山传说》将于1月15日正式登陆Switch平台。这款2012年首发的CQ9APP经典游戏汇聚了探索、生存、战斗、魔法、解谜和角色扮演等元素,为玩家带来了...