Как использовать библиотеку I2C

Мои контакты A4 и A5 уже подключены к ЖК-дисплею, и я также хочу подключить MPU6050. В отдельном потоке кто-то сказал мне использовать библиотеку SoftI2CMaster, чтобы использовать другие контакты как SDA и SCL. Но я не совсем знаю, как это сделать. Я хочу использовать A2 и A3 для I2C, и фрагмент кода был бы очень полезен.

, 👍-1

Обсуждение

В библиотеке SoftI2CMaster нет примеров?, @Majenko

Я пытался следовать им, но получил много ошибок, их очень много., @SQLinjector

в предыдущем вопросе это был ультразвуковой датчик на А4 и А5. теперь ЖК. имеет интерфейс LCD I2C? I2C - это шина. вы можете подключить больше устройств I2C к контактам I2C, @Juraj

Да, у LCD есть I2C. Пробовал подключать их так, не получилось., @SQLinjector

О, и да, мой плохой. Написал ультразвуковой датчик по ошибке :/, @SQLinjector

получил много ошибок, очень много ... мы должны угадать, что это было?, @jsotola

Вам действительно следует использовать аппаратную шину I2C на A4 и A5 для обоих устройств. Опишите точно, как это не сработало, когда вы пытались. Предоставьте схему или схему подключения и покажите нам свой код. Тогда мы посмотрим, сможем ли мы обнаружить проблему., @chrisl

Пожалуйста, опубликуйте свой код, @tony gil

Да, я поддержу эту идею и еще раз скажу, что I2C — это шина, предназначенная для работы с несколькими устройствами. Работайте над тем, чтобы заставить его работать правильно, а не надейтесь, что битбанг с программным обеспечением сработает., @Chad G

Если вы не используете PULL UP в своих линиях SCL SDA, используйте их, так как линии I2C по умолчанию являются открытым стоком., @Vaibhav


1 ответ


0

Используйте оба устройства на I2C с разными адресами. Подключи вот так

И вызывать каждую передачу с другим адресом

void setup() {   
  Wire.begin();                           // начинаем проводную связь
  Wire.beginTransmission(0x68);  

Изображение и фрагмент из очень полного руководства по electronoob

,