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(); //обновить дисплей установленными настройками и надписями
 
}