Как да използваме OLED дисплей с ESP32?

4 август 2025
Как да използваме OLED дисплей с ESP32?

OLED дисплеите са идеални за малки проекти, където се изисква ясен текст или прости графики. Комбинацията от ESP32 и 0.96” OLED дисплей (SSD1306) е популярна сред разработчици на IoT устройства. В тази статия ще ти покажа стъпка по стъпка как да свържеш и управляваш OLED дисплей с ESP32.

 

 

Необходими компоненти:

 

 

 

 

 

 

 

 

 

Свързване на OLED дисплея към ESP32:

 

OLED дисплеят използва I2C, което означава, че са нужни само два кабела за комуникация. Схемата на свързване може да намерите в галерията точно под статията. 

 

OLED пин      Свържи към ESP32
GND                GND
VCC                3.3V
SCL            GPIO 22
SDA            GPIO 21

 

 

Забележка: GPIO 21 и GPIO 22 са стандартните I2C пинове за ESP32, но могат да се променят в кода.

 

 

Инсталиране на нужните библиотеки:

 

  1. Отвори Arduino IDE

  2. Отиди на Sketch > Include Library > Manage Libraries

  3. Потърси и инсталирай следните библиотеки:

 

Adafruit SSD1306

Adafruit GFX Library

Примерен код за работа с OLED дисплей: 

 

#include                      // Библиотека за I2C комуникация
#include             // Графична библиотека на Adafruit
#include         // Драйвер за SSD1306 дисплей
 
#define SCREEN_WIDTH 128             // Ширина на дисплея в пиксели
#define SCREEN_HEIGHT 64             // Височина на дисплея в пиксели
 
// Инициализация на дисплея по I2C (по подразбиране адресът е 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
 
void setup() {
  Serial.begin(115200);              // Стартиране на серийната комуникация
 
  // Старт на дисплея и проверка дали е открит
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("Грешка при откриване на OLED дисплей!"));
    while(true);                     // Спира програмата при грешка
  }
 
  display.clearDisplay();           // Изчистване на дисплея
  display.setTextSize(1);           // Размер на текста (1 = нормален)
  display.setTextColor(SSD1306_WHITE); // Цвят на текста (бял)
  display.setCursor(0,0);           // Начална позиция (горе вляво)
  display.println("Здравей, свят!"); // Показване на текст
  display.display();                // Ъпдейт на дисплея
}
 
void loop() {
  // Можеш да добавиш допълнителна логика тук
}

 

 

Възможни проблеми и решения при работа с ESP32 и OLED: 

 

Проблем Причина Решение
Дисплеят не се включва      Неправилен VCC (5V вместо 3.3V)       Свържи към 3.3V
"SSD1306 allocation failed"      Недостатъчна RAM       Използвай по-малко графики
Няма нищо на екрана      Грешен I2C адрес       Провери с I2C скенер (0x3C или 0x3D)

 

Заключение:

 

OLED дисплеите са чудесен начин да добавиш визуален интерфейс към твоите ESP32 проекти. Те са лесни за употреба, изискват малко ресурси и поддържат текст и графики.

 

 

В света на електрониката и особено при микроконтролерите често използваме устройства, които работят на различни логически нива – най-разпространените са 3.3V и 5V. Разбирането на тези нива е важно, защото грешното им свързване може да доведе до неправилна работа или дори повреда на компонентите.

прочети още

Шумът в електронните схеми е един от най-честите проблеми, които водят до грешни показания, нестабилна работа и непредсказуемо поведение. Един от най-простите и ефективни начини за намаляване на този шум е използването на RC филтри. Те са леки, евтини и се прилагат във всичко – от аналогови сензори до микроконтролери като Arduino. В тази тема ще обясним какво представляват RC филтрите, как работят и кога да ги използваш.

прочети още

В електрониката често работим с цифрови устройства – микроконтролери, компютри, сензори. Те обработват информацията като поредица от нули и единици. Проблемът е, че голяма част от реалния свят е аналогов – звук, светлина, температура, движение. Точно тук се появява DAC (Digital-to-Analog Converter) – устройство, което превръща цифрови данни в плавен аналогов сигнал. В тази статия ще обясня по прост и разбираем начин какво е DAC, как работи, защо ни трябва и как можем да го използваме в проекти с Arduino и други микроконтролери.

прочети още

Аналогово-цифровият преобразувател (ADC) е един от най-важните елементи в съвременната електроника. Благодарение на него устройствата могат да „разбират“ аналоговия свят – звук, светлина, температура, налягане – и да го превръщат в числа, които микроконтролерите и компютрите могат да обработват. Накратко: без ADC нямаше да съществуват Ардуино проекти със сензори, цифрови мултиметри, аудио интерфейси, смартфони и още много други устройства.

прочети още

RFID (Radio Frequency Identification) е технология за безжично разпознаване на обекти чрез радиовълни. Благодарение на нея информацията може да се предава между малък електронен етикет (RFID таг) и устройство, наречено RFID четец, без нужда от директен контакт или видимост. Това прави технологията изключително удобна, бърза и точна за различни системи за идентификация.

прочети още

Инфрачервената (IR) комуникация е една от най-разпространените технологии за безжично управление на устройства в дома — телевизори, климатици, DVD плейъри, аудио системи и много други. Тя е проста, евтина, надеждна и работи отлично на къси разстояния. В тази статия ще разгледаме подробно какво представлява IR комуникацията, как работят IR дистанционните, какви компоненти използват и защо технологията продължава да бъде популярна дори днес.

