Запуск 7-контактного OLED-дисплея с 4 контактами (I2C)
У меня есть OLED-дисплей с такой 7-контактной распиновкой:
Я хочу использовать существующий код, который я нашел, который использует U8Glib. Но в приведенном примере use использует 4 контакта для управления OLED через I2C. Вот распиновка, которую он использует:
Можно ли управлять моим OLED-дисплеем через 4 контакта и использовать U8Glib для упрощения моего проекта, используя пример кода, который я нашел?
РЕДАКТИРОВАТЬ: Вот также изображение задней части печатной платы OLED, в котором упоминается, как использовать IIC, но я этого не понимаю!
@user1584421, 👍1
Обсуждение4 ответа
Лучший ответ:
На этой странице есть ответы на ваши вопросы. Для справки:
Настройка соединения SPI / I2C с OLED-модулем GMS096A
Будучи новичком на рынке, на этот маленький кусочек чуда (GMS096A) доступны только ограниченные ресурсы. Конфигурация I2C / SPI всегда требует полезных ресурсов, как и в любом другом случае. Для настройки SPI модуль по умолчанию поставляется в 4-проводной конфигурации SPI, и чтобы заставить его работать с ардуино, вы можете использовать эти библиотеки из Adafruit.
Для настройки I2C требуется немного поработать над модулем. На самом деле, один из наших клиентов поделился с нами этими простыми шагами настройки: начните с перепайки резистора из положения R3 в положение R1, а затем закоротите резистор R8 небольшим количеством олова для припоя (резистор 0 Ом). Подтягивающие резисторы R6 и R7 уже припаяны, там делать нечего. После этого модуль готов к I2C -коммуникации! Вывод CS не обязательно нужен, поэтому просто подключите его к GND. Вывод постоянного тока выбирает адрес. Для получения стандартного адреса подключите его к GND. Вывод RES-pin нуждается в низком импульсе при запуске и высоком напряжении во время работы (как в режиме SPI), конденсатор 100nF для GND и 10k res для VCC были бы идеальными!
Ваш модуль может сильно отличаться. Но вы должны быть в состоянии понять это оттуда. Мне потребовалось некоторое время, чтобы выяснить импульс на выводе RES, необходимый при запуске!
Это интерфейс SPI. Часто CS отсутствует, но у вас, похоже, есть этот контакт. Я предлагаю начать с программного PCI-режима U8Glib.
Это лучшее объяснение, которое я могу найти: Github: OLED на базе SSD1306, подключенный к Arduino
Не могли бы вы рассмотреть возможность использования более новой библиотеки U8g2?
Его проще использовать с платами Arduino, которые имеют больше памяти. Но он также имеет тот же режим для низкого использования памяти, что и U8Glib.
Можно ли управлять моим OLED-дисплеем через 4 контакта и использовать U8Glib для упрощения моего проекта, используя пример кода, который я нашел?
я уверен, что где-то есть мост i2c-> spi. если нет, вы всегда можете запрограммировать свой arduino так, чтобы он вел себя как один.
короче говоря, вы можете просто закодировать управление платой через spi.
Да, это работает IIC, как описано выше, с моим Arduino MEGA. Вы также можете подключить первый вывод по сигналу сброса Arduino, поэтому нет необходимости в дополнительных компонентах R и C.
- Легкая библиотека Arduino OLED, которая поддерживает текст и растровые изображения
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Альтернативы библиотеке Wire для I2C
- Путаница между SPI и I2C для SSD1306 OLED
- Не удалось выделить SSD1306 при добавлении константы
- Нужна помощь с библиотекой U8GLIB
- Несколько датчиков расстояния VL6180X интерактивная проблема
- Как заставить текст мигать на экране ssd1306 i2c
Похоже, это может быть интерфейс SPI, а не I2C, так что нет. Ты не можешь., @Majenko
Если, конечно, у U8Glib нет примера SPI для этой платы. Я полагаю, это SSD1306? Таковы большинство небольших OLED-дисплеев..., @Majenko
Выглядит настраиваемым для I2C / 3-проводного SPI / 4-проводного SPI в зависимости от наличия / отсутствия R1-R4., @djones