Categories
ESP8266 NodeMCU

SSD1306 OLED екран с I2C интерфейс

SSD1306 е монохромен графичен дисплей използващ OLED технология, има I2C интерфейс и работно напрежение 3.3V.

Съществуват няколко вариации в резолюция и цветове.

Нашият е с резолюция 128×32. Първите 8 реда пиксели са жълти останалите 24 са сини.

Свързваме:

  • GND на екрана към GND на NodeMCU.
  • VIN на екрана към 3V3 на NodeMCU.
  • SCL на екрана към SCL (D1) на NodeMCU.
  • SDA на екрана към SDA (D2) на NodeMCU.

За да можем да работим с този екран ще се наложи да инсталираме две библиотеки – Adafruit_SSD1306 и Adafruit_GFX.

Сега да тестваме екранчето:

#include "Adafruit_GFX.h"
#include "Adafruit_SSD1306.h"

#define SCREEN_WIDTH 128 // OLED широчина на екрана в пиксели
#define SCREEN_HEIGHT 32 // OLED височина на екрана в пиксели

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);


void setup() {
  // I2C адресът е 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  // изчистваме буфера
  display.clearDisplay();

  // чертаем една хоризонтална линия
  display.drawLine(0, 7, display.width()-1, 7, WHITE);

  // задаваме размер на шрифта
  display.setTextSize(1);
  // задаваме цвят на шрифта
  display.setTextColor(WHITE);
  // задаваме позиция на текста
  display.setCursor(0, 8);
  // извеждаме текст
  display.println("TechPot.w-lab.win");

  // до сега рисувахме в буфер.
  // за да направим промените видими трябва да извикаме display.display();
  display.display();
}

void loop() {
  // Не правим нищо
}

Резултатът:

Разбира се Adafruit_GFX библиотеката има доста по-богати възможности от чертаенето на прави линии и писането на текст.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *