40浏览
查看: 40|回复: 10

[项目] 【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

[复制链接]
【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息图2

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息图1

驴友花雕  中级技神
 楼主|

发表于 昨天 19:55

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息图2

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 19:57

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

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

实验开源代码

  1. /*
  2.   【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
  3.    实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
  4.    实验项目之四:0.96寸OLED屏幕显示WiFi信息
  5. */
  6. #include <ESP8266WiFi.h> // 包含ESP8266WiFi库
  7. #include <Wire.h> // 包含I2C通信库
  8. #include <Adafruit_GFX.h> // 包含Adafruit_GFX库,用于图形显示
  9. #include <Adafruit_SSD1306.h> // 包含Adafruit_SSD1306库,用于控制OLED显示屏
  10. const char* ssid = "zhz3";// 设置连接WIFI的名称(SSID)
  11. const char* password = "z156721"; // 设置WIFI密码
  12. Adafruit_SSD1306 oled(128, 64, &Wire, -1); // 初始化OLED显示屏,尺寸为128x64,使用I2C通信
  13. void setup() {
  14.   oled.begin(SSD1306_SWITCHCAPVCC,0x3C); // 初始化OLED显示屏,地址为0x3C
  15.   oled.setTextColor(WHITE); // 设置文字颜色为白色,打开像素点发光
  16.   oled.clearDisplay(); // 清空显示屏内容
  17.   
  18.   oled.setTextSize(1); // 设置字体大小为1
  19.   oled.setCursor(15, 5); // 设置光标位置在x=15, y=5处
  20.   oled.println("WiFi Information"); // 在指定位置显示"WiFi Information"
  21.   oled.setCursor(2, 20); // 设置光标位置在x=2, y=20处
  22.   
  23.   WiFi.begin(ssid, password); // 启动网络连接
  24.   
  25.   while (WiFi.status() != WL_CONNECTED) { // 检测网络是否连接成功
  26.     delay(500);
  27.     oled.print("."); // 在当前光标位置打印一个点
  28.     oled.display(); // 更新显示屏,显示内容
  29.   }
  30.   
  31.   oled.setTextSize(1); // 设置字体大小为1
  32.   oled.setCursor(2, 35); // 设置光标位置在x=2, y=35处
  33.   oled.println("Connected,IP address:"); // 在指定位置显示"Connected, IP address:"
  34.   oled.println(); // 换行
  35.   oled.println(WiFi.localIP()); // 显示本地IP地址
  36.   oled.display(); // 更新显示屏,显示内容
  37. }
  38. void loop() {
  39.   // 空的循环函数
  40. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:00

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

代码解读:
这段代码的主要功能是使用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地址。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:03

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

实验场景图


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:06

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息

实验场景图


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:08

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息


实验场景图



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:10

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息


实验场景图
【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息图1



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:11

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息


实验场景图





回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:14

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息


实验场景图






回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:20

【花雕学编程】Arduino动手做(246)---ESP8266之屏显WiFi信息


实验场景图







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail