Инструкции

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

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

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

В сети

Пользователей: 296
Из них просматривают:
Аналоги: 150. Даташиты: 88. Инструкции: 5. Новости: 12. Остальное: 4. Производители: 1. Профиль пользователя: 15. Форум: 21.
Участников: 2
Гостей: 294

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 – чёрный пиксель.

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

Разное

Интересно

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

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