прочети още

LoRa (Long Range) е безжична технология за комуникация, създадена специално за устройства, които трябва да изпращат малки количества данни на много големи разстояния, като същевременно използват изключително малко енергия. Тя е една от най-популярните технологии в света на IoT (Internet of Things), защото позволява евтини, надеждни и енергийно-ефективни връзки между устройства, които могат да бъдат разположени на километри разстояние едно от друго.

прочети още

В света на електрониката и микроконтролерите има два изключително популярни начина за комуникация между устройства – SPI и I2C. Те позволяват на микроконтролера да общува със сензори, памети, дисплеи и други периферни устройства. Въпреки че често се използват за едни и същи цели, техният начин на работа и предимства са различни. По-долу ще ти дам ясно и разбираемо обяснение, така че да можеш лесно да прецениш кой протокол да използваш в твоя проект.

прочети още

Серво моторите са едни от най-често използваните задвижващи механизми в роботиката, радио управлението, автоматизацията и Arduino проектите. Те дават точен контрол върху ъгъла, позицията и движението, без да изискват сложни драйвери. За начинаещи и напреднали те са идеалното решение, когато трябва да движим нещо точно и повторяемо.

прочети още

В света на електрониката и автоматизацията електрическите мотори играят ключова роля. Те задвижват роботи, CNC машини, 3D принтери, интелигентни устройства, играчки, домашни системи и още много други устройства. Но за да може един микроконтролер – като Arduino, ESP32 или Raspberry Pi – да управлява мотор, е нужен специален елемент: драйвер за мотор. В тази статия ще разгледаме какво представлява драйверът, защо е толкова важен и как работи.

прочети още

Калибрирането на сензор е една от най-важните стъпки за осигуряване на точни и надеждни измервания във всяка електронна система – от малък Arduino проект до професионални индустриални устройства. Ако сензорът не е правилно калибриран, данните му могат да бъдат грешни, нестабилни или напълно безполезни. В тази статия ще разбереш какво точно представлява калибрирането, защо е необходимо и как се прави по най-лесния и правилен начин.

прочети още

В света на електрониката и автоматизацията сензорите играят ключова роля. Те са „очите и ушите“ на системите, защото събират информация от заобикалящата среда и я предават към контролер, например микроконтролер или компютър. Но когато започнем да се занимаваме с тях, често се сблъскваме с два термина: аналогови и цифрови сензори. Какво точно означават и по какво се различават? Нека да ги разгледаме по прост и ясен начин.

прочети още

Въведение Ако си се занимавал с Arduino, сензори или микроконтролери, вероятно си виждал надписа I2C, понякога написан и като I²C или TWI (Two Wire Interface). Но какво всъщност представлява това? I2C е комуникационен протокол, който позволява на няколко електронни устройства да обменят данни помежду си само с два проводника.

прочети още

В електрониката и комуникационните системи често се говори за диференциални сигнали. Те се използват навсякъде — от USB и Ethernet до сензори и индустриални интерфейси като RS-485 и CAN. Но какво всъщност представлява диференциалният сигнал и защо е толкова важен?

прочети още

В индустриалната автоматизация често се срещат различни протоколи за обмен на данни между устройства – сензори, контролери, задвижващи механизми и SCADA системи. Един от най-старите и все още най-широко използвани протоколи е Modbus. Създаден през 1979 г. от Modicon (сега Schneider Electric), Modbus се е наложил като стандарт заради своята простота, надеждност и съвместимост с безброй устройства.

прочети още

В света на индустриалната автоматизация и управлението на машини комуникацията между устройствата е от решаващо значение. Едно от най-популярните и надеждни решения за това е RS485 – комуникационен стандарт, който се използва в различни индустрии вече десетилетия.

прочети още

В съвременния свят на електрониката и вградените системи обменът на данни между различни устройства е изключително важен. Един от най-разпространените и лесни за използване методи за комуникация е UART (Universal Asynchronous Receiver-Transmitter). В тази статия ще разгледаме какво представлява UART, как работи и как можем да го използваме за комуникация между микроконтролери, компютри и други периферни устройства.

прочети още

В днешно време преносимите устройства като телефони, таблети и смарт аксесоари са част от ежедневието ни. Често се случва батерията да се изтощи, когато нямаме контакт наблизо. Именно тук се появяват power bank-овете – малки преносими батерии, които могат да зареждат всякакви устройства чрез USB портове. Но възможно ли е да използваме power bank и за захранване на електронни проекти, например с Arduino или Raspberry Pi?

прочети още

Ако си ентусиаст в света на електрониката или разработваш IoT проекти, почти сигурно си се сблъсквал с въпроса: ESP32 или ESP8266? И двата модула са създадени от Espressif Systems, но имат сериозни разлики, които могат да повлияят на избора ти в зависимост от проекта. В тази статия ще сравним двете платки по най-важните параметри и ще ти помогнем да вземеш информирано решение.

прочети още

ESP8266 е евтин Wi-Fi модул, който се използва за IoT (Internet of Things) проекти. Той позволява на микроконтролерите като Arduino да се свързват към Wi-Fi мрежа и да изпращат/получават данни през интернет. Освен това, ESP8266 сам по себе си има микроконтролер и може да се програмира директно, без нужда от външен контролер като Arduino.

прочети още