Обзор OLED-дисплея 0.96,128х64 на SSD1306

Обзор OLED-дисплея 0.96,128х64 на SSD1306

OLED — дисплей являются одним из самых привлекательным и современным дисплеем, при небольших размерах и незначительном энергопотребление OLED дисплей, обеспечивает насыщенную контрастность. Дисплеи в основном доступны на чипе SSD1306, работающим на интерфейсе I2C, для работы которого необходимо только 2 провода, что позволяет быстро подключить и начать использовать. В этом статье расскажу, как подключить OLED дисплей, диагональю 0.96 дюйма и расширением 128 х 64 пикселя.

Технические параметры 

► Технология дисплея: OLED
► Разрешение дисплея: 128 на 64 точек
► Диагональ дисплея: 0,96 дюйма
► Уол обзора: 160°
► Напряжение питания: 2.8 В ~ 5.5 В
► Мощность: 0,08 Вт
► Габариты: 27.3 мм х 27.8 мм х 3.7 мм

Общие сведения OLED дисплея

А что же такое, технология OLED? Расшифровывается как Organic Light-Emitting Diode, состоит дисплей из большого числа органических светодиодов, главное отличие от LCD дисплея, в том, что каждый светодиод светится сам и не нуждается в отдельной подсветки. Благодаря этому, дисплей обладает значительными преимуществом по сравнению с обычными LCD, такими как контрастностью, углом обзора и малая потребляемая мощность, конечно есть и недостатки, небольшой срок службы и дороговизна.

Обзор OLED-дисплея 0.96,128х64 на SSD1306

OLED модуль с расширением 128×64 (0.96 дюйма) состоит из двух частей, из самого дисплея, который в свою очередь можно разделить на две части, графический дисплей и контроллер SSD1306 от которого идет гибкий шлейф на обратную сторону платы. Вторая часть, модуля, представляет собой печатную плату (которая по сути является переходником), на которой установлена минимальная электрическая обвязка, однорядный разъем шаг 2.54 мм и четырьмя крепежными отверстиями.
OLED модули, выпускаются с различным расширением 128×64, 128×32 и 96×16 (в статье и примере используется дисплей с расширением 128×32), сам контроллер SSD1306 может работать с OLED матрицами с максимальным расширение 128×64, так-же, модули бывают белые, синие и сине-желтые (сверху, желтая полоса, шириной 15 пикселя). Каждый производитель, выпускают свою печатные плату с различной компоновкой электронных компонентов и выведенным интерфейсом, так-как контроллер SSD1306 поддерживает сразу три протокола работы:

► 8-bit 6800/8080-series parallel interface
► 3 /4 wire Serial Peripheral Interface
► I2C

Для изменения протокола работы, предусмотрены три линии BS0, BC1 и BS2 с помощью которых, контроллер дисплея определяет по какому протоколу ему работать. В моем случаи, OLED дисплей разработан для работы по одному протоколу I2C, в других вариантов, возможно смена протокола работы с помощью нулевых резисторах или DIP переключателей.

Ниже приведена принципиальная схема OLED дисплея на микросхеме SSD1306, работающая по интерфейсу I2C, из нее видно, что микросхема U2 выполняет функцию стабилизатора напряжение (3.3В), конденсатор C8 необходим для сглаживания выходного напряжения. Резисторы R6 и R7 выполняют функцию подтяжки линии SCL и SAD, если к шине I2C, подключено не одно устройство, необходимо использовать подтягивающие резисторы только на одном устройстве. С помощью резистора на 0 Ом (без обозначении), можно произвести смену адреса 0x78 или 0x7A.

Схема OLED-дисплея 0.96,128х64 на SSD1306

Назначение контактов J2:
► SCL:    линия тактирования (Serial CLock)
► SDA:   линия данных (Serial Dфta)
► VCC:   «+» питание
► GND:  «-» питание

Подключение к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► LCD-дисплей 1602A (2×16, 5V, Синий) x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
В примере буду использовать плату Arduino UNO R3 и OLED дисплей (расширением 128×64), как говорил ранее, используемый интерфейс I2c, для подключения необходимо всего два провода, подключаем SDA дисплея к выводу A4 (Arduino), а SCL к выводу A5 (Arduino). При использовании, других платформ Mega или Nano необходимо использовать другие порты, для удобства приведу таблицу, подключения для различных плат. Далее, необходимо подключить питание, GND к GND, а VCC к 5 В или 3.3В, схема собрана, теперь осталось загрузить скетч.

Подключение OLED-дисплея 0.96,128х64 на SSD1306 к Arduino

Таблица подключений

Подключение OLED-дисплея 0.96,128х64 на SSD1306 к Arduino

Для работы с OLED дисплеем необходима библиотека, так-как библиотек несколько, пример работы покажу через библиотеку OLED_I2C (скачать библиотеку можно в конце статьи)
Программа только отображает текст на дисплей и больше не какого функционала не несет, скачиваем скетч и загружаем ее в плату Arduino UNO R3.

/* 
Тестировалось на Arduino IDE 1.8.0
Дата тестирования 27.01.2017г.
*/

#include <OLED_I2C.h>                          // Подключаем библиотеку OLED_I2C
OLED  myOLED(SDA, SCL, 8);                     // Выбор порта, UNO это SDA 8 pin, SCL - 9 pin.
extern uint8_t SmallFont[];                    // Подключаем шрифт 

void setup()
{
  myOLED.begin();                              // инициализация экрана
  myOLED.setFont(SmallFont);
}

void loop()
{
  myOLED.clrScr();                              // Очищаем экран
  myOLED.print("Hello!", CENTER, 24);           // Выводим текст: в центре, строка 24
  myOLED.print("www.robotchip.ru", CENTER, 40); // Выводим текст: в центре, строка 40
  myOLED.update();                              //
  delay (500);                                  // пауза 0.5 с 
}

 Скачать скетч

Обзор OLED-дисплея 0.96,128х64 на SSD1306

Ссылки
Библиотека OLED_I2C

Купить на Aliexpress
  Контроллер Arduino UNO R3
  Провода DuPont, 2,54 мм, 20 см
  OLED-дисплей 0.96,128х64, белый, DC 3.3-5B, SPI, IIC

Купить в Самаре и области
  Купить контроллер Arduino UNO R3
  Купить провода DuPont, 2,54 мм, 20 см
  Купить часы реального времени OLED-дисплей 0.96

Читайте также:

комментария 4

  1. Олег:

    У Вас тут по ссылке неправильная библиотека =)

  2. Даниил:

    Спасибо большое!!! Всё работает. Только один вопрос: как сделать так, чтобы программа выводила числовое значение???

  3. Albert:

    Для Arduino Nano на Atmega168 работает с помощью библиотеки Adafruit SSD1306 только если удалить кучу кода из экзамлов — памяти мало…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *