OLED дисплей с контроллером SSD1316 подключение по I2C

glukmaker
Offline
Зарегистрирован: 03.06.2021

Имеется несколько OLED дисплеев 0,91 128x32 c контроллером ssd1306 на платах где собрана вся обвеска и имеется 4 штырька для подключения по I2C. С ними я разобрался. С ардуино там все просто, так как есть соответствующие библиотеки, а когда использую чисто микроконтроллер и AVR studio 4, и пишу на ассемблере, то нужную информацию по работе с дисплеями приходилось искать в интернете, ну и кроме того копаться в тех же ардуиновых библиотеках.

Не так давно на алиэкспрессе купил аналогичный дисплей, но с контроллером SSD1316. Размер 0,87, разрешение то же 128x32. собран он на такой же плате.

Проблема в том, что я никак не могу проверить его работоспособность. I2C сканер показывает, что устройство имеется и его адрес 0x03C, но он ничего не показывает. Пробовал его подключать вместо дисплея на SSD1306, пробовал использовать скетчи из интернета, которые предназначены для работы с SSD1316 - никакой реакции

Для ардуино готовой проверенной библиотеки для работы с SSD1316 по I2C не нашел. 

В описании библиотеки U8g2 v 2.28 заявлено что она работает с SSD1316, но оказалось что только по SPI, а мне нужно по I2C.

Гугл выдает очень мало информации по SSD1316. Бегло просматривал таблицы команд SSD1316. Вроде они аналогичны с командами SSD1306, по крайней мере это касается тех команд, которых достаточно для работы с дисплеем 128x32. Но если ардуина или просто микроконтроллер c соответствующей прошивкой нормально работает с дисплеем на  SSD1306, то при замене дисплея на упомянутый (который на SSD1316) на его экране вообще ничего не появляется, даже мусорных точек нет.

У меня еще есть подозрение что сам дисплей может быть нерабочим. Но проверить никак не могу. 

Что можете посоветовать чтобы в исправности или неисправности дисплея?

Может кто-то уже занимался подобными дисплеями и может предоставить заведомо рабочий скетч, чисто для проверки работоспособности дисплея?

mixail844
Offline
Зарегистрирован: 30.04.2012

 судя по даташиту стр 17, I2C адрес устройства либо 0x3D либо 0х3C но никак 0х03C

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

glukmaker пишет:

Гугл выдает очень мало информации по SSD1316. 

Что значит мало? А это что - https://www.displayfuture.com/Display/datasheet/controller/SSD1316.pdf ? Информация полная и исчерпывающая.

glukmaker
Offline
Зарегистрирован: 03.06.2021

Прошу прощения, но 0x03C в данном случае это не ошибка, а просто привычка иногда вставлять ведущие нули.

Да, я бегло читал даташит. То, что адрес может быть либо 0x3D, либо 0x3С я знаю.

В моем случае сканер показал что адрес 0x3C

С адресом проблемы нет.

Проблема в том, что имеется одновременно 2 неопределенности:

1. Я не знаю или те коды /скетчи, что я пробовал, должны работать с данным дисплеем или нет.

2. Я не знаю или сам дисплей рабочий или нет.

Если бы в чем-то одном я был уверен, то вопросов у меня не возникло бы и тогда с другой проблемой постарался бы разобраться сам.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

glukmaker пишет:

Проблема в том, что имеется одновременно 2 неопределенности:

1. Я не знаю или те коды /скетчи, что я пробовал, должны работать с данным дисплеем или нет.

2. Я не знаю или сам дисплей рабочий или нет.

Если бы в чем-то одном я был уверен, то вопросов у меня не возникло бы и тогда с другой проблемой постарался бы разобраться сам.

Чтобы ликвидировать первую неопределенность, нужен заведомо работающий дисплей.

Чтобы ликвидировать вторую неопределенность, нужен заведомо работающий код.

Осталось решить, что и вышеназванного легче получить, и действовать в данном направлении.

glukmaker
Offline
Зарегистрирован: 03.06.2021

andriano пишет:

Чтобы ликвидировать первую неопределенность, нужен заведомо работающий дисплей.

Чтобы ликвидировать вторую неопределенность, нужен заведомо работающий код.

Осталось решить, что и вышеназванного легче получить, и действовать в данном направлении.

Получить заведомо рабочий дисплей я не могу. Могу конечно заказать еще у китайцев. Но придет это все в лучшем случае через 2 недели. И никакой гарантии. 

Я в этот раз заказывал 2 штуки, но они оба пришли с погнутыми штырьками (те которые впаяны в плату и выступают) , а один из дисплеев к тому же имеет 2 трещины, второй с виду вроде как целый. Возможно, моей посылкой в процессе перевозки в футбол играли.

