回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(246)---ESP8266 NodeMCU Lua V3开发板之0.96寸OLED屏幕显示WiFi信息 简单

头像 驴友花雕 2025.01.07 17 0

00.jpg
23.jpg

10-.jpg
19.jpg

  【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
  实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
  实验项目之四:0.96寸OLED屏幕显示WiFi信息

实验开源代码

代码
/*
  【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
   实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
   实验项目之四:0.96寸OLED屏幕显示WiFi信息
*/

#include <ESP8266WiFi.h> // 包含ESP8266WiFi库
#include <Wire.h> // 包含I2C通信库
#include <Adafruit_GFX.h> // 包含Adafruit_GFX库,用于图形显示
#include <Adafruit_SSD1306.h> // 包含Adafruit_SSD1306库,用于控制OLED显示屏

const char* ssid = "zhz3";// 设置连接WIFI的名称(SSID)
const char* password = "z156721"; // 设置WIFI密码

Adafruit_SSD1306 oled(128, 64, &Wire, -1); // 初始化OLED显示屏,尺寸为128x64,使用I2C通信

void setup() {
  oled.begin(SSD1306_SWITCHCAPVCC,0x3C); // 初始化OLED显示屏,地址为0x3C
  oled.setTextColor(WHITE); // 设置文字颜色为白色,打开像素点发光
  oled.clearDisplay(); // 清空显示屏内容
  
  oled.setTextSize(1); // 设置字体大小为1
  oled.setCursor(15, 5); // 设置光标位置在x=15, y=5处
  oled.println("WiFi Information"); // 在指定位置显示"WiFi Information"
  oled.setCursor(2, 20); // 设置光标位置在x=2, y=20处
  
  WiFi.begin(ssid, password); // 启动网络连接
  
  while (WiFi.status() != WL_CONNECTED) { // 检测网络是否连接成功
    delay(500); 
    oled.print("."); // 在当前光标位置打印一个点
    oled.display(); // 更新显示屏,显示内容
  }
  
  oled.setTextSize(1); // 设置字体大小为1
  oled.setCursor(2, 35); // 设置光标位置在x=2, y=35处
  oled.println("Connected,IP address:"); // 在指定位置显示"Connected, IP address:"
  oled.println(); // 换行
  oled.println(WiFi.localIP()); // 显示本地IP地址
  oled.display(); // 更新显示屏,显示内容
}

void loop() {
  // 空的循环函数
}

代码解读:
这段代码的主要功能是使用ESP8266连接到指定的WiFi网络,并在OLED显示屏上显示连接状态和本地IP地址。以下是对代码的详细解读:

1、包含的头文件

#include <ESP8266WiFi.h>:包含ESP8266的WiFi库,用于实现WiFi连接功能。
#include <Wire.h>:包含I2C通信库,用于与OLED显示屏通信。
#include <Adafruit_GFX.h>:包含Adafruit的GFX库,用于图形显示。
#include <Adafruit_SSD1306.h>:包含Adafruit的SSD1306库,用于控制OLED显示屏。

2、全局变量

const char* ssid = "zhz3";:设置要连接的WiFi网络的名称(SSID)。
const char* password = "z156721";:设置WiFi网络的密码。

3、OLED显示屏初始化

Adafruit_SSD1306 oled(128, 64, &Wire, -1);:初始化一个128x64分辨率的OLED显示屏,使用I2C通信。

4、setup()函数

(1)初始化OLED显示屏:

oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);:初始化OLED显示屏,设置电源供应方式和I2C地址。
oled.setTextColor(WHITE);:设置文字颜色为白色。
oled.clearDisplay();:清空显示屏内容。

(2)显示初始信息:

设置字体大小和光标位置,并显示“WiFi Information”。

(3)连接WiFi网络:

WiFi.begin(ssid, password);:启动WiFi连接。
使用while循环检测WiFi连接状态,直到连接成功。在连接过程中,每隔500毫秒在显示屏上打印一个点,表示正在尝试连接。

(4)显示连接成功信息:

连接成功后,设置字体大小和光标位置,显示“Connected, IP address:”。
显示本地IP地址。

5、loop()函数

void loop() {}:空的循环函数,程序运行后不会有循环操作。

总结

这段代码通过ESP8266连接到指定的WiFi网络,并在OLED显示屏上实时显示连接状态和本地IP地址。连接过程中会显示一个点,表示正在尝试连接,连接成功后显示IP地址。

实验场景图

 

39.jpg

评论

user-avatar
icon 他的勋章
    展开更多