SSD1306 OLED дисплей - 16 пинов :-(

Barny
Offline
Зарегистрирован: 23.01.2015

Приветствую!

Вопрос весьма мало опытного пользователя Arduino. Имею вот такой дисплей:

SPI IIC 0.96" 128X64 White GreenLand OLED Display Module SSD1306

И адаптер - IIC/I2C/TWI/SP​​I Serial Interface Board Module Port For Arduino 1602LCD

Как видно, дисплей Китайский, имеет 16 пин. Распиновка такая:

 

1---GND
2---+3.3V
3---OLED_DC
4---OLED_CS
5---OLED_RD
6---OLED_RW
7---OLED_D0
8---OLED_RST
9---OLED_D1
10--OLED_D2
11--OLED_D3
12--OLED_D4
13--OLED_D5
14--OLED_D6
15--NC
16--OLED_D7

Уже около часа пытаюсь найти схему подключения и пример работы с таким типом дисплея, но везде используются I2C подключения (4 провода) , а тут целых 16 пин :-(. Опыт работы с текстовыми десплеями имеется. На сколько понимаю, мой адаптер под 1602 контроллер и возможно не подходит к SSD1306. Значит придется использовать напрямую. Может кто знает как его подключить и использовать этот экранчик?

Maverik
Offline
Зарегистрирован: 12.09.2012

В описании к этому адаптеру вполне ясно написано, что он только для 1602

для безвинно забаненных в гугле

http://www.youtube.com/watch?v=aysPOsQTGi0

http://www.dfrobot.com/wiki/index.php?title=OLED_2864_Display_module_(SKU:TOY0007)

Barny
Offline
Зарегистрирован: 23.01.2015

Ок, с адаптером разобрались.

А чем поможет демка с 2-х цветным дисплеем на I2C и ссылка на пустую страницу ?

 Тут 16 пин и я пока не знаю куда что подключить в такой компановке.

vdk
Offline
Зарегистрирован: 14.04.2013

Там прямо на дисплее в табличке указано, в каком состоянии должны быть перемычки BSх, чтобы дисплей работал по i2c

а вот какие выводы при этом используются (а какие не используются) - это надо смотреть в документации на сам модуль (т.е. на конкретную плату)

Maverik
Offline
Зарегистрирован: 12.09.2012

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

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

 

Maverik
Offline
Зарегистрирован: 12.09.2012

http://www.ebay.com/itm/0-96-128x64-OLED-Display-Module-SSD1306-Arudino-...

ну вот. я был прав- схема подключения 16-пинового модуля. 

что любопытно - это заняло примерно 4 секунды в поисковике. неужели это настолько сложно? 

Barny
Offline
Зарегистрирован: 23.01.2015

Большое спасибо, я как раз нашел именно эту схему на ebay, тоже предположил, что кто-то из продов поделится. Еще раз спасибо, что не прошли мимо, просто это новое для меня направление. Пробую развиваться так сказать.

Barny
Offline
Зарегистрирован: 23.01.2015

Что-то не получается у меня каменная чаша (с).

Проблема в совершенно различных названиях пинов и новизне самой темы для меня.

Перепаял перемычку BS1 на HI, т.е. перевел драйвер дисплея в режим I2C (надеюсь).

Теперь пробую угадать какой пин за что отвечает.

В качестве опытов беру эту статью и эту.

Скачал и установил библиотеки Adafruit GFX и Adafruit SSD1306. Нужно подключить всего 4 провода.



 VCC —– +5v  (+5 вольт)
 GND —– GND (земля)
 SDA —– pin SDA (pin A4 для Arduino nano V3)
 SCL —– pin SCL (pin A5 для Arduino nano V3)

У продавца указано питание +3.3В. Видимо это пин V33, GND соответственно земля. Теперь нужно найти кто есть SDA и SCL.

SDA скорее всего SDAOUT/SDAIN. На сколько я понял это D2 и D1. Пин SCL (синхронизация) - это D0. Выводы экрана D2 и D1 должды быть соеденины вместе на самой плате, поэтому подсоединяюсь к D1.

Смущает, что подсоединяться надо к входным пинам Arduino - А4, А5.

Вобщем соединил так (пин экрана - пин Arduino):

GND - GND

V33 - 3.3V

D1 - А4 (аналоговый вход).

D0 - A5 (аналоговый вход).

Результат - ничего.

Скан i2С так же ничего вообще не показывает :-(.

Помогите разобраться новичку.

vdk
Offline
Зарегистрирован: 14.04.2013

Там не только питание 3.3, но и SDA/SCL должны быть 3.3

Barny
Offline
Зарегистрирован: 23.01.2015

Что это значит  :-) ?

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

vdk
Offline
Зарегистрирован: 14.04.2013

у ардуины уровень лог. сигнала тоже должен быть 3.3. если на ардуине нет переключателя 3.3/5V, то придется использовать конвертор уровней

а вообще нужен даташит, без него можно только гадать, правильно ли подключено

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

На моём   i2c  4-х  пиновом пятивольтовые СДА(19,  D1) и СЦЛ(18, D0 ) идут на дисплей через 100 Ом резисторы, а питание 3.3 В  от 5 Вольт через стабилизатор на плате.

по схеме внизу http://www.ebay.com/itm/0-96-128x64-OLED-Display-Module-SSD1306-Arudino-...

Barny
Offline
Зарегистрирован: 23.01.2015

А это не поможет ?

Barny
Offline
Зарегистрирован: 23.01.2015

Разрулил!

И так, вдруг кому пригодится. Библиотека от adafruit. Устанавливается стандартно.

Режим подключания 4SPI (перемычки по умолчанию или LLL)

Пины:

GND - земля
V33 - +3.3В
D1 - digital 9
D0 - digital 10
DC - digital 11
RST - digital 13
CS - digital 12