питание модуля ads1115 i2c

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

Вот список компонентов:

  • Ардуино Уно
  • ЖК-модуль I2C
  • Модуль датчика влажности (ads1115 + датчик влажности)

Модуль датчика влажности по умолчанию отключен, чтобы предотвратить окисление электрода датчика.

Когда Arduino запускается, ток, протекающий по контактам SDA/SCL модуля датчика влажности, создает петлю и конфликтует с ЖК-модулем.

Я могу заставить его работать, если удалю транзистор и подключу контакт Vin датчика влажности напрямую к Vout Arduino.

Как я могу заставить их работать вместе? Я думаю, мне следует где-то использовать диод или использовать еще один или два транзистора, чтобы предотвратить попадание тока на контакты SDDA / SCL ...

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

пожалуйста, покажите, где расположены два подтягивающих резистора на линиях SDA и SCL, и к какому источнику напряжения подключаются эти резисторы... на вашей схеме. Я надеюсь, что они пойдут на поставку Arduino Vdd. Редактор схем позволяет редактировать значения компонентов. Нам действительно нужна правильная схема, чтобы помочь.
И покажите свою силу и силу, пока вы это делаете.
схема исправлена! два подтягивающих резистора расположены в Arduino Uno
На больших расстояниях емкость кабеля играет важную роль и образует фильтр нижних частот с подтягивающими резисторами.
Я использовал экранированный провод. Это решило проблему случайной работы ЖК-модуля. Но я все еще не могу контролировать активацию датчика влажности
Ваш ADS1115 имеет диоды защиты от электростатического разряда и зажимает шину i2c при выключении питания.

Ответы (1)

I2C никогда не предназначался для работы на больших расстояниях, он предназначен только для подключения устройств на одной или соседних печатных платах. Емкость длинных проводов убивает края сигнала. Тем не менее, есть способы получить эту работу. В этой статье Hackaday описаны некоторые варианты. Из этих вариантов вам, вероятно, следует выбрать буферы дифференциальной шины ( PCA9615 ). Дифференциальный буфер решит для вас две проблемы: он будет управлять вашим длинным кабелем, решая проблему емкости; и это даст вам защиту от шума, наведенного на кабель.

Я использовал экранированный провод. Это решило проблему случайной работы ЖК-модуля. Но я все еще не могу контролировать активацию датчика влажности