OLED-экраны стали популярным выбором для проектов на базе Arduino благодаря своей компактности, низкому энергопотреблению и высокой контрастности. Эти дисплеи позволяют отображать текст, графику и даже анимацию, что делает их идеальными для создания пользовательских интерфейсов, индикаторов и визуализации данных.
В отличие от традиционных LCD-экранов, OLED-дисплеи не требуют подсветки, так как каждый пиксель самостоятельно излучает свет. Это обеспечивает более глубокий черный цвет и высокую яркость изображения. Кроме того, OLED-экраны поддерживают различные интерфейсы подключения, такие как I2C и SPI, что упрощает их интеграцию с микроконтроллерами.
В этой статье мы рассмотрим, как подключить OLED-экран к Arduino, настроить библиотеки для работы с дисплеем и создать простые примеры для отображения информации. Вы узнаете, как использовать OLED-экран для визуализации данных с датчиков, отображения текста и графики, а также как оптимизировать код для эффективной работы с дисплеем.
Подключение OLED-дисплея к Arduino
Подключите VCC к пину 3.3V или 5V на Arduino, в зависимости от характеристик дисплея. GND соедините с землёй платы. SCL подключите к аналоговому пину A5 (или цифровому пину 5 на некоторых платах), а SDA – к A4 (или пину 4).
Если используется SPI-интерфейс, потребуется больше проводов: MOSI, SCK, CS, DC и RES. MOSI подключается к пину 11, SCK – к 13, CS – к 10, DC – к 9, а RES – к 8. Убедитесь, что питание дисплея соответствует напряжению, указанному в документации.
После подключения установите библиотеку для работы с OLED, например, Adafruit SSD1306. Загрузите пример кода из библиотеки, чтобы проверить корректность подключения. Если дисплей отображает текст или графику, значит, всё настроено правильно.
Подключение библиотеки и инициализация экрана
Для начала работы подключите библиотеку в скетче:
#include <Adafruit_SSD1306.h> #include <Adafruit_GFX.h>
Затем инициализируйте экран, указав размеры дисплея и тип подключения. Например, для дисплея 128×64 с интерфейсом I2C:
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
В функции setup() выполните инициализацию:
void setup() {
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("Ошибка инициализации дисплея");
for(;;);
}
display.clearDisplay();
display.display();
}
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Привет, мир!");
display.display();
Для отображения графики доступны функции, такие как drawLine(), drawRect() и drawCircle(). После внесения изменений обязательно вызовите display.display(), чтобы обновить экран.












