Обнаружение импульсного светодиода
Я пытаюсь использовать Uno, чтобы определить, горит светодиод или нет. Звучит просто, но я рву на себе волосы, вот почему.... Это приложение для моделирования железной дороги, и я хочу обнаружить, что на панели управления горит светодиод, показывающий, как проходит маршрут (пункты/стрелки). набор. Светодиод горит с помощью индикатора положения точки (www.blocksignalling.co.uk/index.php/points-position-indicator-ppi4-dc), который работает отлично, но светодиоды не горят постоянно, даже если они так выглядят. , они пульсируют на частоте около 8 кГц. Я попробовал использовать оптоизоляторы, активирующие цифровой вход Uno. Все они с радостью обнаруживают «отсутствие света», и на выводе устанавливается ВЫСОКИЙ уровень, но когда светодиод горит, вывод колеблется между 0 и 1, поэтому это не настоящий или стабильный НИЗКИЙ уровень. Я также сделал свой собственный оптический прибор, используя TCRT5000 с направленными друг на друга светодиодами, заключенными в термоусадочную пленку, используя стандартную схему макетной платы, которая отлично работала при питании передатчика от Uno, но тот же результат при питании от светодиода. У кого-нибудь есть какие-нибудь идеи, пожалуйста?
@PaulH, 👍0
Обсуждение3 ответа
Почему бы не подключить к светодиоду фильтр нижних частот и не измерить уровень выходного постоянного тока? Конечно, во включенном состоянии будет выше, чем в выключенном. Резистор от анода к аналоговому входному контакту и конденсатор к земле.
Подсчитайте значения HIGH, считанные, например, за 2 мс. Оно должно быть равно нулю, если светодиод не горит, и больше нуля, если он горит.
Хорошая мысль, единственное, на что я могу положиться, это то, что значение ВЫСОКОЕ остается там, где оно должно быть, поэтому подсчитывается фиксированное количество ответов, и если все ВЫСОКИЕ, тогда примите ВЫСОКОЕ, все остальное - предположим НИЗКОЕ. Спасибо., @PaulH
Используйте фоторезистор (также называемый LDR).
Подключите фоторезистор между Vcc и аналоговым входом и физически разместите его рядом со светодиодом, который вы хотите контролировать.
В вашем коде Arduino просто отслеживайте значение аналогового входа. Когда светодиод будет включен, фоторезистор будет иметь меньшее сопротивление, и вы увидите более высокое аналоговое напряжение.
хорошая мысль, мне нужно будет добавить еще один светодиод последовательно к светодиоду на панели управления, так как он не светится под панелью., @PaulH
- Питание светодиодной ленты - Сколько ампер?
- Несколько условий оператора if
- Светодиоды: разница между общим анодом и общим катодом
- Светодиод L продолжает гореть
- Улучшенное циклическое переключение цветов RGB.
- Плавное мигание светодиодов
- Остановить мигание светодиодов
- FastLED - Как управлять определенными светодиодами
используйте датчик CDS; они достаточно медленные, поэтому 8 кГц не проблема., @dandavis
почему вы не определяете состояние переключателя, управляющего светодиодом??, @jsotola
Да, точечный двигатель (соленоид) срабатывает с помощью переключателя, но через блок разряда емкости (CDU), который создает кратковременный высокий ток, который может повредить Uno. PPI обнаруживает это высокое значение и зажигает соответствующий светодиод низкого напряжения., @PaulH