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

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

头像 驴友花雕 2025.01.07 12 0

00.jpg
23.jpg

10-.jpg
19.jpg

这里使用「Adafruit_SSD1306」驱动库,下载链接:https://github.com/adafruit/Adafruit_SSD1306

 

 

36.jpg

硬件连接
这里使用IIC驱动屏,在开发板上,ESP8266的GPIO4(D2)和GPIO5(D1)分别通过跳线帽连接到OLED屏的SDA和SCL引脚。

 

37.jpg

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

实验开源代码

 

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

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

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(35, 5); // 设置光标位置在x=35, y=5处
  oled.println("-TonyCode-"); // 在指定位置显示"-TonyCode-"
  
  oled.setTextSize(2); // 设置字体大小为2
  oled.setCursor(15, 30); // 设置光标位置在x=15, y=30处
  oled.println("OLED TEST"); // 在指定位置显示"OLED TEST"
  
  oled.display(); // 更新显示屏,显示内容
}

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

代码解读

这段代码是用于驱动ESP8266连接OLED屏幕的示例。

1. 库的引入:

#include <ESP8266WiFi.h>:引入ESP8266的WiFi库。
#include <Wire.h>:引入I2C通信库,用于与OLED屏幕通信。
#include <Adafruit_GFX.h>:引入Adafruit的GFX库,提供基本的图形功能。
#include <Adafruit_SSD1306.h>:引入Adafruit的SSD1306 OLED驱动库。

2. OLED对象初始化:

Adafruit_SSD1306 oled(128, 64, &Wire, -1);:创建一个OLED对象,分辨率为128x64,使用I2C通信接口。

3. setup()函数:

oled.begin(SSD1306_SWITCHCAPVCC,0x3C);:初始化OLED屏幕,设置电源供应方式和I2C地址。
oled.setTextColor(WHITE);:设置文本颜色为白色。
oled.clearDisplay();:清除屏幕显示。
oled.setTextSize(1);:设置字体大小为1。
oled.setCursor(35, 5);:设置文本显示的起始位置。
oled.println("-TonyCode-");:在指定位置显示文本“-TonyCode-”。
oled.setTextSize(2);:设置字体大小为2。
oled.setCursor(15, 30);:设置文本显示的起始位置。
oled.println("OLED TEST");:在指定位置显示文本“OLED TEST”。
oled.display();:更新屏幕显示。

4. loop()函数:

该函数为空,表示程序运行后不会有循环操作。

实验场景图

 

38.jpg

评论

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