Логотип


Arduino UNO урок 5 - Fade-эффект (плавное затухание)

категория

Ардуино начинающим

Материалы в категории

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

 Источник http://kazus.ru

Почта сайта