Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/Fading

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


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

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

Цепь

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

Dimmer-circuit3.png

Схема

Fading schem.png

Код

  1.  Затухание/загорание светодиода
  2.  
  3.  Данный пример показывает, как изменять яркость светодиода при помощи функции analogwrite().
  4.  
  5.  Цепь:
  6.  * Светодиод подсоединен к 9-ому цифровому контакту и «земле»
  7.  
  8. Создан 1 ноября 2008 Дэвидом А. Меллисом (David A. Mellis),
  9. модифицирован 30 августа 2011 Томом Иго (Tom Igoe)
  10.  
  11.  http://arduino.cc/en/Tutorial/Fading
  12.  
  13.  Этот код не защищен авторским правом.
  14.  
  15.  */
  16.  
  17.  
  18. int ledPin = 9;    // светодиод подключен к 9-ому цифровому контакту
  19.  
  20. void setup()  {
  21.   // в setup’е ничего не происходит
  22. }
  23.  
  24. void loop()  {
  25.   // постепенно меняем яркость с минимума на максимум, делая шаги по 5 пунктов:
  26.   for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
  27.     // задаем значение (в диапазоне от 0 до 255):
  28.     analogWrite(ledPin, fadeValue);        
  29.     // ждем 30 миллисекунд, чтобы увидеть эффект загорания:    
  30.     delay(30);                
  31.   }
  32.  
  33.   // постепенно меняем яркость с максимума на минимум, делая шаги по 5 пунктов:
  34.   for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
  35.     // задаем значение (в диапазоне от 0 до 255):
  36.     analogWrite(ledPin, fadeValue);        
  37.     // ждем 30 миллисекунд, чтобы увидеть эффект затухания:    
  38.     delay(30);                            
  39.   }
  40. }

См.также

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

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

  1. Arduino - Fading