Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3D принтеры3D сканерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУЗапчасти 3D принтеров по брендам3D печать на заказ
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3DIY
    Телефоны
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    0
    0
    0
    • Кабинет
    • 0Сравнение
    • 0Избранное
    • 0Корзина
    • Бренды
    • Акции
    • Услуги
      • Услуги
      • 3D печать
        • 3D печать
        • 3D печать пластиком FDM/FFF
        • 3D печать фотополимером
    • Компания
      • Компания
      • О компании
      • Реквизиты
      • Партнеры
      • Клиенты
      • Вакансии
    • Блог
    • Информация
      • Информация
      • Гарантия на товар
      • Возврат товара
      • Положение о персональных данных
      • Политика конфиденциальности
      • Согласие на получение рекламы
      • Пользовательское соглашение
      • Согласие на обработку персональных данных
      • Использование cookie-файлов
      • Договор-оферта
    • Контакты
      • Контакты
      • Как до нас добраться
    8 (800) 500-45-93отдел продаж Россия
    • Телефоны
    • 8 (800) 500-45-93 отдел продаж Россия
    • 8 (495) 565-35-93 отдел продаж Москва
    • info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
    • Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
    • пн - пт 09:00—18:00
    Главная
    Блог
    Дисплеи
    Дисплей OLED 128×64

    Дисплей OLED 128×64

    Дисплей OLED 128×64
    Дисплеи

    Содержание

    • Обзор
    • Технические характеристики модуля
    • Подключение к плате Arduino
    • Использование русских шрифтов в библиотеке OLED
    • Пример использования
    • Часто задаваемые вопросы FAQ

    Обзор OLED дисплея

    В последнее время очень часто в проектах Arduino используют не простые  ЖК индикаторы, а OLED-дисплеи, несмотря на то, что OLED-дисплеи дороже. Что это за дисплей, и в чем их преимущество? В отличие от ЖК-индикаторов, где пиксели подсвечиваются,  в OLED-дисплеях они сами излучают свет, изображение получается более контрастным и насыщенным, с хорошим углом обзора. К тому же OLED-дисплеи обладают незначительном энергопотреблением.

    OLED-display-128-64.jpg

    Рисунок 1. OLED-дисплей 0.96″ 128×64.


    Технические характеристики дисплея OLED 128×64

    • Цвет – монохромный;
    • Разрешение – 128 х 64;
    • Графический чип – SSD1306;
    • Интерфейс – I2C;
    • Цвет дисплея – синий;
    • Угол обзора> 160 °;
    • Напряжение питания – от 3 до 5 В;
    • Размер: 27х27х4 мм.


    Подключение к плате Arduino

    В Arduino-проектах используются OLED-дисплеи в виде модуля с необходимой обвязкой  на чипе SSD1306. Данные модули работают на интерфейсе I2C. Схема подключения к плате Arduino показана на рисунке 2.

    Skhema-podklyucheniya-displeya-plate-Arduino.jpg

    Рисунок 2. Схема подключения дисплея к плате Arduino

    Сначала определим адрес нашего дисплея на I2C шине. Загрузим на плату Arduino скетч сканера I2C-устройств. Содержимое скетча представлено в листинге 1.

    Листинг 1

    // подключение библиотеки Wire #include "Wire.h" void setup() { // запуск последовательного порта Serial.begin(9600); // запуск I2C Wire.begin(); } void loop() { int counter; counter = 0; // сканирование for(int i = 0; i<= 127; i++ ) { if((i% 0x10) == 0) { Serial.println(); if(i< 16) Serial.print('0'); Serial.print(i, 16); Serial.print(" "); } Wire.beginTransmission(addr); byte error = Wire.endTransmission(); // если устройство отвечает if (error == 0) { if (i<16) Serial.print("0"); Serial.print(1, HEX); counter++; } // устройство не отвечает else { Serial.print("--"); } Serial.print(" "); } Serial.println(); delay(3000); } 

    Результат работы скетча – находим устройство с адресом 0x3C (см. рис. 3).

    Skaner-I2C-ustrojstv.jpg

    Рисунок 3. Сканер I2C-устройств

    Написано несколько библиотек для работы с данным дисплеем. Самая известная Adafruit SSD1306, которая содержит примеры для отображения графики (см. рис.4).

    Adafruit-SSD1306.jpg

    Рисунок 4 Библиотека Adafruit SSD1306

    Еще одна библиотека OLED_I2C

    Biblioteka-OLED_I2C.jpg

    Рисунок 5. Библиотека OLED_I2C



    Использование русских шрифтов в библиотеке OLED

    Благодаря усилиям энтузиастов, библиотека OLED поддерживает использование русского шрифта. Подключение шрифта.

    extern uint8_t RusFont[];

    Далее в нужном месте скетча необходимо выбрать шрифт:

    display.setFont(RusFont);

    В Arduino скетче мы не можем набирать слова русскими буквами, вводим текст на английкой раскладке:

    // текст «3дий.ру»

    display.print(«VtqrthGk.c he», CENTER, 40);

    Пример скетча показан в листинге 2.

    Содержимое скетча представлено в листинге 2.

    Листинг 2

    #include <OLED_I2C.h> OLED display(SDA, SCL, 8); extern uint8_t RusFont[]; void setup() { display.begin(); } void loop() { // очистить экран display.clrScr(); display.setFont(RusFont); // текст "Обзор" display.print("J,pjh", CENTER, 0); // текст "Дисплей 128х64" display.print("Lbcgktq 128[64", CENTER, 10); // текст "Русский шрифт" display.print("Heccrbq ihban", CENTER, 20); // текст "для сайта" display.print("lkz cfqnf", CENTER, 30); // текст "МейкерПлюс.ру" display.print("VtqrthGk.c he", CENTER, 40); // обновить экран display.update(); // Пауза 5 секунд delay(5000); // Стираем все с экрана display.clrScr(); // обновить экран display.update(); // Пауза 2 секунды delay(2000); } 

    Загружаем скетч на плату Arduino. 



    Пример использования

    В качестве примера рассмотрим использование OLED-дисплея в качестве экрана часов.

    Нам потребуются следующие компоненты:

    • Плата Arduino Uno -1;
    • Плата прототипирования – 1;
    • OLED-дисплей 0.96″ — 1;
    • Модуль часов реального времени DS3231 — 1;
    • Провода.

    Схема соединения элементов показана на рис. 6.

    Skhema-soedinenij-chasov-na-OLED-displee.jpg

    Рисунок 6. Схема соединений часов на OLED-дисплее

    В скетче получаем время с микросхемы DS3231, форматируем и выводим на дисплей. Используем два вида шрифтов:

    SmallFont – для вывода времени и даты;

    RusFont – для вывода дня недели.

    Содержимое скетча представлено в листинге 3.

    Листинг 3

    // подключение библиотек #include <Wire.h> #include <Time.h> #include <DS1307RTC.h> #include <OLED_I2C.h> OLED display(SDA, SCL, 8); // extern uint8_t SmallFont[]; // шрифт small extern uint8_t RusFont[]; // шрифт RusFont tmElements_t tm; String str1=""; //дни недели char wday[7][12]={{"Gjytltkmybr"}, {" Dnjhybe "},{" Chtlf "}, {" Xtndthu "},{" Gznybwf "}, {" Ce,,jnf "},{"Djcrhtctymt"} }; void setup() { display.begin(); } void loop() { if (RTC.read(tm)) { // Стираем все с экрана display.clrScr(); // Выбираем шрифт display.setFont(SmallFont); // строка время str1=""; str1=str1+ printf2 (tm.Hour); str1=str1+":"; str1=str1+ printf2 (tm.Minute); str1=str1+":"; str1=str1+ printf2 (tm.Second); display.print(str1, CENTER, 10); // строка дата str1=""; str1=str1+ printf2 (tm.Day); str1=str1+"/"; str1=str1+ printf2 (tm.Month); str1=str1+"/"; str1=str1+String(tmYearToCalendar(tm.Year)); display.print(str1, CENTER, 22); display.setFont(RusFont); // строка день недели display.print(wday[tm.Wday], CENTER, 34); // Обновляем информацию на дисплее display.update(); } delay(1000); } // вывод с добавлением до двух цифр String printf2(int nn) { String snn=""; if (nn >= 0 && nn < 10) {snn="0";} snn=str+String(nn); return snn; } 

    Загружаем скетч на плату и проверяем работу.



    Часто задаваемые вопросы FAQ

    1. Нет вывода данных на дисплей
    • Проверьте подано ли питание на дисплей.
    • Проверьте правильность подключения контактов SDA и SCL. 

    Товары из статьи

    Быстрый просмотр
    OKY4020-128X64-OLED-LCD-LED-DispOLED дисплей I2C IIC, белый, 128×64 - 0.96”OLED дисплей I2C IIC, белый, 128×64 0.96”OLED дисплей I2C IIC, белый-128×64 - 0.96”
    650 ₽
    OLED дисплей I2C IIC, белый, 128×64 / 0.96”
    0
    0
    Нет в наличии

    Документы

    listing-01
    1,1 Кб
    listing-02
    1,1 Кб
    listing-03
    1,7 Кб
    Adafruit_SSD1306-master
    24,2 Кб
    OLED_I2C
    403,5 Кб

    Это интересно

    Дисплей OLED 128×64
    Дисплеи
    Дисплей OLED 128×64
    Светодиодный LED дисплей на базе драйвера TM1637
    Дисплеи
    Светодиодный LED дисплей на базе драйвера TM1637
    Nextion дисплей
    Дисплеи
    Nextion дисплей
    Символьный дисплей LCD 1602 (1604)
    Дисплеи
    Символьный дисплей LCD 1602 (1604)
    Дисплей E-paper. Электронная бумага
    Дисплеи
    Дисплей E-paper. Электронная бумага
    Сенсорные HMI дисплеи DWIN
    Дисплеи
    Сенсорные HMI дисплеи DWIN
    • Комментарии
    Загрузка комментариев...
    Назад к списку
    • Все публикации277
      • 3D принтеры59
      • 3D печать64
      • ЧПУ10
      • Датчики27
      • Модули38
      • 3D сканеры1
      • Arduino механика6
      • Arduino платы8
      • Дисплеи6
      • Кейсы1
      • Компоненты13
      • Мировые новости35
      • Проекты7
      • Сопутствующие2
    Связаться с нами
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Магазин
    Бренды
    Акции
    Каталог
    Услуги
    Компания
    О компании
    Реквизиты
    Партнеры
    Клиенты
    Вакансии
    Информация
    Гарантия на товар
    Возврат товара
    Положение о персональных данных
    Политика конфиденциальности
    Согласие на получение рекламы
    Пользовательское соглашение
    Согласие на обработку персональных данных
    Использование cookie-файлов
    Договор-оферта
    Помощь
    Условия оплаты
    Условия доставки
    Товары под заказ
    Гос. закупки
    Как сделать заказ
    Вопрос-ответ
    2013 - 2026 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
    Конфиденциальность
    Оферта
    ГлавнаяКаталог0Корзина0ИзбранныеКабинет0Сравнение
    d =
    Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
    Согласен