Запутался между SPI и I2C для SSD1306 OLED

Недавно я купил себе OLED-дисплей SSD1306:

Однако я не смог успешно подключить его к Arduino (Mega 2560). Я читал об I2C и SPI и проверил некоторые библиотеки от Adafruit и U8G2.

Однако я в замешательстве, так как большинство в Интернете говорят о похожем OLED-дисплее с маркированными контактами GND - VDD - SCL - SDA, в то время как у моего SCK вместо SCL.

Теперь, количество контактов заставляет меня думать, что мне нужно взаимодействовать с I2C, но метка SCK указывает на SPI, верно?

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

Итак, мой вопрос остается открытым: как подключить этот OLED-дисплей к Mega 2560?

Буду очень признателен, если кто-то сможет указать мне правильное направление.

Спасибо!

Решение

SCK и SCL - это одно и то же.

  • Serial ClocK
  • Serial CLock

Похоже, что они взаимозаменяемы. Тот факт, что у вас есть SDA (Serial DAta), а не отдельные контакты SDI / SDO или MOSI / MISO, означает, что это I2C.

Подключите его так же, как и любое другое устройство I2C.

Комментарии (2)

У меня, похоже, такой же дисплей (GM009605 v4), и хотя SCL и SCK оба означают Serial Clock, многие платы разработки имеют различные SCK и SCL пины, которые вам нужно сопрячь. Например, на Wemos d1 mini у меня этот дисплей подключен к SDA => D2 & SCK => D5, тогда как если бы это был SCL, он был бы подключен к D1.

FWIW я использую библиотеки Wire.h и SSD1306.h (https://github.com/ThingPulse/esp8266-oled-ssd1306) для взаимодействия с дисплеем на Wemos D1 mini.

Комментарии (0)