OLED
概述
在本课中,您将了解使用 SSD1306 驱动的 OLED 显示屏。OLED(有机发光二极管)显示屏广泛应用于各种电子设备,如智能手表、手机,甚至电视机。SSD1306 是一款单芯片 CMOS OLED/PLED 驱动器,带有控制器,适用于有机/聚合物发光二极管点阵图形显示系统。它通过有机材料制成的二极管(当电流通过时会发光)提供清晰锐利的视觉输出。
在提供的代码中,OLED 显示屏通过 I2C 协议与 Arduino 板连接。代码使用 Adafruit SSD1306 库来控制显示屏。该程序涵盖了各种功能,例如:
显示文本:在屏幕上打印 “Hello world!”。
反转文本:以反转颜色方案显示 “Hello world!”。
字体大小:以增大的字体大小显示 “Hello!”。
数字显示:显示数字 123456789。
ASCII 字符:显示一组 ASCII 字符。
滚动:文本在显示屏上水平滚动。
位图显示:在 OLED 屏幕上显示预定义的位图图像。
此 OLED 显示屏可用于多种应用,包括数字时钟、迷你游戏机、信息显示屏等。它为紧凑型便携设备提供用户界面的一种绝佳方式。
所需元件
本项目中,我们需要以下元件。
购买整套套件会更加方便,以下是链接:
名称 |
套件所含项目 |
链接 |
|---|---|---|
Elite Explorer 套件 |
300+ |
您也可以从以下链接单独购买。
元件介绍 |
购买链接 |
|---|---|
- |
|
接线
原理图
代码
备注
您可以直接打开路径
elite-explorer-kit-main\basic_project\15-oled下的15-oled.ino文件。或者将以下代码复制到 Arduino IDE 中。
备注
要安装库,请使用 Arduino 库管理器搜索 “Adafruit SSD1306” ** 和 **”Adafruit GFX” 并安装。
代码分析
包含库和初始定义 : 包含与 OLED 接口所需的库。然后提供有关 OLED 尺寸和 I2C 地址的定义。
Adafruit SSD1306 :该库旨在帮助 SSD1306 OLED 显示屏的接口连接。它提供了初始化显示、控制设置和显示内容的方法。
Adafruit GFX 库 :这是一个核心图形库,用于在包括 OLED 在内的各种屏幕上显示文本、生成颜色、绘制形状等。
备注
要安装库,请使用 Arduino 库管理器搜索 “Adafruit SSD1306” ** 和 **”Adafruit GFX” 并安装。
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED 显示宽度,以像素为单位 #define SCREEN_HEIGHT 64 // OLED 显示高度,以像素为单位 #define OLED_RESET -1 #define SCREEN_ADDRESS 0x3C
位图数据 : 用于在 OLED 屏幕上显示自定义图标的位图数据。这些数据以 OLED 可以解释的格式表示图像。
您可以使用名为 image2cpp 的在线工具将图像转换为数组。
PROGMEM关键字表示该数组存储在 Arduino 微控制器的程序存储器中。将数据存储在程序存储器(PROGMEM)而不是 RAM 中,对于大量数据非常有用,否则这些数据会占用过多的 RAM 空间。static const unsigned char PROGMEM sunfounderIcon[] = {...};
设置函数(初始化和显示) :
setup()函数初始化 OLED 并显示一系列图案、文本和动画。void setup() { ... // 串口初始化和 OLED 对象初始化 ... // 显示各种文本、数字和动画 }