Arduino:Примеры/Fading

Материал из Онлайн справочника
Версия от 09:23, 24 февраля 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Затухание-загорание светодиода с помощью функции AnalogWrite [1]

Демонстрирует использование выходных аналоговых данных (широтно-импульсной модуляции или ШИМ) для изменения яркости светодиода. ШИМ – это техника, которая очень быстро включает/выключает выходной цифровой контакт, благодаря чему он начинает вести себя как аналоговый контакт.

Цепь

Светодиод подключен к 9-ому выходному цифровому контакту (через 220-омовый резистор) и к «земле» (GND).

Рис. 1. Подключение светодиода к плате Arduino.
Рис. 1. Подключение светодиода к плате Arduino.

Схема

Рис. 2. Схема подключения светодиода к плате Arduino.
Рис. 2. Схема подключения светодиода к плате Arduino.

Код

 Затухание/загорание светодиода 
 
 Данный пример показывает, как изменять яркость светодиода при помощи функции analogwrite().
 
 Цепь:
 * Светодиод подсоединен к 9-ому цифровому контакту и «земле»
 
Создан 1 ноября 2008 Дэвидом А. Меллисом (David A. Mellis),
модифицирован 30 августа 2011 Томом Иго (Tom Igoe)
 
 http://arduino.cc/en/Tutorial/Fading
 
 Этот код не защищен авторским правом.
 
 */


int ledPin = 9;    // светодиод подключен к 9-ому цифровому контакту

void setup()  { 
  // в setup’е ничего не происходит 
} 

void loop()  { 
  // постепенно меняем яркость с минимума на максимум, делая шаги по 5 пунктов:
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { 
    // задаем значение (в диапазоне от 0 до 255):
    analogWrite(ledPin, fadeValue);         
    // ждем 30 миллисекунд, чтобы увидеть эффект загорания:    
    delay(30);                 
  } 

  // постепенно меняем яркость с максимума на минимум, делая шаги по 5 пунктов:
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { 
    // задаем значение (в диапазоне от 0 до 255):
    analogWrite(ledPin, fadeValue);         
    // ждем 30 миллисекунд, чтобы увидеть эффект затухания:    
    delay(30);                            
  } 
}

См.также

  1. for
  2. analogWrite()
  3. delay()
  4. AnalogReadSerial
  5. AnalogInOutSerial
  6. Fade
  7. Calibration

Внешние ссылки