Рубрики
Проекты на Raspberry Pi

Подключение OLED дисплея SSD1306 к Raspberry Pi

В настоящее время OLED дисплеи получают все большее распространение по сравнению со стандартными ЖК дисплеями 16х2, которые имеют множество ограничений. Сейчас на рынке доступно достаточно большое количество разнообразных OLED дисплеев, которые можно использовать в своих электронных проектах, но одни из самых распространённых сейчас OLED дисплеев – это дисплеи на основе драйвера SSD1306. В данной статье мы рассмотрим подключение подобного дисплея к плате Raspberry Pi. Ранее на нашем сайте мы рассматривали подключение OLED дисплея SSD1306 к плате Arduino.

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

  1. Плата Raspberry Pi (купить на AliExpress).
  2. Модуль OLED дисплея SSD1306 128×64 (купить на AliExpress).
  3. Источник питания.
  4. Макетная плата.
  5. Соединительные провода.

Общие принципы работы OLED дисплея SSD1306

Термин OLED расшифровывается как “Organic Light emitting diode”, что переводится как «органический светоизлучающий диод». В настоящее время это один из самых распространённых типов дисплеев, применяющихся в современных телевизорах. Используемый нами OLED дисплей SSD1306 построен по тому же самому принципу, что и дисплеи современных телевизоров, только количество пикселов в нем значительно меньше (по сравнению с телевизором). Мы в данном проекте используем монохромный OLED дисплей SSD1306 с диагональю 0.96” и 4-мя контактами. Данный дисплей может работать только по протоколу I2C. Аналогичные дисплеи с 7-мя контактами кроме интерфейса I2C могут также работать по интерфейсу SPI.

Внешний вид OLED дисплея SSD1306 показан на следующем рисунке.

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

Контакт OLED дисплея Контакт Raspberry Pi
VCC 3.3v
GND GND
SDA SDA (Physical pin 3)
SCL SCL (Physical pin 5)

С дисплеем разобрались, теперь переходим к общей схеме проекта.

Схема проекта

Схема подключения OLED дисплея SSD1306 к плате Raspberry Pi представлена на следующем рисунке.

Внешний вид собранной на макетной плате конструкции проекта показан на следующем рисунке.

Подключение OLED дисплея к Raspberry Pi

Сообществом Raspberry Pi в настоящее время разработано достаточно много библиотек, которые значительно упрощают подключение OLED дисплея к плате Raspberry Pi. Нам среди этих библиотек наиболее понравилась библиотека Adafruit_SSD1306 OLED, которую мы и будем использовать в нашем проекте.

Для подключения OLED дисплея к плате Raspberry Pi выполните следующую последовательность шагов.

Шаг 1. Включите интерфейс I2C в плате Raspberry Pi.

Для этого сначала зайдите в панель настроек платы:

В открывшемся окне настроек выберите настройки подключения периферийных устройств.

После этого выберите интерфейс I2C.

Включите его – нажмите yes, потом enter, потом ok.

Чтобы настройки вступили в силу, перезагрузите плату Raspberry Pi.

Шаг 2. Определите адрес I2C OLED дисплея и обновите его.

Для определения адреса I2C OLED дисплея выполните следующую команду, которая покажет вам этот адрес в шестнадцатеричном виде:

Установите последние обновления на плату Raspberry Pi:

Шаг 3. Установите python-pip и библиотеку для работы с контактами GPIO.

Установите pip с помощью следующей команды (если он у вас еще не установлен):

После этого установите библиотеку для работы с контактами GPIO (GPIO library):

Шаг 4. Установите библиотеку для работы с изображениями (Python Imaging Library) и библиотеку smbus.

Установите данные библиотеки с помощью команды:

Шаг 5. Установите Adafruit SSD1306 python library (библиотеку для работы с OLED дисплеем SSD1306).

Для этого выполните следующую последовательность команд:

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

Объяснение программы для Raspberry Pi

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Первым делом в программе мы подключим (импортируем) необходимые нам библиотеки.

После этого инициализируем дисплей.

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

Используемый нами OLED дисплей выпускается в двух вариантах, с разрешением 128*32 и 128*64. Необходимое разрешение вы можете выбрать при инициализации дисплея. К примеру, для инициализации дисплея с разрешением 128*64 необходимо использовать следующую команду:

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

Исходный код программы на Python

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *