Arduino UNO урок 5 — Fade-эффект

В данном уроке мы рассмотрим пример реализации Fade-эффекта (плавное затухание) с помощью Arduino UNO. Вместо функции delay(), мы будем использовать функции тайминга как в уроке 3.

К ножке 9 Arduino UNO подсоедините светодиод через резистор 220 Ом.

Для плавного управления яркостью светодиода мы будем использовать функцию analogWrite(). Данная функция обеспечивает вывод ШИМ-сигнала на ножку контроллера. Причем функцию pinMode() предварительно вызывать не надо. Функция analogWrite(pin,value) содержит 2 параметра: pin — номер ножки для вывода, value — значение от 0 (выкл) до 255(вкл).

 /*  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;   }        }