У меня большие проблемы с запуском прототипа, состоящего из двух модулей I2C, один из которых изначально отключен.
Вот список компонентов:
Модуль датчика влажности по умолчанию отключен, чтобы предотвратить окисление электрода датчика.
Когда Arduino запускается, ток, протекающий по контактам SDA/SCL модуля датчика влажности, создает петлю и конфликтует с ЖК-модулем.
Я могу заставить его работать, если удалю транзистор и подключу контакт Vin датчика влажности напрямую к Vout Arduino.
Как я могу заставить их работать вместе? Я думаю, мне следует где-то использовать диод или использовать еще один или два транзистора, чтобы предотвратить попадание тока на контакты SDDA / SCL ...
смоделируйте эту схему - схема, созданная с помощью CircuitLab
I2C никогда не предназначался для работы на больших расстояниях, он предназначен только для подключения устройств на одной или соседних печатных платах. Емкость длинных проводов убивает края сигнала. Тем не менее, есть способы получить эту работу. В этой статье Hackaday описаны некоторые варианты. Из этих вариантов вам, вероятно, следует выбрать буферы дифференциальной шины ( PCA9615 ). Дифференциальный буфер решит для вас две проблемы: он будет управлять вашим длинным кабелем, решая проблему емкости; и это даст вам защиту от шума, наведенного на кабель.
glen_geek
Тревор_G
плотины
Рохат Кылыч
плотины
стоббе