OLED屏 SSD1306
大约 2 分钟
简介
本章介绍使用 Air001 开发板在 Arduino 平台上点亮SSD1306屏幕的使用方法。
硬件准备
Air001开发板一块、I²C接口的OLED屏幕(SSD1306驱动)一块。
按☁️ Air001开发板入门,将Air001和DAPLink调试器使用排针排母连接。
将OLED屏幕模块与Air001开发板,按如下表格进行相连:
| SSD1306 | air001 |
|---|---|
| GND | GND |
| VCC | 3.3V |
| D0(SCL) | PF01 |
| D1(SDA) | PF00 |
| RES | 空 |
| DC | VCC/GND |
| CS | GND |
提示
DC连接可以决定I²C从机地址:
DC连接VCC则I²C从机地址为0x3dDC连接GND则I²C从机地址为0x3c
软件部分
首先,安装Adafruit GFX Library库与Adafruit SSD1306库。
打开Arduino管理库,进行安装
可以打开Arduino管理库,找到Adafruit GFX Library库和Adafruit SSD1306库并进行安装。

首先引用这些库,并定义:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
- 定义
SCREEN_WIDTH(OLED显示宽度),以像素为单位。 - 定义
SCREEN_HEIGHT(OLED显示高度),以像素为单位。 - 初始化了一个SSD1306型号的显示器,使该显示器具
SCREEN_WIDTH和SCREEN_HEIGHT指定的宽度和高度。
接着,在setup()函数中,添加如下代码:
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
while(1);
}
display.clearDisplay();
ShowText();
}
- 初始化串口为
9600波特率用于输出日志。 - 使用
display.begin初始化屏幕设备,如果初始化失败,打印SSD1306 allocation failed,并阻塞代码。 - 使用
display.clearDisplay清空屏幕信息。 - 调用
ShowText函数,显示数据(函数见下方)。
接着声明ShowText函数,用于打印数据:
void ShowText(void) {
//清空屏幕信息
display.clearDisplay();
//设置文本字体大小为2
display.setTextSize(2);
//设置屏幕颜色为白色
display.setTextColor(SSD1306_WHITE);
//设置打印的起始坐标10,16
display.setCursor(10, 16);
//设置显示的文本信息
display.println(F("happy day"));
//将屏幕缓冲区数据刷到屏幕上,显示出来
display.display();
}
最后加上loop函数,由于只是演示,所以这里我们用空函数实现:
void loop() {}
输出结果
屏幕显示效果:
