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).
Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер | 1 |
Модуль датчика температуры и влажности DHT-22 | 1 |
OLED Дисплей 0,96' | 1 |
Провода папа-мама | 7 |
Провода папа-папа | 2 |
Подключение:
Пример кода:
//Подключение библиотеки для работы с дисплеем
#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(); //обновить дисплей установленными настройками и надписями
}