Обнаружение передачи I2C с помощью светодиода
Я собираюсь сделать проект с большим количеством Arduino, подключенных через I2C, где каждый из них может стать мастером на мгновение, чтобы объявить о событии. Поэтому я хотел бы посмотреть, насколько сильно используется шина. Поскольку будет центральная точка, я подумал о том, чтобы разместить там светодиод, от +5 В до линии синхронизации, чтобы он светился, когда происходит передача, и был черным, когда линия свободна. И таким образом я мог бы угадать уровень использования шины. (Тактовая частота фактически является ШИМ, часто сходящимся на ноль во время передачи, и при этом является простым +5 В, когда передача не активна).
Конечно, прямое подключение — не самая лучшая идея, так как это нарушит работу подтягивающих резисторов и испортит протокол (так как при каждом отключении тактовой частоты будет расходоваться много энергии), поэтому должен быть какой-то разделитель/усилитель.
Вопрос в следующем: знает ли кто-нибудь простую настройку, при которой светодиод будет управляться небольшим током до нуля (то есть инвертирующий усилитель будет максимально простым с достаточно высоким входным сопротивлением, чтобы не мешать обмену данными по протоколу I2C)?
Спасибо за все подсказки :)
@gilhad, 👍0
1 ответ
Лучший ответ:
Это можно сделать с помощью двух N-канальных МОП-транзисторов или одного P-канального МОП-транзистора (в зависимости от того, что у вас есть локально / что вы можете достать / что находится в коробке с битами):
В левой схеме первый MOSFET действует как затвор НЕ, а второй — простой переключатель низкого уровня. Вместе эта пара образует переключатель низкого уровня с активным низким уровнем.
Правая схема, которая несколько проще, использует одиночный P-канальный MOSFET в качестве переключателя верхнего уровня. Обычно он управляется N-канальным MOSFET для инвертирования логики, поскольку он по своей природе активен-низкий. Вам это не нужно, поэтому вы можете просто подключиться напрямую к затвору.
Обратите внимание, что все МОП-транзисторы являются транзисторами «логического уровня» с пороговым напряжением ниже 3 В (или -3 В в случае P-канала).
- 74HC595 регистр сдвига не работает
- Проблема с настройкой i2c OLED wemos D1 mini shiled (64*24)
- Рекомендация по модулю или подходу к проектору?
- HTU21 на GY-21 breakout board I2C проблема
- MOSFET диммер с ИК-управлением
- Как получить стабильное светодиодное освещение без сцинтилляции по шине I2C
- Как подключить несколько датчиков MPU-9250 IMU к одному Arduino Uno?
- Питание светодиодной ленты - Сколько ампер?