Задать вопрос
@macolub

Как сделать что бы плавно включать диод через фоторезистор?

#define fadePin 3 //пин управления MOSFET транзистором
int pirPin = 2; //пин подключения управляющего сигнала PIR датчика
int light; //переменная для хранения состояния света (вкл/выкл)
void setup(){
pinMode(fadePin, OUTPUT);// 3 пин на выход, для управления транзисотором
light = 0; //устанаваливаем переменную для первого включения света
}

void loop(){
if(( (analogRead (1))) >= (610));
{
if(light == 0) //и если свет не был включен
{
for(int i=0; i<=150; i++) //то плавно включаем свет
{
analogWrite(fadePin, i);
delay(10); //каждые 10мс увелияение на 1
}

light = 1; //и передаем значение переменной, что свет включен
}
}
{
if(( (analogRead (1))) <= (610))
{
for(int i=150; i>=0; i--)//плавно гасим его
{
analogWrite(fadePin, i);
delay(10);
}
light = 0; //и передаем значение переменной, что свет выключен
}
}
}
  • Вопрос задан
  • 234 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Если у вас действительно фоторезистор, а не PIR как в названиях переменных, то попробуйте что-то типа этого (на вскидку):
void loop() {

  if((analogRead(1) >= 610) && (light == 0)) {
    for(int i=0; i<=150; i++) {
      analogWrite(fadePin, i);
      delay(10);
    }
    light = 1; //и передаем значение переменной, что свет включен
  }

  if((analogRead(1) < 610) && (light == 1)) {
    for(int i=150; i>=0; i--) {
      analogWrite(fadePin, i);
      delay(10);
    }
    light = 0;
  }

  delay(10);

}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы