docs 10 OLED 屏幕控制例程
OLED 屏幕控制
General Driver for Robots 板载 I2C 接口。SSD1306 的 OLED 模块可通过 I2C 与驱动板连接,达成在 OLED 屏幕上显示信息的效果,以下提供 OLED 屏幕控制程序。
上传程序
-
在 Arduino IDE 左侧打开“库管理器”(第三个图标),搜索
Adafruit_SSD1306,然后安装Adafruit_SSD1306库。
-
点击 例程下载,解压并打开
SSD1306.ino。用 USB 线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板 USB 的 Type-C 接口),点击“工具”→“端口”,再点击新出现的 COM(这里新出现的 COM 为 COM26)。
-
在 Arduino IDE 中,点击“工具”→“开发板”→“ESP32”→“ESP32 Dev Module”。开发板以及端口都选择好后上传程序。上传程序后,将 I2C 外设扩展接口与 OLED 屏幕连接后,OLED 屏幕上会显示 WAVESHARE。
程序解析
#include <Wire.h>
#define S_SCL 33
#define S_SDA 32
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 //OLED 显示屏宽度,像素
#define SCREEN_HEIGHT 32 //OLED 显示屏高度,像素
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void InitScreen(){
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { //初始化 OLED 显示屏
Serial.println(F("SSD1306 allocation failed"));
}
display.clearDisplay(); //清空显示屏
display.display();
}
void Screenupdate(){
//先清空显示屏,再设置文本大小、颜色和光标位置,输出显示“WAVESHARE”
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print(F("WAVESHARE"));
display.display();
}
void setup() {
Wire.begin(S_SDA,S_SCL);
InitScreen();
}
void loop() {
Screenupdate(); //调用 Screenupdate() 函数
delay(1);
}