Full-Chip.net

Все об электронике, секреты ремонта
сборки компьютеров и периферии !!!

» » Arduino Урок 1 - плавное изменение яркости светодиода с помощью ШИМ.
Статистика
79364 (+340)
Всего пользователей
20
Сейчас на сайте
85 (+0)
Всего статей
1630 (+0)
Всего комментариев
Реклама


Arduino Урок 1 - плавное изменение яркости светодиода с помощью ШИМ.

В данном 2 уроке по программированию Arduino мы научимся плавно изменять яркость светодиода с помощью ШИМ (PWM). Светодиод будет сначало плавно разгораться, а затем так же плавно гаснуть.
В данном уроке мы будем использовать светодиод и резистор номиналом 680 Ом. Подключать будем к контакту 9 платы, так как она поддерживает PWM.
Arduino Урок 1 - плавное изменение яркости светодиода с помощью ШИМ.

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




/*
 Плавное изменение яркости светодиода PWM
 
 Пример, показывающий возможности функции analogWrite()
 для реализации Fade-эффекта светодиода, который
 подключен к ноге 9 контроллера
 
 */
int brightness = 0;     // яркость светодиода
int fadeAmount = 3;     // шаг изменения яркости
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;
  }       
}


Вот так у вас должно получиться.


Скачать готовый скетч Urok-2.rar [869 b] (cкачиваний: 327)
K:0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Вопрос:
b+b+b=bbb , x+x+x=xxx, c+c+c+a=?
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив