ESP8266+LCD1602屏幕显示IP地址与状态信息

2025-06发布2次浏览

ESP8266是一款功能强大的Wi-Fi模块,常用于物联网项目中。结合LCD1602显示屏,可以实现将ESP8266的IP地址、连接状态等信息实时显示在屏幕上。本文将详细介绍如何使用ESP8266与LCD1602屏幕配合工作,展示IP地址和状态信息。

硬件准备

  • ESP8266开发板(如NodeMCU)
  • LCD1602显示屏(带I2C接口)
  • 杜邦线若干

软件准备

  • Arduino IDE(确保已安装ESP8266开发环境支持)
  • I2C库(Wire.h)
  • LiquidCrystal_I2C库(用于驱动LCD1602)

步骤一:硬件连接

ESP8266与LCD1602的连接如下:

  • LCD1602的VCC接到ESP8266的3.3V。
  • LCD1602的GND接到ESP8266的GND。
  • LCD1602的SDA接到ESP8266的D2(GPIO4)。
  • LCD1602的SCL接到ESP8266的D1(GPIO5)。

步骤二:Arduino IDE配置

  1. 打开Arduino IDE,选择文件 > 示例 > LiquidCrystal_I2C > HelloWorldI2C,确认LiquidCrystal_I2C库是否正确安装。
  2. 在Arduino IDE中添加ESP8266开发板支持。进入文件 > 首选项,在“附加开发板管理器网址”中添加http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. 打开开发板管理器(工具 > 开发板 > 开发板管理器),搜索并安装“esp8266”。

步骤三:代码实现

代码示例

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP8266WiFi.h>

// LCD初始化,通常地址为0x27或0x3F
LiquidCrystal_I2C lcd(0x27, 16, 2);

const char* ssid = "Your_SSID";   // 替换为你的WiFi名称
const char* password = "Your_PASSWORD"; // 替换为你的WiFi密码

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  lcd.init();                      // 初始化LCD
  lcd.backlight();                 // 打开背光

  lcd.setCursor(0, 0);
  lcd.print("Connecting...");
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("IP Address:");
    lcd.setCursor(0, 1);
    lcd.print(WiFi.localIP());
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Connecting...");
  }
  delay(1000);
}

步骤四:代码解析

  1. LCD初始化
    使用LiquidCrystal_I2C库初始化LCD1602,指定其I2C地址(通常是0x270x3F),以及屏幕尺寸(16列×2行)。

  2. WiFi连接
    setup()函数中,调用WiFi.begin()尝试连接到指定的WiFi网络。如果连接成功,WiFi.status()返回WL_CONNECTED

  3. 状态显示逻辑
    loop()函数中,根据WiFi连接状态更新LCD屏幕内容。如果连接成功,显示IP地址;否则显示“Connecting...”。

步骤五:运行效果

当ESP8266成功连接到WiFi后,LCD1602会显示如下信息:

IP Address:
192.168.1.100

若未连接,则显示“Connecting...”。