Светодиод будет плавно включаться, но не гаснуть
Яркость светодиода обычно увеличивается, но когда он достигает полной яркости, он просто остается таким - не тускнеет. Извините, если на этот вопрос уже был дан ответ, я просто не могу найти ничего об этой конкретной проблеме в Интернете. Я также пробовал несколько разных кодов из руководств, но результат тот же.
int led = 6;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
for (int i = 5; i <= 255; i+=1){
analogWrite(led, i);
delay(100);
}
for (int i = 255; i >= 5; i-=1) {
analogWrite(led, i);
delay(100);
}
}
@Spiros Diakakis, 👍-1
Обсуждение2 ответа
Ну, если вы подключили светодиод к правильному контакту, то это действительно так.
Дело в том, что человеческое зрение довольно несовершенно. Когда источник света становится слишком ярким, мы перестаем видеть оттенки. Также мы лучше видим оттенки зеленого, чем красного или синего.
Итак, вы считаете от 5, пропуская «самые темные значения», со всеми четными задержками и, вероятно, с наименьшим возможным значением резистора. Затем яркость светодиода вскоре достигает порогового значения и остается слишком высокой большую часть времени. У вас есть всего несколько секунд из пятидесяти, чтобы заметить, что он немного потускнел, а затем снова стал ярким пятном.
Вместо этого попробуйте использовать неравномерные задержки, чтобы более низкие значения оставались в силе дольше, и, возможно, увеличьте значение резистора ограничения тока и/или ограничьте значения, передаваемые в analogWrite (например, только до 200).
У меня это сработало, но это медленно. 251 итерация (каждого цикла) по 0,1 сек/цикл занимает 25 секунд вверх и 25 секунд вниз. Когда я уменьшил задержку до 10 мс, поведение стало гораздо более очевидным.
- Питание светодиодной ленты - Сколько ампер?
- Несколько условий оператора if
- Светодиоды: разница между общим анодом и общим катодом
- Светодиод L продолжает гореть
- Улучшенное циклическое переключение цветов RGB.
- Плавное мигание светодиодов
- Остановить мигание светодиодов
- FastLED - Как управлять определенными светодиодами
совет:
i++
выглядит аккуратнее для приращений в 1, @jsotolaПопробуйте вместо этого использовать точный встроенный код затухания Arduino IDE., @tepalia