Как я могу электронным способом определить состояние светодиода в другом устройстве с помощью Arduino?

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

Вот что я знаю:

  1. Базовая станция имеет блок питания 100 мА 12 В.
  2. Arduino может использовать источник питания до 12 В, но лучше использовать 9 В.
  3. Напряжение на выводах базовой станции составляет около 1,9 В, когда они горят.
  4. Arduinos использует логику 5 В и считывает все, что выше 3 В, как высокое.

Мой план состоит в том, чтобы получить блок питания на 12 В, который может легко питать как базовую станцию, так и использовать этот преобразователь для подачи на Arduino 9 В. Я предполагаю, что они находятся на одном уровне земли.

Поскольку напряжение на светодиоде составляет всего 2 В, чего недостаточно для чтения Arduino, в настоящее время я думаю об использовании варианта этой схемы ниже, который показывает состояние ВКЛ примерно как 1 В, а состояние ВЫКЛ как 5 В при вход. Разница будет заключаться в том, что я просто проложу провод от положительной стороны одного из светодиодов базовой станции к базе транзистора.

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

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

Итак, я на правильном пути? Есть ли лучший способ прочитать эти светодиоды с помощью Arduino?

Почему бы не получить напряжение на светодиоде и токоограничивающем резисторе?

Ответы (4)

Проблема решается с помощью излишне сложных решений. Суть вопроса в неверном утверждении: « Поскольку напряжение на светодиоде всего 2В, чего недостаточно для чтения Arduino,… ».

Аналоговые входы Arduino имеют высокий импеданс и могут успешно считывать 2-вольтовый сигнал. На самом деле AnalogRead()вернет значение около 1024 x 2 / 5 = ~ 400 to 4202 вольт.

Итак, предполагая, что земли двух цепей соединены между собой, просто подключите аноды светодиодов к отдельным контактам АЦП Arduino и используйте их AnalogRead()на каждом. Высокий входной импеданс гарантирует, что работа светодиодов не пострадает - даже повторитель напряжения или буфер не нужны.

Чтобы сделать это еще проще, используйте LDR или фотодиоды в качестве датчиков Arduino и наклейте их на светодиоды устройства. Полная изоляция (тем более, что устройство открывания гаражных ворот, скорее всего, будет иметь реле или аналогичный электромагнитный импульс), простая установка, легкое удаление при необходимости.
Это лучший инженерный ответ.

Вы можете использовать повторитель напряжения, чтобы считывать напряжение светодиода без изменения импеданса схемы считывания.

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

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

Ну, я мало что знаю о вашем проекте, но это может быть быстрым решением. ;Д

Я думаю, что это лучший ответ «обучение электронике».
Входное сопротивление Arduino составляет 100 МОм. Таким образом, нет необходимости в цепи повторителя напряжения.

Зачем модифицировать пульт? Используйте фототранзистор/фотодиод. Это транзистор на основе света. Приклейте его горячим клеем поверх светодиода или приклейте скотчем, и все готово.

введите описание изображения здесь

Для этого по-прежнему требуется аналоговый вход на Arduino.

Напряжение на светодиодах может быть слишком маленьким для входа Arduino, но оно легко включит транзистор. Для Q1 и Q2 подойдет любой NPN-транзистор с малым сигналом. Номиналы резисторов не так критичны.введите описание изображения здесь