DocsTech
/
Дисплеи
/

~ cd ssd1306 подключение по i2c к arduino uno, nano и mega

Дисплей SSD1306 является популярным OLED-дисплеем, который обеспечивает яркое и четкое изображение на экране. Он поддерживает интерфейс I2C для подключения к микроконтроллеру Arduino. В этой статье мы рассмотрим процесс подключения дисплея SSD1306 к Arduino UNO, Nano и Mega по протоколу I2C.

Статья подходит для дисплеев с любой величиной в дюймах и разрешением экрана.

Краткое описание дисплея SSD1306

Дисплей SSD1306 представляет собой монохромный OLED-дисплей с высоким разрешением, который идеально подходит для маленьких проектов, где требуется компактный и яркий дисплей. Он имеет небольшой размер, низкое энергопотребление и широкий угол обзора.

Схема подключения Arduino к SSD1306

Дисплей может подключен к любому Arduino, также не важно разрешение и размер в дюймах экрана. Пара пинов SDA и SCL есть всех arduino, в нашем используется случае Arduino Uno.

Таблица 1. Подключение SSD1306 и Arduino Uno, Nano и Mega
SSD1306Arduino UnoArduino NanoArduino Mega
1SDAA4A4пин 20 (SDA)
2SCLA5A5пин 21 (SCL)
3VCC5V5V5V
4GNDGNDGNDGND
Схема подключение SSD1306 к Arduino Uno
Рисунок 1. Подключение Arduino Uno и SSD1306

Краткое описание библиотек

Библиотека Adafruit_GFX.h предоставляет набор графических функций для работы с различными дисплеями, такими как рисование примитивов, текста и т. д.

Библиотека Adafruit(2.5.12)_SSD1306.h, в свою очередь, представляет драйвер для работы с дисплеем SSD1306, который упрощает взаимодействие с дисплеем и предоставляет удобный интерфейс.

Код приложения для любых плат Arduino для управление дисплеем SSD1306

Arduino Uno подключается через интерфейс I2C для работы с экраном SSD1306. В предварительном блоке setup выполняется инициализация, настройка размера шрифта и место курсора. Как все будет настроено выведется сообщение «DocsTech Help You!» и через 1 секунду исчезнет. Далее циклически происходит вывод текста «Ready :» и цифрой равной числу повторений с интервалом 500 мс. Счетчик инкрементируется до 99 и сбрасывается. Весь код написан на языке С/C++.
...
Копировать
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128   // Ширина дисплея SSD1306 в пикселях
#define SCREEN_HEIGHT 64   // Высота дисплея SSD1306 в пикселях

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

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // Адрес дисплея SSD1306
  display.setTextColor(WHITE);
  
  // Калибровка для вывода слова "DocsTech Help You!" на черном экране
  display.clearDisplay();
  display.setTextSize(1);
  display.setCursor(10, 10);
  display.println("DocsTech Help You!");
  display.display();
  delay(1000);  // Отображение на 1 секунду
  
  display.clearDisplay(); // Очистить экран
}

void loop() {
  static int counter = 0;
  
  // Вывод текста "Ready: " и числа по циклически
  display.setTextSize(1);
  display.setCursor(10, 10);
  display.print("Ready: ");
  display.println(counter);
  display.display();
  
  delay(500);  // Задержка 500 мс
  
  display.clearDisplay(); // Очистить экран
  counter++;
  if (counter > 99) counter = 0;  // Сброс счетчика
}
Главная
Курсы
Вебинары
LCD 1602 подключение по I2C к Arduino UNO, Nano и Mega
SSD1306 подключение по I2C к Arduino UNO, Nano и Mega
Подключение ST7735 (128/80)x(128/160) к любому Arduino
ILI9341 320×240 подключение к Arduino UNO, Nano и Mega
LCD 2004 и Arduino: описание, подключение I2C и код
Подключение SH1106 к Arduino: код, схема и библиотеки
Подключение ST7789 к Arduino: код, схема и библиотеки
Arduino к ILI9486: код, библиотека и схема подключения
Arduino к TFT ILI9488: код, библиотеки и схема подключения
Подключение Arduino к ILI9163 TFT 128×160, 128×128 и 320×240
Закрыть