教程八 OLED屏幕控制例程

来自Waveshare Wiki
跳转至: 导航搜索

各模块使用教程

OLED屏幕控制

General Driver for Robots板载IIC接口,SSD1306的OLED模块可通过IIC与驱动板连接,达成在OLED屏幕上显示信息的效果,以下提供OLED屏幕控制程序。

例程

上传程序

点击左边第三个图标,在搜索栏中输入“Adafruit_SSD1306”,找到依赖库Adafruit_SSD1306并点击安装。
八1.png
下载压缩包后打开SSD1306.ino,用USB线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板USB的Type-C接口),点击“工具”→“端口”,再点击新出现的COM(我这里新出现的COM为COM26)。
八2.png
在Arduino IDE中,点击“工具”→“开发板”→“ESP32”→“ESP32 Dev Module”。开发板以及端口都选择好后上传程序。上传程序后,将IIC外设扩展接口与OLED屏幕连接后,OLED屏幕上会显示WAVESHARE。

程序解析

#include <Wire.h>

#define S_SCL   33
#define S_SDA   32

#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#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)) {
    Serial.println(F("SSD1306 allocation failed"));
  }
  display.clearDisplay();
  display.display();
}

void Screenupdate(){
  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();
  delay(1);
}

资料