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

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

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

这里用了两个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接口)进行显示” 的相关文章

编辑Hosts文件的方法

编辑Hosts文件的方法

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系…

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

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

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

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

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

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

chatGPT解析人生八字 2

chatGPT解析人生八字 2

留言区留下你的出生、性别、地址, 隔天,公式分析你的八字人生全系,每日解析按顺序,编排。 由于都是AI机器人智能回答,大家可以作为参考,务必全信,古话说的好,信而不迷,则人生。 命主姓名:某人,广东省-河源…

AI孙燕姿翻唱爆火,多亏这个开源项目!广西老表带头打造,上手指南已出

AI孙燕姿翻唱爆火,多亏这个开源项目!广西老表带头打造,上手指南已出

AI孙燕姿这么快翻唱了这么多首歌,到底是咋实现的?关键在于一个开源项目。最近,这波AI翻唱趋势大火,不仅是AI孙燕姿唱的歌越来越多,AI歌手的范围也在扩大,就连制作教程都层出不穷了。而如果在各大教程中溜达一圈后就会发现,其中的关键秘诀,还是…

谷歌全面开放AI 对话机器人Bard,“人人”可用【附教程】

谷歌全面开放AI 对话机器人Bard,“人人”可用【附教程】

自从ChatGPT发布后,微软借助ChatGPT技术升级Bing搜索、office办公软件等一系列操作,给谷歌造成了很大的压力。但是,毕竟瘦死的骆驼比马大,作为早早以“AI First”作为公司战略的搜索巨头,实力不容小觑。这不,在今天凌晨…