Добавить в корзинуПозвонить
Найти в Дзене
Делайка.Блог

Подключение дисплея к Orange Pi Zero 3 по шине i2c.

Для подключения дисплея SSD1309 к данной плате следуем схеме как показано на фотографии ниже. Выводы I2C OLED-модуля: Orange Pi Zero 3 распиновка: С помощью команды sudo orangepi-config > System > Hardware включает ph-i2c3 Далее устанавливаем пакеты:
sudo apt-get install -y i2c-tools
Командой sudo i2cdetect -y 3 видим, что адрес нашего дисплея инициализировался как 3c. Теперь чтоб отобразить тект на дисплее нужно установить Python3, Python3-pip, spidev и luma.oled.
Команды для установки всех этих пакетов:
sudo apt install python3
sudo apt install python3-pip
sudo pip install spidev
sudo pip install --upgrade luma.oled А так же нам потребуется установить шрифт Arial. Он устанавливается командой
sudo apt install ttf-mscorefonts-installer Далее пишем простой код на питоне sudo nano hello.py
from luma.core.interface.serial import i2c, spi, noop
from luma.core.render import canvas
from luma.oled.device import ssd1306
from time import sleep
from PIL import ImageFont
serial = i2c(port=3, ad

Для подключения дисплея SSD1309 к данной плате следуем схеме как показано на фотографии ниже.

Выводы I2C OLED-модуля:

-2

Orange Pi Zero 3 распиновка:

-3

С помощью команды sudo orangepi-config > System > Hardware включает ph-i2c3

-4

Далее устанавливаем пакеты:
sudo apt-get install -y i2c-tools
Командой sudo i2cdetect -y 3 видим, что адрес нашего дисплея инициализировался как 3c.

-5

Теперь чтоб отобразить тект на дисплее нужно установить Python3, Python3-pip, spidev и luma.oled.
Команды для установки всех этих пакетов:
sudo apt install python3
sudo apt install python3-pip
sudo pip install spidev
sudo pip install --upgrade luma.oled

А так же нам потребуется установить шрифт Arial. Он устанавливается командой
sudo apt install ttf-mscorefonts-installer

Далее пишем простой код на питоне sudo nano hello.py

from luma.core.interface.serial import i2c, spi, noop
from luma.core.render import canvas
from luma.oled.device import ssd1306
from time import sleep
from PIL import ImageFont

serial = i2c(port=3, address=0x3C)
device = ssd1306(serial)

# Define font to use for text
font = ImageFont.truetype("arial.ttf", 10)

with canvas(device) as draw:
draw.rectangle(device.bounding_box, outline="blue", fill=0)
draw.text((30, 20), "Hello world!", font=font, fill="white")

sleep(10)

Запускаем наш скрипт и радуемся результату

-6