Оглавление:
Во многих электронных проектах бывает необходимо использовать обычный ЖК-дисплей или LED. Но чтобы сделать проект более привлекательным и интересным, можно использовать органический OLED. OLED — это светоизлучающий экран, состоящий из тонких органических пленок между двумя проводниками. Поскольку дисплей не требует подсветки, он более совершенен, чем простой ЖК-дисплей. Таким образом, он имеет улучшенное качество изображения, более низкое энергопотребление и лучшую производительность (то есть КПД).
OLED-модуль имеет однокристальный CMOS OLED-драйвер SSD1306, который может ассоциироваться и передаваться на микроконтроллер с использованием интерфейса I2C или SPI. Конечно, I2С требует больше информационных пинов, но и быстрее. Модули OLED бывают разных размеров и могут быть заменяемы. Поскольку дисплей не требует подсветки, снижается потребность в дополнительном питании и стоимость всей конструкции. Модули OLED потребляют ток примерно 20 мА, а работают в диапазоне напряжений от 1,7 до 3,3 В. Также модуль имеет 1 КБ GDDRAM, что означает ОЗУ данных графического дисплея, имеет 8 страниц от 0 до 7, каждая из которых содержит по 128 сегментов, и каждая секция может хранить 8 бит данных или информации.
Принципиальная электросхема
Код микроконтроллера
#include <Tiny8kOLED.h> // This is the modified library
#include <Wire.h>void setup() {
oled.begin();
}void loop() {
oled.fill(0xFF); //fill screen with color
delay(100);
oled.clear(); //all black
delay(100);
oled.setFont(FONT8X16);
oled.setCursor(0,0); //top left=oled.setCursor(X IN PIXELS, Y IN ROWS OF 8 PIXELS STARTING WITH 0);
oled.print(F(«AtTiny85»)); //wrap strings in F() to save RAM!
oled.setCursor(8,2); //top left=oled.setCursor(X IN PIXELS, Y IN ROWS OF 8 PIXELS STARTING WITH 0);
oled.print(F(«AtTiny85»)); //wrap strings in F() to save RAM!
oled.setCursor(16,4); //top left=oled.setCursor(X IN PIXELS, Y IN ROWS OF 8 PIXELS STARTING WITH 0);
oled.print(F(«AtTiny85»)); //wrap strings in F() to save RAM!
delay(3000);
oled.clear(); //all black
oled.setFont(FONT16X32);
oled.setCursor(0,0); // top-left
oled.print(F(«123456789999»)); // long number truncated to 8 digits
// Positioning on display can be done in steps of 8 bits on the vertical axis,
// seting in setCursor values like *.1 … *.4.
oled.setCursor(32,4); // second line, from third digit on:
oled.print(F(«-23.4»));
delay(5000);
}
К интерфейсу OLED 128×64 OLED с ATtiny85 подключите элементы согласно представленной схеме. Откройте Arduino IDE и запишите приведенный код. Загрузите его в свой контроллер. Включите схему и наблюдайте за OLED-дисплеем, где увидите текст на экране в соответствии с программированием.
Пояснение к коду
- Включите эту библиотеку для OLED вместе с проводной библиотекой для внешней связи.
- В настройке void инициализируйте OLED-дисплей с помощью функции OLED.begin()
В цикле void для цвета экрана используйте команду OLED.fill(). Чтобы очистить буфер перед печатью первого сообщения, используйте функцию OLED.clear(). Используйте OLED.setCursor(x, y) для установки или исправления положения текста в пикселях и y в строках. Используйте нужный шрифт с помощью OLED.setFont(). И используйте OLED.print() для печати текста.
Применяется такая связка в цифровых устройствах, для создания цифровых информационных экранов в бытовой технике, для карманных устройств, которым нужны цифровые экраны.








