Не работает Oled-дисплей

Автор: | 18.07.2023

Принесли мне какой-то для одного из проектов oled-дисплей размером 128×64 пикселя с интерфейсом I2C. Раньше с такими дисплеями я делал много проектов и проблем не возникало. Но в этот раз на экране была только рябь и чёрная полоса наверху, в которой периодически проскакивали какие-то символы.

На экран как будто гном чихнул

Сначала я проверил правильность подключения дисплея и не нашёл ошибок.

Следующим шагом залил в ардуинку скетч “I2C-сканер” . Сканер показал наличие устройства с адресом 0x3C – вроде всё как обычно для этих дисплеев.

Дальше я решил попробовать другую библиотеку для экранов ssd1306 – результат был примерно таким же. Попробовал запустить дисплей вообще без библиотеки, отправляя команды по I2C. Результат примерно тот же – белый фон с черными точками.

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

Как оказалось, наши китайские братья делают дисплей с контроллером SH1106, который как брат-близнец похож на экран с контроллером SSD1306.

В менеджере библиотек программы Arduino IDE я ввёл в строку поиска “SH1106” и выбрал из списка библиотеку Adafruit SH1106. Установил библиотеку, залил скетч с примером для экрана I2C 128×64 и получил на экране различные анимированные картинки.

В итоге видим тестовую анимацию на экране

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

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

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