Обнаружение импульсного светодиода

led

Я пытаюсь использовать Uno, чтобы определить, горит светодиод или нет. Звучит просто, но я рву на себе волосы, вот почему.... Это приложение для моделирования железной дороги, и я хочу обнаружить, что на панели управления горит светодиод, показывающий, как проходит маршрут (пункты/стрелки). набор. Светодиод горит с помощью индикатора положения точки (www.blocksignalling.co.uk/index.php/points-position-indicator-ppi4-dc), который работает отлично, но светодиоды не горят постоянно, даже если они так выглядят. , они пульсируют на частоте около 8 кГц. Я попробовал использовать оптоизоляторы, активирующие цифровой вход Uno. Все они с радостью обнаруживают «отсутствие света», и на выводе устанавливается ВЫСОКИЙ уровень, но когда светодиод горит, вывод колеблется между 0 и 1, поэтому это не настоящий или стабильный НИЗКИЙ уровень. Я также сделал свой собственный оптический прибор, используя TCRT5000 с направленными друг на друга светодиодами, заключенными в термоусадочную пленку, используя стандартную схему макетной платы, которая отлично работала при питании передатчика от Uno, но тот же результат при питании от светодиода. У кого-нибудь есть какие-нибудь идеи, пожалуйста?

, 👍0

Обсуждение

используйте датчик CDS; они достаточно медленные, поэтому 8 кГц не проблема., @dandavis

почему вы не определяете состояние переключателя, управляющего светодиодом??, @jsotola

Да, точечный двигатель (соленоид) срабатывает с помощью переключателя, но через блок разряда емкости (CDU), который создает кратковременный высокий ток, который может повредить Uno. PPI обнаруживает это высокое значение и зажигает соответствующий светодиод низкого напряжения., @PaulH


3 ответа


2

Почему бы не подключить к светодиоду фильтр нижних частот и не измерить уровень выходного постоянного тока? Конечно, во включенном состоянии будет выше, чем в выключенном. Резистор от анода к аналоговому входному контакту и конденсатор к земле.

,

3

Подсчитайте значения HIGH, считанные, например, за 2 мс. Оно должно быть равно нулю, если светодиод не горит, и больше нуля, если он горит.

,

Хорошая мысль, единственное, на что я могу положиться, это то, что значение ВЫСОКОЕ остается там, где оно должно быть, поэтому подсчитывается фиксированное количество ответов, и если все ВЫСОКИЕ, тогда примите ВЫСОКОЕ, все остальное - предположим НИЗКОЕ. Спасибо., @PaulH


1

Используйте фоторезистор (также называемый LDR).

Подключите фоторезистор между Vcc и аналоговым входом и физически разместите его рядом со светодиодом, который вы хотите контролировать.

В вашем коде Arduino просто отслеживайте значение аналогового входа. Когда светодиод будет включен, фоторезистор будет иметь меньшее сопротивление, и вы увидите более высокое аналоговое напряжение.

,

хорошая мысль, мне нужно будет добавить еще один светодиод последовательно к светодиоду на панели управления, так как он не светится под панелью., @PaulH