Как измерить освещенность в помещении без помех со стороны светодиодов?

sensors led-strip

Я пытаюсь измерить освещенность в комнате с помощью простой схемы: фототранзистор, соединенный последовательно с резистором. Светодиодная лента меняет яркость в зависимости от уровня освещенности в комнате.

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

Есть ли какое-то стандартное или общеизвестное решение этой проблемы?

Я буду признателен за любую помощь, которую вы можете оказать.

Дополнительная информация

Светодиодная лента — WS2812B. Фототранзистор, который я использую, работает в диапазоне от 420 нм до 1130 нм с пиковой чувствительностью около 850 нм.

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

, 👍2

Обсуждение

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

Можете ли вы добавить дополнительную информацию, например, о светодиодной ленте, которую вы используете, и фотодетекторе?, @BobT

Поместите фототранзистор в трубку, чтобы можно было направить свет. Направьте его в сторону от светодиодов. Но я думаю, вам стоит еще раз взглянуть на свое неудачное решение. Попробуйте поиграть с номиналом последовательного резистора. Попробуйте использовать только один светодиод вместо целой полосы с МОП-транзистором (?), чтобы выяснить, что является виновником., @Gerben

@jsotola, спасибо большое. Проблема, о которой я забыл упомянуть, в том, что я не хочу поддерживать общую яркость на определенном уровне. Я хочу, чтобы светодиоды светили ярко, если в комнате очень светло, и уменьшали яркость, если в комнате темно., @David


2 ответа


0

Что вы можете попробовать, так это использовать датчик цвета. Поскольку вы знаете цвет светодиодов, которыми вы управляете, если датчик цвета улавливает другой цвет, вы знаете, что это из-за другого света.

Поскольку это не является полным доказательством (цвет окружающей среды может быть точно таким же, как цвет светодиода), вы можете проверить разницу в цвете (также с помощью нецветового датчика). Если цвет отличается без замены светодиода, вы знаете, что есть окружающий свет (увеличивающийся/уменьшающийся).

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

(если у вас нет цветных датчиков, вы можете использовать обычный датчик с цветным пластиком над ним/вокруг него).

,

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

В этом случае вам понадобится датчик цвета RGB или 3 светодиода с красным, зеленым и синим «фильтром»., @Michel Keijzers

Ааа, отлично. Я об этом не подумал. Спасибо большое., @David

Удачи с вашим проектом. Я тоже, возможно, воспользуюсь чем-то подобным., @Michel Keijzers


1

Обычно вы можете выключить светодиоды, провести измерение и снова включить светодиоды без заметной задержки. Изменение яркости заметно ниже 100 Гц, что соответствует периоду 10 мс.

Вам нужен фотодиод с быстрым временем отклика (менее 0,1 мс или около того, хотя есть устройства, реагирующие в наносекундном диапазоне). Фототранзисторы и LDR значительно медленнее.

Время отклика светодиодов составляет несколько микросекунд даже для белых светодиодов, а RGB-светодиоды еще быстрее. Ниже приведен отклик типичных светодиодов на импульс 200 нс:

Обычный AnalogRead занимает около 0,1 мс (и, опять же, есть более быстрые альтернативы), поэтому вы можете легко достичь частот измерения кГц, на которых изменение яркости совершенно незаметно.

,

Мои любимые ответы всегда: «Вы пробовали выключить и снова включить его?», @Joe S

Спасибо. Я провел несколько тестов по времени, и я думаю, что проблема в том, что светодиодная лента относительно медленная. Для управления ею я использую библиотеку FastLED., @David

@DAVID Вы можете сделать "выключатель" для всех светодиодов в полосе с помощью BJT/MOSFET, который вы будете управлять напрямую от штифта. Это должно быть достаточно быстро., @Dmitry Grigoryev

@DAVID В качестве альтернативы попробуйте экранировать фототранзистор от прямого света светодиода, возможно, он заработает и так, без переключения светодиодов., @Dmitry Grigoryev