在嵌入式系统和物联网项目中,OLED 显示屏因其轻薄、低功耗、高对比度等优点而广受欢迎。然而,不同尺寸和型号的 OLED 显示屏通常配备不同的驱动芯片,如 0.96 寸的 SSD1306 和 1.3 寸的 SH1106。正确选择和配置驱动库对于确保显示屏正常工作至关重要。本文将详细探讨如何为不同型号的 OLED 选择合适的驱动库,并提供具体的代码示例,帮助读者避免常见的显示问题,如花屏等。
1. 驱动芯片与驱动库的选择
1.1 SSD1306 驱动库
SSD1306 是一种常用的 OLED 驱动芯片,广泛应用于 0.96 寸的 OLED 显示屏。SSD1306Wire.h 提供了一个功能强大的 SSD1306 驱动库,支持多种显示功能,包括图形、文字和动画显示。安装该库非常简单,可以通过 Arduino IDE 的库管理器直接安装。
1.2 SH1106 驱动库
SH1106 是另一种常见的 OLED 驱动芯片,通常用于 1.3 寸的 OLED 显示屏。与 SSD1306 类似,Adafruit 也为 SH1106Wire.h提供了驱动库。虽然网上关于 SH1106 的资料相对较少,但其使用方法与 SSD1306 类似。
2. 连接与代码
产品的连接选用I2C连接,具体可在网上查找。
//OLED连接ESP8266,确认OLED的驱动库是SSD1306
#include <Wire.h>
#include "SSD1306Wire.h"
const int I2C_DISPLAY_ADDRESS=0x3c;
#if defined(ESP8266)
const int SDA_PIN = 0;
const int SCL_PIN = 2;
#endif
SSD1306Wire display(I2C_DISPLAY_ADDRESS,