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

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

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

==== Плюсы использования ====
  * Низкое энергопотребление
  * Удобная работа

==== Минусы использования ====
  * Дороже индикаторов и индикаторных дисплеев

==== Библиотеки для работы с дисплеем ====
  * [[http://files.smartelements.ru/know_libs/oled_i2c.zip|Скачать]]
  * [[http://files.smartelements.ru/know_libs/oled_i2c_rus.zip|Скачать библиотеку с поддержкой русского и украинского языков]]

===== Примеры подключения и использования =====
==== Пример: Подключение OLED дисплея 0,96' и модуля датчика DHT-22 ====
Подключение модуля датчика и вывод температуры и влажности на дисплей (на примере контроллера Smart UNO). 

**Для этого нам понадобится:**
^ Что нужно:                                                                                                                                                      ^ Кол-во, шт  ^
| [[http://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер                              ]]                                        | 1           |
| [[http://smartelements.ru/collection/datchiki-i-sensory/product/modul-datchika-temperatury-i-vlazhnosti-dht-22|Модуль датчика температуры и влажности DHT-22]]  | 1           |
| [[http://smartelements.ru/collection/new_products/product/oled-displey-096-i2c| OLED Дисплей 0,96']]                                                                                                                                        | 1           |
| [[http://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]]                                          | 7           |
| [[http://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-papa|Провода папа-папа]]                                          | 2           |

**Подключение:**
{{ :главная:дисплеи:oled_096.jpg?nolink |}}

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