OLED Дисплей 0,96' (128x64) I2C

Описание

Небольшой дисплей (0,96″) с малым энергопотреблением (не требующим подсветки). Один из самых удобных и функциональных дисплеев, представленных на рынке.

Технические характеристики

  • Разрешение: 128×64 пикселей
  • Угол обзора: >160°
  • Энергопотребление: 0.08 Вт
  • Рабочее напряжение: 3 - 5 В
  • Рабочая температура: -30 C - 70 °С
  • Интерфейс: I2C / IIC
  • Диагональ дисплея: 0,96″ дюйма

Физические размеры

  • Размер платы с дисплеем (Д х Ш х В): 28 х 29 х 12 мм (высота с выводами)
  • Размер дисплея (Д х Ш х В): 20 х 27 х 1 мм

Плюсы использования

  • Низкое энергопотребление
  • Удобная работа

Минусы использования

  • Дороже индикаторов и индикаторных дисплеев

Библиотеки для работы с дисплеем

Примеры подключения и использования

Пример: Подключение OLED дисплея 0,96' и модуля датчика DHT-22

Подключение модуля датчика и вывод температуры и влажности на дисплей (на примере контроллера Smart UNO).

Для этого нам понадобится:

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

Пример кода:

//Подключение библиотеки для работы с дисплеем
#include <OLED_I2C.h>
 
//Подключение библиотеки для работы с датчиком
#include <DHT.h>
 
//определение постоянных значений
#define DHTPIN 9 //пин получения данных с датчика
#define DHTTYPE DHT22 //Значение типа датчика
 
DHT dhtSensor(DHTPIN, DHTTYPE); //инициализация датчика
 
OLED  myOLED(SDA, SCL, 8); //инициализация дисплея
 
extern uint8_t SmallFont[]; //стандартный шрифт
extern uint8_t RusFont[]; //русский шрифт
extern uint8_t BigNumbers[]; //средние цифры
 
void setup()
{
  dhtSensor.begin(); //запуск датчика
  myOLED.begin(); //запуск дисплея
}
 
void loop()
{
 
  delay(2000); //время чтобы датчик прогрузился
 
  float h = dhtSensor.readHumidity(); //получение данных по влажности
  float t = dhtSensor.readTemperature(); //получние данных по температуре
 
  if(isnan(h) || isnan(t)) return; //возврат если данные по температуре или влажности некорректно считались
 
  //Вывод значения температуры 
  myOLED.clrScr();
 
  myOLED.setFont(RusFont); //установить шрифт
  myOLED.print("NTVGTHFNEHF", CENTER, 0); //вывести надпись "ТЕМПЕРАТУРА"
 
  myOLED.setFont(BigNumbers); //установить шрифт
  myOLED.print(String(t), CENTER, 9); //вывести текущую температуру
 
  myOLED.setFont(RusFont); //установить шрифт
  myOLED.print("uhflecjd Wtkmcbz", CENTER, 40); //вывести надпись "градусов Цельсия"
 
  myOLED.setFont(SmallFont); //установить шрифт
  myOLED.print("smartelements.ru", CENTER, 55); //вывести надпись "smartelements.ru"
 
  myOLED.update(); //обновить дисплей установленными настройками и надписями
  delay (2000); // задержка 2 секунды
 
  //Вывод значения температуры 
  myOLED.clrScr();
 
  myOLED.setFont(RusFont); //установить шрифт
  myOLED.print("DKF:YJCNM", CENTER, 0); //вывести надпись "ВЛАЖНОСТЬ"
 
  myOLED.setFont(BigNumbers); //установить шрифт
  myOLED.print(String(h), CENTER, 9); //вывести текущую влажность
 
  myOLED.setFont(RusFont); //установить шрифт
  myOLED.print("vv hnenyjuj cnjk,f", CENTER, 40); //вывести надпись "мм ртутного столба"
 
  myOLED.setFont(SmallFont); //установить шрифт
  myOLED.print("smartelements.ru", CENTER, 55); //вывести надпись "smartelements.ru"
 
  myOLED.update(); //обновить дисплей установленными настройками и надписями
 
}