Подключение SH1106 к Arduino: код, схема и библиотеки

Содержание

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
Рисунок 1. SH1106

Код для подключения SH1106 к Arduino

Для начала работы с дисплеем SH1106 на Arduino понадобится пример кода на С/C++. Вот простой пример инициализации дисплея и циклический вывод текстов по 1 секунде «DocsTech Help You!» и «Ready» белым цветом на черном фоне.
#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
    дл
I2C-соединения.
  • OLED_SH1106.h
    дл
  • управления дисплеем.
    Определение пинов:
    • RST
    ин сброса дисплея.
  • DC
  • ин для управления режимом данных/команд.
  • CS
    — пин выбора чипа (если используется).
  • Создание экземпляра дисплея:
    • OLED_SH1106 display(DC, RST, CS);
      ин
    циализирует объект для работы с дисплеем.

    Функция

    setup():

    • Инициализация дисплея и его очистка.

    Функция

    loop():

    • Циклическое обновление дисплея с выводом текста «DocsTech Help You!» и «Ready», с задержками для визуализации.

    В данной статье были рассмотрены основные аспекты подключения дисплея SH1106 к Arduino, представлены краткие описания дисплея и библиотек Arduino.h и oled.h. Надеюсь, информация была полезной и позволит вам успешно использовать OLED дисплей SH1106 с платформой Arduino.