8 (800) 550-13-29
Заказать звонок
Связь с директором
  • Контакты
  • Доставка
  • Оплата
  • База знаний
  • Блог
  • Акции
  • Видео
  • О 3DiY
  • Гос. закупки
  • ...
    3DIY
    3D принтеры
    Всё для 3D принтеров
    • Электроника
      Электроника
    • Механика
      Механика
    • Экструдеры
      Экструдеры
    • Пластик
      Пластик
    • 3D принтеры
      3D принтеры
    • 3D ручки
      3D ручки
    • Сопутствующие
      Сопутствующие
    Arduino/робототехника
    • Arduino
      Arduino
    • Raspberry Pi
      Raspberry Pi
    • Orange Pi
      Orange Pi
    • Одноплатники
      Одноплатники
    • Модули (Shield)
      Модули (Shield)
    • Датчики / Сенсоры
      Датчики / Сенсоры
    • Дисплеи
      Дисплеи
    • Механика
      Механика
    • Макетные платы (Breadboard)
      Макетные платы (Breadboard)
    • Светодиоды
      Светодиоды
    • Провода и кабели
      Провода и кабели
    • Источники питания
      Источники питания
    • Радиодетали
      Радиодетали
    ЧПУ
    • Электроника
      Электроника
    • Электротехника
      Электротехника
    • Электропривод
      Электропривод
    • Направляющие
      Направляющие
    • Передачи
      Передачи
    • Механика
      Механика
    • Конструкционный профиль
      Конструкционный профиль
    • Лазерная резка и аксессуары
      Лазерная резка и аксессуары
    Услуги
    • 3D печать
    • Ремонт 3D принтеров
    Ещё
      3DIY
      3D принтеры
      Каталог
      • 3D принтеры и комплектующие
        3D принтеры и комплектующие
        • Электроника
        • Механика
        • Экструдеры
        • Пластик
        • 3D принтеры
        • 3D ручки
        • Сопутствующие
      • Arduino и робототехника
        Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Orange Pi
        • Одноплатники
        • Модули (Shield)
        • Датчики / Сенсоры
        • Дисплеи
        • Механика
        • Макетные платы (Breadboard)
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • ЧПУ комплектующие
        ЧПУ комплектующие
        • Электроника
        • Электротехника
        • Электропривод
        • Направляющие
        • Передачи
        • Механика
        • Конструкционный профиль
        • Лазерная резка и аксессуары
      Услуги
      • 3D печать
      • Ремонт 3D принтеров
      Блог
      • 3D-печать
      • 3D-принтеры
      База знаний
      • Датчики
      • Модули
      • Платы
      • 3D-принтеры
      • Дисплеи
      • Механика
      • Сопутствующие
      • ЧПУ
      • Проекты
      • Компоненты
      Информация
      • Акции и Скидки
      • Условия доставки
      • Условия оплаты
      • Сashback
      • О нас
        • Наши партнеры
        • Наши клиенты
        • Вакансии
      • Гос. закупки
      Контакты
      • Как до нас добраться
      Ещё
        3DIY
        • 3D принтеры
        • Каталог
          • Назад
          • Каталог
          • 3D принтеры и комплектующие
            • Назад
            • 3D принтеры и комплектующие
            • Электроника
            • Механика
            • Экструдеры
            • Пластик
            • 3D принтеры
            • 3D ручки
            • Сопутствующие
          • Arduino и робототехника
            • Назад
            • Arduino и робототехника
            • Arduino
            • Raspberry Pi
            • Orange Pi
            • Одноплатники
            • Модули (Shield)
            • Датчики / Сенсоры
            • Дисплеи
            • Механика
            • Макетные платы (Breadboard)
            • Светодиоды
            • Провода и кабели
            • Источники питания
            • Радиодетали
          • ЧПУ комплектующие
            • Назад
            • ЧПУ комплектующие
            • Электроника
            • Электротехника
            • Электропривод
            • Направляющие
            • Передачи
            • Механика
            • Конструкционный профиль
            • Лазерная резка и аксессуары
        • Услуги
          • Назад
          • Услуги
          • 3D печать
          • Ремонт 3D принтеров
        • Блог
          • Назад
          • Блог
          • 3D-печать
          • 3D-принтеры
        • База знаний
          • Назад
          • База знаний
          • Датчики
          • Модули
          • Платы
          • 3D-принтеры
          • Дисплеи
          • Механика
          • Сопутствующие
          • ЧПУ
          • Проекты
          • Компоненты
        • Информация
          • Назад
          • Информация
          • Акции и Скидки
          • Условия доставки
          • Условия оплаты
          • Сashback
          • О нас
            • Назад
            • О нас
            • Наши партнеры
            • Наши клиенты
            • Вакансии
          • Гос. закупки
        • Контакты
          • Назад
          • Контакты
          • Как до нас добраться
        • 8 (800) 550-13-29
        Контактная информация
        Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
        info@3d-diy.ru
        • Facebook
        • Вконтакте
        • Instagram
        • YouTube

        Дисплей OLED 128×64

        База знаний
        -
        OLED дисплеи
        -Дисплей OLED 128×64
        Поделиться
        • Дисплей OLED 128×64
        Дисплеи
        Перейти в раздел
        Дисплеи
        Товары
          • OLED дисплей 128x64 0.96 дюймов
            Быстрый просмотр
            OLED дисплей 128x64 0.96 дюймов
            Мало
            533 руб./шт
            Подробнее
          В отличие от ЖК-индикаторов, где пиксели подсвечиваются,  в OLED-дисплеях они сами излучают свет, изображение получается более контрастным и насыщенным, с хорошим углом обзора.

          Содержание

          • Обзор
          • Технические характеристики модуля
          • Подключение к плате 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. 


          Документы
          listing-01 1,1 кб
          listing-02 1,1 кб
          listing-03 1,7 кб
          Adafruit_SSD1306-master 24,2 кб
          OLED_I2C 403,5 кб

          Товары
            • OLED дисплей 128x64 0.96 дюймов
              Быстрый просмотр
              OLED дисплей 128x64 0.96 дюймов
              Мало
              Подробнее

            Назад к списку
            Компания
            О компании
            Политика
            Услуги
            Партнеры
            Клиенты
            Информация
            Акции и скидки
            Условия оплаты
            Условия доставки
            Гарантия на товар
            Кэшбэк
            Как купить
            Вопрос-ответ
            Блог
            База знаний
            Производители
            Будьте всегда в курсе!
            Узнавайте о скидках и акциях первым
            Оставайтесь на связи
            • Вконтакте
            • Facebook
            • Instagram
            • YouTube
            Наши контакты
            8 (800) 550-13-29
            info@3d-diy.ru
            Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
            2021 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники