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


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

Внешний вид подключения OLED дисплея SSD1306 к Raspberry Pi

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

  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 показан на следующем рисунке.

OLED дисплей SSD1306 в выключенном состоянии 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 дисплея SSD1306 к плате Raspberry Pi

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

Внешний вид собранной конструкции проекта

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

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

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

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

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

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

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

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

Выбор настроек интерфейса I2C

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

Сохранение сделанных настроек

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

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

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

Определение адреса I2C OLED дисплея

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

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

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

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

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

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

Установка библиотеки для работы с изображениями и библиотеку smbus

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

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

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

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

Тестирование работы проекта

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

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

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

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

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

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

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

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

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

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

(Проголосуй первым!)
Загрузка...
2 173 просмотров

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

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