Как использовать контакты для I2C, которые используются с другого оборудования?

Я использую ESP32 CAM для одного проекта, и у меня есть датчик I2C, подключенный к контактам 21 и 22 (по умолчанию I2C). Сенсор работает нормально, пока я не включаю камеру. Камера использует эти контакты (21,22) в качестве входного выхода, а не для связи I2C. Когда я пытаюсь прочитать данные датчика в цикле, я не могу дотянуться до датчика. Я хочу проверить главным образом данные датчика и, если есть какая-то индикация от датчика, включить камеру.
Как я могу сделать это переопределение контактов в основном цикле?
Я пытался объявить контакты с Wire.begin(21,22, 100000); в loop, но не работает.

, 👍1

Обсуждение

"Провод.начинайте(21,22, 100000)", - объявляют контакты 21 и 22 ... вы уже сказали, что они мешают работе камеры, @jsotola

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

Ну, если подключены два разных аппаратных устройства и вы хотите вводить данные на обоих, устройства могут разрешать или не разрешать программное решение, и вам может потребоваться добавить аппаратную логику для их арбитража. Не зная деталей вашего текущего дизайна HW, трудно дать много конкретных советов. если ОН не предоставляет возможности для арбитража, это плохо., @lurker

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

Вы не предоставили никакого кода или схемы, поэтому трудно найти конкретное решение вашей проблемы. Одна вещь, которую стоит попробовать, - это создать функцию "getSensorReading ()" и создать только экземпляр Wire "Wire.begin ()" внутри функции, чтобы она вышла за рамки в конце функции. В вашем комментарии "Я не могу изменить контакты", ну, ESP32 предоставляет два порта I2C, вы можете попробовать " Wire1.begin(14,15, 100000);`., @hcheung

Делает это ответишь на свою проблему? Особенно комментарии к моему ответу., @Majenko