OLED дисплей SH1106 – устройство с высоким разрешением, позволяющее выводить четкие и яркие изображения на экране. Этот дисплей характеризуется высокой контрастностью, быстрым откликом и широким углом обзора.
Описание библиотек
Библиотека Arduino.h является стандартной библиотекой для работы с платформой Arduino. Она предоставляет возможность осуществлять взаимодействие с микроконтроллером Arduino, управлять портами, выполнять арифметические операции и многое другое.
Библиотека Wire.h позволяет взаимодействовать с устройствами по шине I2C для передачи и приема данных. Она предоставляет возможность Arduino устанавливать связь с различными устройствами, такими как датчики, дисплеи и другие микроконтроллеры, используя двухпроводной интерфейс.
Библиотека OLED_SH1106.h разработана для упрощения работы с OLED-дисплеями, основанными на контроллере SH1106. Она предоставляет пользователям удобный интерфейс для управления дисплеем через I2C или SPI, позволяя легко настраивать и выводить данные. Библиотека обеспечивает эффективную инициализацию экрана, а также управление его параметрами, такими как контрастность и инверсия цвета. С помощью этой библиотеки можно реализовать отображение как текстовой, так и графической информации, что делает её отличным выбором для проектов, где требуется высокое качество изображения и низкое энергопотребление. Она подходит для использования в различных приложениях, от простых индикаторов до сложных пользовательских интерфейсов.
Подключение SH1106 к Arduino
Дисплей может подключен к любому Arduino, также не важно разрешение и размер в дюймах экрана. Пара пинов SDA и SCL есть всех arduino, в нашем используется случае Arduino Uno. Схема подключения:
- Pin SDA дисплея подключается к пину A4 на Arduino Uno
- Pin SCL дисплея подключается к пину A5 на Arduino Uno
- Pin VCC дисплея подключается к 3.3V
- Pin GND дисплея подключается к GND
Пины подписаны прямо на плате.

Код для подключения SH1106 к Arduino
#include <Wire.h>
#include <OLED_SH1106.h>
// Пины для подключения дисплея (замените на ваши значения)
#define RST 9 // Пин сброса
#define DC 8 // Пин управления данными
#define CS 10 // Пин выбора чипа (если используется)
// Создание экземпляра дисплея с использованием пинов
OLED_SH1106 display(DC, RST, CS);
void setup() {
display.begin(); // Инициализация дисплея
display.clearDisplay(); // Очистка дисплея
display.display(); // Обновление дисплея
}
void loop() {
// Вывод текста "DocsTech Help You!"
display.clearDisplay(); // Очистка дисплея
display.setCursor(0, 0); // Установка курсора в начало
display.setTextSize(1); // Установка размера текста
display.setTextColor(WHITE); // Установка цвета текста
display.print(F("DocsTech Help You!")); // Вывод текста
display.display(); // Обновление дисплея
delay(1000); // Задержка 1 секунда
// Очистка дисплея и вывод текста "Ready"
display.clearDisplay(); // Очистка дисплея
display.setCursor(0, 0); // Установка курсора в начало
display.print(F("Ready")); // Вывод текста
display.display(); // Обновление дисплея
delay(1000); // Задержка 1 секунда
}
длWire.h
OLED_SH1106.h
дл
—RST
DC
— CS
— пин выбора чипа (если используется).
инOLED_SH1106 display(DC, RST, CS);
Функция
:
- Инициализация дисплея и его очистка.
Функция
:
- Циклическое обновление дисплея с выводом текста «DocsTech Help You!» и «Ready», с задержками для визуализации.
В данной статье были рассмотрены основные аспекты подключения дисплея SH1106 к Arduino, представлены краткие описания дисплея и библиотек Arduino.h и oled.h. Надеюсь, информация была полезной и позволит вам успешно использовать OLED дисплей SH1106 с платформой Arduino.