/* Fade-эффект Пример, показывающий возможности функции analogWrite() для реализации Fade-эффекта светодиода, который подключен к ноге 9 контроллера */ int brightness = 0; // яркость светодиода int fadeAmount = 5; // шаг изменения яркости unsigned long currentTime; unsigned long loopTime;
void setup() { pinMode(9, OUTPUT); // устанавливаем 9 ногу как выход currentTime = millis(); loopTime = currentTime; }
void loop() { currentTime = millis(); if(currentTime >= (loopTime + 20)){ analogWrite(9, brightness); // устанавливаем значение на 9 ножке
brightness = brightness + fadeAmount; // прибавляем шаг изменения яркости, которая установится в следующем цикле
// если достигли мин. или макс. значения, то идем в обратную сторону (реверс): if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } loopTime = currentTime; } }
|