OLED「OrganicLight-Emitting Diode」,有机发光二极管,又称有机发光半导体,是当下非常受欢迎的显示技术。OLED显示屏与传统LCD显示方式不同,它无需背光,每个像素点自发光,体积更小、更轻更薄更省电,而且能做成柔性屏。本篇介绍Arduino下OLED屏的使用。
1. OLED屏介绍
OLED屏因其小巧轻薄耗电低等特点,越来越多的应用于嵌入式电子设备中。OLED屏种类不同,显示的颜色也不同,常用的有白色显示、蓝色显示和黄蓝双色显示。屏幕的尺寸和内置驱动芯片也多种多样,常用的驱动接口有SPI和IIC两种。本篇中使用的使一款0.96寸蓝色IIC驱动屏,其内置驱动芯片为SSD1306。
2. 安装驱动库
OLED显示屏驱动库非常多,本篇我们使用两个库:「Adafruit_SSD1306」和「Adafruit_GFX」。在Arduino IDE中点击「项目」—「加载库」—「管理库」,分别查找选择最新版本进行安装。
3.实验材料
- Uno R3开发板
- 配套USB数据线
- 面包板及配套连接线
- OLED显示屏
4.实验步骤
1. 根据原理图搭建电路图。
IIC接口只需要两根线。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。
实验原理图如下图所示:
实物连接图如下图所示:
2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/*
* OLED显示
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(128, 64, &Wire,OLED_RESET);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC,0x3C);
display.setTextColor(WHITE);//开像素点发光
display.clearDisplay();//清屏
display.setTextSize(1); //设置字体大小
display.setCursor(35, 5);//设置显示位置
display.println("-TonyCode-");
display.setTextSize(2);//设置字体大小
display.setCursor(15, 30);//设置显示位置
display.println("OLED TEST");
display.display(); // 开显示
}
void loop() {
}
3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。
4. 实验现象
较LCD液晶显示屏,OLED的显示效果非常不错,且可视角度更大。