Остается вариант с заведомо рабочим кодом. Но так как я не могу быть уверен что написанный мной код будет заведомо рабочим (так как проверить не на чем), поэтому прошу кого-нить из форумчан, если кто работал с дисплеями с данным контроллером и может скинуть мне скетч, неважно что он делает и что выводит на дисплей, главное чтобы дисплей подключенный к ардуине хотя бы 1 пиксель засветил на дисплее, скиньте пожалуйста. Тут конечно придется на слово поверить, но другого выхода у меня нет.

Ну или может будут какие-нить рекомендации по проверке самого дисплея, например снятия осциллограмм с тех точек до которых я могу добраться...

Есть у меня еще 1 дисплей 128x32 на SSD1316 но без платы, т.е. чисто сам дисплей со 14-контактным шлейфом. Можно попробовать отковырять с той платы, где дисплей с трещинами в стекле разбитый и заменить. Но я не уверен что смогу обычным паяльником его припаять. Уж больно мелкое там все....

Предпочтительней, конечно, был бы скетч.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

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

glukmaker
Offline
Зарегистрирован: 03.06.2021

andriano пишет:

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

Другой дисплей аналогичного разрешения имеется на SSD1306 и работающий код для него тоже. Но суть не в этом.

Мне нужно в ближайшее время проверить и точно убедиться в работоспособности или неработоспособности дисплея на SSD1316, для того чтобы:

1. Написать отзыв о продавце дисплея на алиэкспресс и поставить ему оценку.

2. Определиться с открытием спора и на какую сумму.

3. Заказывать ли мне дисплей на SSD1316 у других продавцов. Все-таки хочу перейти на такой дисплей из-за его габаритных параметров (у него существенно меньше физические размеры при том же размере матрицы пикселей)

b707
Offline
Зарегистрирован: 26.05.2017

glukmaker, а можно ссылку на Али на обсуждаемый дисплей?

glukmaker
Offline
Зарегистрирован: 03.06.2021

b707 пишет:

glukmaker, а можно ссылку на Али на обсуждаемый дисплей?

Речь идет об этом дисплее:

https://www.aliexpress.com/item/4000182887362.html?spm=a2g0s.9042311.0.0...

Т.е. я хочу в конечном итоге использовать такой дисплей:
из-за того что его ширина значительно меньше чем у аналогичных дисплеев с контроллером SSD1306
Но чтобы пока пока поэкспериментировать с написанием кода, мне более удобно использовать вариант дисплея с платой, на которой уже собрана вся обвеска, и который я приобретал по первой ссылке, и собственно с которым и возникли проблемы. 
b707
Offline
Зарегистрирован: 26.05.2017

понятно, такого у меня нет.

ЗЫ ссылки с референсами вообще-то моветон

glukmaker
Offline
Зарегистрирован: 03.06.2021

b707 пишет:

понятно, такого у меня нет.

ЗЫ ссылки с референсами вообще-то моветон

Это ссылки, взятые прямо с алиекспресса. Зашел на страничку с товаром и скопировал ссылку из браузера. Я мог бы конечно воспользоваться разными сервисами по сокращению ссылок, например чтобы получить такое: https://aliexpi.com/6t5Q

Но уже несколько раз возникала ситуация, когда такая ссылка у меня работала, а у человека, которому я прислал ее, по его словам, не работала. Поэтому, несмотря на то что это, как Вы говорите - моветон, зато надежно.

или Вы имеете в виду что следовало бы сократить ссылку до: https://www.aliexpress.com/item/4000182887362.html

?

b707
Offline
Зарегистрирован: 26.05.2017

glukmaker пишет:

или Вы имеете в виду что следовало бы сократить ссылку до: https://www.aliexpress.com/item/4000182887362.html

именно это

glukmaker
Offline
Зарегистрирован: 03.06.2021

Вобщем пошел по пути колупания самого дисплея. 

Предварительно сфотографировал один из двух модулей с дисплеем, тот который имеет видимые повреждения (трещины) чтобы было что отправить китайцам.

Выдрал из платы модуля тот дисплей, что имел несколько трещин, на его место впаял другой, такой же, с SSD1316. Включил - заработало.  Причем даже с кодом, предназначенным для SSD1306 работает, только изображение искажено и отзеркалено. Но с этим уже думаю, сам разберусь.

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

Всем спасибо! Вопрос, думаю, уже неактуален.

 

b707
Offline
Зарегистрирован: 26.05.2017

поздравляю

Павел74
Offline
Зарегистрирован: 27.03.2019

Здорово , что все получилось . Я толкьо подобрался к этому дисплею - специально брал для создания индикатора - нужен вольтметр на два лабораторника Б5-7 - хорошие источники , я их порознь купил и отревизировал, а вот стрелочный прибора на них не информативен. С освоением новых модулей всегда такая проблема на ардуино ide  полно примеров и библиотек , а я в атмел студио делаю все в послед время.  Так же по "молекулам" пришлось I2C  разбирать, по даташиту запускал работу DTH11 и DS18b20, с часами реального времени только на основе одного даташита разобрался и запустил часы. Сейчас должен освоить 0.91 дисплей - пока страшно-непонятно.