【花雕学编程】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地址。
实验场景图
评论