Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 227
Из них просматривают:
Аналоги: 55. Галерея: 1. Даташиты: 71. Инструкции: 1. Магазин: 1. Новости: 70. Остальное: 8. Партнёры: 1. Производители: 1. Профиль пользователя: 6. Форум: 12.
Участников: 1
Гостей: 226

Google , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

SSD1306

SSD1306 — это популярная однокристальная микросхема-контроллер для управления OLED-дисплеями, которые используют технологию органических светодиодов (OLED) для излучения света. Контроллер SSD1306 обеспечивает буферизацию памяти и управляет всей работой дисплея, требуя минимальных ресурсов от подключенного микроконтроллера, например, Arduino или Raspberry Pi. Такие дисплеи, как 0.96-дюймовый с разрешением 128x64 пикселей, используют интерфейс I²C для подключения и могут выводить текст, графику и фигуры благодаря специализированным библиотекам.



Основные характеристики и функции:


Технология:
OLED-дисплей, где каждый пиксель является светоизлучающим прибором на основе органических соединений.

Контроллер: Микросхема SSD1306, которая управляет дисплеем и буферизацией памяти.

Разрешение: Чаще всего встречаются дисплеи 128x64 или 128x32 пикселей.

Интерфейс: Используется популярный двухпроводный интерфейс I²C, что упрощает подключение к различным микроконтроллерам.

Питание: Обычно требуется напряжение 3.3–5 В.

Функциональность: Библиотеки для SSD1306 позволяют выводить текст, рисовать фигуры и отображать графическую информацию.

Преимущества:


Экономичность: Дисплеи на основе SSD1306 потребляют мало энергии, что делает их подходящими для проектов с ограниченным питанием.

Высокий контраст: OLED-технология обеспечивает высокую контрастность и яркое изображение, которое хорошо видно даже при ярком свете.

Простота подключения: Стандартный I2C интерфейс и наличие готовых библиотек упрощают разработку и интеграцию в проекты с Arduino и другими платформами.

Применение:


Миниатюрные дисплеи SSD1306 широко используются в проектах по электронике и робототехнике, например, в Arduino-проектах для отображения данных с датчиков, температуры, состояния устройства и создания простых графических интерфейсов.

Подключение:


Для подключения OLED-дисплея SSD1306 к Arduino Nano используйте I²C интерфейс:
соедините выводы GND, VCC, SDA и SCL модуля с соответствующими выводами Arduino Nano – GND, 5V, A4 (SDA) и A5 (SCL) соответственно. Питание можно подать как от 5V, так и от 3.3V

Необходимые библиотеки

Для работы с дисплеем SSD1306 в Arduino IDE вам понадобятся библиотеки, такие как Adafruit_SSD1306 и Adafruit_GFX.

Шаги в Arduino IDE

Установка библиотек: В Arduino IDE перейдите в «Скетч» -> «Подключить библиотеку» -> «Управлять библиотеками». Найдите и установите Adafruit_SSD1306 и Adafruit_GFX. Загрузка скетча: Загрузите пример скетча из установленной библиотеки или напишите свой код, который будет выводить изображение на дисплей

Скетч:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Размеры дисплея
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// Создаём объект дисплея (адрес по умолчанию 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
  // Инициализация
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    // Если дисплей не найден
    for(;;); // Остановиться здесь
  }

  display.clearDisplay(); // Очистка
  display.setTextSize(1); // Размер шрифта
  display.setTextColor(SSD1306_WHITE); // Цвет текста
  display.setCursor(0,0); // Позиция курсора
  display.println("Hello, Arduino!");
  display.println("SSD1306 OLED");
  display.display(); // Вывод на экран
}

void loop() {
  // Тут можно обновлять экран
}



Скетч с графикой:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

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

void setup() {
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    for(;;); // Стоп, если дисплей не найден
  }

  display.clearDisplay();

  // Линия
  display.drawLine(0, 0, SCREEN_WIDTH-1, SCREEN_HEIGHT-1, SSD1306_WHITE);

  // Прямоугольник
  display.drawRect(10, 10, 50, 30, SSD1306_WHITE);

  // Закрашенный прямоугольник
  display.fillRect(70, 10, 40, 20, SSD1306_WHITE);

  // Окружность
  display.drawCircle(30, 50, 10, SSD1306_WHITE);

  // Закрашенный круг
  display.fillCircle(90, 50, 10, SSD1306_WHITE);

  // Текст
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(5, 55);   display.println(F("Arduino Nano"));

  display.display(); // Выводим всё на экран
}

void loop() {
  // Тут можно сделать анимацию или графику
}

--------------------------------------------------------------------------


Основные команды для работы с дисплеем SSD1306

Управление экраном

  • display.begin(SSD1306_SWITCHCAPVCC, 0x3C) – инициализация дисплея (адрес обычно 0x3C или 0x3D).
  • display.display(); – отрисовка на экране того, что нарисовано в буфере.
  • display.clearDisplay(); – очистка экрана (очищает буфер, нужно вызывать display.display(); чтобы изменения появились).
  • display.invertDisplay(true/false); – инвертирование цветов (белое ↔ чёрное).
  • display.dim(true/false); – уменьшение/увеличение яркости (работает не на всех дисплеях).

Работа с текстом

  • display.setTextSize(n); – размер текста (целое число: 1, 2, 3 …).
  • display.setTextColor(SSD1306_WHITE); – цвет текста (обычно SSD1306_WHITE или SSD1306_BLACK).
  • display.setCursor(x, y); – установка позиции курсора (в пикселях).
  • display.println("Текст"); – вывод текста + перевод строки.
  • display.print("Текст"); – вывод текста без перевода строки.

 

 

Примитивы (графика)

Линии

  • display.drawPixel(x, y, цвет); – рисует 1 пиксель.
  • display.drawLine(x0, y0, x1, y1, цвет); – линия.
  • display.drawFastHLine(x, y, длина, цвет); – горизонтальная линия.
  • display.drawFastVLine(x, y, длина, цвет); – вертикальная линия.

Прямоугольники

  • display.drawRect(x, y, w, h, цвет); – прямоугольник.
  • display.fillRect(x, y, w, h, цвет); – закрашенный прямоугольник.
  • display.drawRoundRect(x, y, w, h, радиус, цвет); – прямоугольник со скруглёнными углами.
  • display.fillRoundRect(x, y, w, h, радиус, цвет); – закрашенный вариант.

Круги

  • display.drawCircle(x, y, радиус, цвет); – окружность.
  • display.fillCircle(x, y, радиус, цвет); – закрашенный круг.

Треугольники

  • display.drawTriangle(x0, y0, x1, y1, x2, y2, цвет); – треугольник.
  • display.fillTriangle(x0, y0, x1, y1, x2, y2, цвет); – закрашенный треугольник.

Битмапы (изображения)

  • display.drawBitmap(x, y, data, w, h, цвет); – вывод картинки (монохром, данные в PROGMEM).

Цвета

Так как дисплей монохромный, доступно только:

  • SSD1306_WHITE – белый пиксель.
  • SSD1306_BLACK – чёрный пиксель.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

При пайке деталей над горловиной кинескопа накройте ее куском материи.
Этим Вы убережёте кинескоп от случайно падающего расплавленного припоя и, следовательно, от трещин в его стекле.

Похожие инструкции