Ночной светильник

jf42
Offline
Зарегистрирован: 04.04.2022

Добрый день, есть схема и код:

#define LED_PIN 13
#define LDR_PIN A0
#define POT_PIN A1
void setup()
{
 pinMode(LED_PIN, OUTPUT);
}
void loop()
{
 
 int lightness = analogRead(LDR_PIN);
 
 int threshold = analogRead(POT_PIN);
 
 boolean tooDark = (lightness < threshold);
 
 if (tooDark) {
 
 digitalWrite(LED_PIN, HIGH);
 }
  else 
  {
 
 digitalWrite(LED_PIN, LOW);
 }
}

Нужно изменить схему или код так, чтобы датчик освещенности не реагировал на кратковременные изменения освещенности(к примеру, если человек прошёл рядом и своим телом загородил источник света, то светодиод не должен загораться).
Предполагаю, что можно ввести переменную задержки времени. В общем, буду благодарен за помощь.

b707
Offline
Зарегистрирован: 26.05.2017

jf42 пишет:

Нужно изменить схему или код так, чтобы датчик освещенности не реагировал на кратковременные изменения освещенности(к примеру, если человек прошёл рядом и своим телом загородил источник света, то светодиод не должен загораться).

это коммерческий заказ?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

jf42 пишет:

Добрый день, есть схема и код:

Это НЕ схема.

rkit
Offline
Зарегистрирован: 23.11.2016

заводишь переменную предыдущая яркость, инициализируешь текущим значением

если текущая яркость меньше предыдущей, уменьшаем предыдущую на 1

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

vk007
Offline
Зарегистрирован: 16.06.2015

BOOM пишет:
Это НЕ схема.

Ну почему же сразу "не схема"? Это все-таки схема - схема электрическая монтажная. Но, правда, это не совсем то, что хотелось бы увидеть.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

vk007 пишет:

BOOM пишет:
Это НЕ схема.

Ну почему же сразу "не схема"? Это все-таки схема - схема электрическая монтажная. Но, правда, это не совсем то, что хотелось бы увидеть.

Это рисунок. Не более.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

jf42 пишет:

Нужно изменить схему или код так, чтобы датчик освещенности не реагировал на кратковременные изменения освещенности(к примеру, если человек прошёл рядом и своим телом загородил источник света, то светодиод не должен загораться).

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

Нужно, так делайте. А помощь - в чём? Вы никаких вопросов не задавали.