Как реализовать I2C на Arduino с уже используемыми контактами SDA и SCL
У меня есть защитный кожух для Arduino от Sparkfun, который я купил: https://www.sparkfun.com/products/9729 который я использовал между моим Arduino Uno и сенсорным экраном TFT LCD с диагональю 2,8 дюйма, чтобы иметь возможность использовать неиспользуемые контакты. Мне нужно установить соединение I2C между двумя Arduino Uno, для которых, как я понимаю, потребуются контакты A4 и A5. однако TFT в настоящее время использует оба контакта. Кроме того, мой TFT-экран отсюда: https:/ /www.sgbotic.com/index.php?dispatch=products.view&product_id=2756
Схемы моего tft: http://www.sgbotic.com/products/ datasheets/development/02756-schematic.jpg .
Мне интересно, могу ли я в любом случае просто использовать контакты A4 и A5, используя заглушку, поскольку согласно схеме контакт A4 подключен к LCD_RST или этот контакт необходим для отображения изображений, снятых с SD-карты? Если это не так, то как мне это сделать, кто-нибудь знает?
@Clarissa.T, 👍2
Обсуждение3 ответа
Нет, вы не можете просто использовать его. Хотя сам I2C может работать, экран будет постоянно перезагружаться и будет бесполезен.
Возможно, вам повезет с программным битовым I2C на других контактах. Однако я бы лично решил модифицировать печатную плату TFT-экрана и отключить сигнал LCD_RST от контакта A4 и подключить резистор 10 кОм к +5 В или перенаправить его на другой контакт. Таким образом, вы сможете использовать I2C.
Во-вторых, [библиотека программного обеспечения I2C](https://github.com/felias-fogg/SoftI2CMaster) (спасибо felias-fogg, отличная работа!). Я много работал с ним, и он показал себя очень хорошо. Было много проблем с аппаратной библиотекой Wire, которые исчезли вместе с программной библиотекой. Выберите свои собственные булавки., @ChrisH
я понимаю! большое спасибо. как уже упоминал @jot, я боюсь, что моему uno не хватит памяти, поэтому вместо этого я переключусь на мега, чтобы избавить себя от проблем. спасибо за помощь!, @Clarissa.T
Поскольку у меня очень мало знаний о подключении прототипа. Но чтобы избежать проблем с пайкой,
Вы можете использовать адаптеры I2C, а также Соединители кабелей I2C будут очень полезны и специально разработаны для расширения более чем одного модуля I2C. в то же время.
Надеемся, что эти щитки и адаптеры будут вам полезны.
- Отправка и получение различных типов данных через I2C в Arduino
- Как работают функции вне цикла void?
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- OVF в последовательном мониторе вместо данных
- ЖК-дисплей I2C отображает странные символы
- Соединение I2C зависает Ведущий если ведомый отключается
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Ведомое устройство Arduino с двумя мастерами, использующими одну и ту же шину I2C?
Пожалуйста, добавьте ссылку на это в свой вопрос: https://www.sgbotic.com/index.php?dispatch=products.view&product_id=2756 Память Arduino Uno будет заполнена, прежде чем вы сможете сделать с ней что-то полезное. Я предлагаю использовать Arduino Mega или вместо этого использовать экран Nextion. Этот пример подтверждает, что сброс связан с a4: https://github.com/SGBotic/LCD-GUI-Library/blob/066d3c71cd00760af6da987e81b904bd36dbe29c/examples/display_text/display_text.ino, @Jot
Еще лучше, чипKIT Lenny (похожий на Leonardo, но гораздо более мощный) с двумя шинами I2C, большим объемом оперативной памяти и профессиональной библиотекой TFT (DisplayCore)., @Majenko
@Ну, я вижу! Большое спасибо за указание на то, что память Uno может быть заполнена, иначе я бы потратил много времени. я добавил ссылку на свой вопрос!, @Clarissa.T
@Маженко, как в чипКИТ Маженко-Ленни?, @Jot
@Jot Да, я его разработал, да ;) Хотя название ChipKIT™ не мое — это собственность Microchip — я просто лицензирую его у них., @Majenko