Регулировка яркости светодиода в зависимости от освещения

denbon
Offline
Зарегистрирован: 02.02.2017

Всех приветствую!

Подскажите пожалуйста, тренируюсь с написанием кода для шим регулировки яркости светодиода в зависимости от яркости, в цикле for сделал плавное увеличение яркости, но тогда светодиод моргает от 0 до 50 и так бесконечно

if (lux<=100) {        //если показания меньше или равно 100
	for (int i=0; i <= 50; i++){
      analogWrite(led, i);
      delay(5);
   }
  }

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

if (lux<=100) {        //если показания меньше или равно 100
	analogWrite(led, 50);
  }

Подскажите, где моя ошибка

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

denbon пишет:

светодиод моргает от 0 до 50

Это что значит? Азбукой морзе числа выдает? Или просто импульсами с паузой?

Dumper
Offline
Зарегистрирован: 21.09.2020

Вам нужно поднять флаг. У вас цикл повторяется по люксам

denbon
Offline
Зарегистрирован: 02.02.2017

rkit пишет:

denbon пишет:

светодиод моргает от 0 до 50

Это что значит? Азбукой морзе числа выдает? Или просто импульсами с паузой?

Все верно, импульсами.

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

denbon пишет:

 в цикле for сделал плавное увеличение яркости, но тогда светодиод моргает от 0 до 50 и так бесконечно

если светодиод не горит, его надо плавно разжечь. А если он УЖЕ ГОРИТ - зачем его снова зажигать? - улавливаете логику? - прежде чем начинать свой цикл от 0 до 50 - проверьте, может яркость светодиода и так уже 50...

kalapanga
Offline
Зарегистрирован: 23.10.2016

Заодно рекомендую провести такой опыт. Проверьте, при каких значениях в analogWrite как светится светодиод. Увидите, что при малых значениях у Вас светодиод просто не горит. Соответственно начинать "плавное зажигание" с 0 нет никакого смысла. 

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

kalapanga пишет:

Увидите, что при малых значениях у Вас светодиод просто не горит.

бред

kalapanga
Offline
Зарегистрирован: 23.10.2016

rkit пишет:

kalapanga пишет:

Увидите, что при малых значениях у Вас светодиод просто не горит.

бред

Я был не в духе :(

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Уважаемый, а что Вы хотите увидеть за 250 миллисекунд? Фильм "Война и мир"?

Увеличьте паузы, может чего и прояснится.