Как подключить OLED дисплей к Raspberry Pi Pico — быстрый старт +21



У Raspberry Pi Pico несколько функциональных ограничений, включая отсутствие модуля беспроводной связи. Но, в целом, это отличная плата для реализации самых разных проектов. Одно из ее достоинств — простота подключения дисплея. Она позволяет работать с Pico Display или Pico Explorer Base, но, как оказалось, есть и более недорогие альтернативы.

Под катом — инструкция по подключению OLED-экрана с диагональю всего 0,96 дюйма. Для этого нужно немного попаять и написать небольшую программу на MicroPython. Подключение экрана производится по I2C-интерфейсу. Все очень просто: с задачей справится даже ребенок. В целом, эта инструкция — для тех, кто только начинает знакомство с платой. Опытные пользователи и так знают, что делать. Если этот пост окажется востребованным, то мы будем регулярно публиковать несложные руководства подобного рода. Что же, давайте приступим.

Что нужно для работы?

  • Raspberry Pi Pico с MicroPython.
  • 4 Female to Female соединительных провода.
  • I2C OLED-экран с разрешением 128*64

Как подключить OLED-экран к «малинке»


Схема подключения очень простая.


  • Подключаем GND контакт экрана к GND платы.
  • Подключаем VDD к VCC 3V3.
  • Подключаем SCK / SCL и I2C0 SCL.
  • Подключаем SDA к I2C0 SDA.
  • Подключаем плату к компьютеру и открываем Thonny.Теперь нужно установить библиотеку для того, чтобы Python мог взаимодействовать с экраном.

  • Выбираем Tools > Manage Packages для получения доступа к библиотекам Python.

  • Набираем ssd1306 в поисковой строке и ищем.


  • Выбираем найденный модуль “micropython-ssd1306” в списке результатов и устанавливаем, после чего возвращаемся в основной интерфейс.


Программное подключение OLED-экрана к «малинке»


Для того, чтобы программно подключить экран, нам нужно написать несколько строк кода.

Сначала импортируем Pin и I2C-классы. Они используются для взаимодействия с экраном, подключенным к GPIO и Pico.

from machine import Pin, I2C

Импортируем библиотеку для экрана

from ssd1306 import SSD1306_I2C

Создаем объект, i2c, для активации l2C-канала и задаем частоту подключения.

i2c=I2C(0,sda=Pin(0), scl=Pin(1), freq=400000)

Создаем еще один объект, oled, для взаимодействия с OLED -экраном. У него три параметра: высота, ширина экрана и характеристики подключения l2C.

oled = SSD1306_I2C(128, 64, i2c)

Прописываем строчку, которая будет отображаться на экране. Она может быть любой.

oled.text("Tom's Hardware", 0, 0)

Наконец, используем короткую команду для отображения текста.

oled.show()

В итоге наш код должен выглядеть вот так:

from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
 
i2c=I2C(0,sda=Pin(0), scl=Pin(1), freq=400000)
oled = SSD1306_I2C(128, 64, i2c)
 
oled.text("Tom's Hardware", 0, 0)
oled.show()


Теперь сохраняем и запускаем код. Это делается при помощи File >> Save, как обычно. Как только все готово, нажимаем на кнопку запуска и любуемся текстом.




К сожалению, не доступен сервер mySQL