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

Arduino:Примеры/Fades

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

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

Контакты:

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


Затухание светодиодов[1]

Это скетч для библиотеки TLC5940 и платы Arduino, который демонстрирует, как при помощи чипа TLC5940 выполнить затухание светодиода.

Код

  1. /*
  2.  
  3. Затухание светодиодов
  4.  
  5. Осуществляет затухание каналов. Максимальное значение и продолжительность базируются на напряжении, которое подается на 0-ой аналоговый контакт.
  6.  
  7. Если заземлить 0-ой аналоговый контакт, все светодиоды должны выключиться. Если подключить 0-ой контакт к +5V, все светодиоды должны включиться.
  8.  
  9. Настройки оборудования смотрите в примере «Базовое использование».
  10. Создан 2009-02-03 Алексом Леоне (Alex Leone; acleone ~AT~ gmail.com).
  11.  
  12. */
  13.  
  14. #include "Tlc5940.h"
  15. #include "tlc_fades.h"
  16.  
  17. TLC_CHANNEL_TYPE channel;
  18.  
  19. void setup()
  20. {
  21.   Tlc.init();
  22. }
  23.  
  24. void loop()
  25. {
  26.   if (tlc_fadeBufferSize < TLC_FADE_BUFFER_LENGTH - 2) {
  27.     if (!tlc_isFading(channel)) {
  28.       uint16_t duration = analogRead(0) * 2;
  29.       int maxValue = analogRead(0) * 2;
  30.       uint32_t startMillis = millis() + 50;
  31.       uint32_t endMillis = startMillis + duration;
  32.       tlc_addFade(channel, 0, maxValue, startMillis, endMillis);
  33.       tlc_addFade(channel, maxValue, 0, endMillis, endMillis + duration);
  34.     }
  35.     if (channel++ == NUM_TLCS * 16) {
  36.       channel = 0;
  37.     }
  38.   }
  39.   tlc_updateFades();
  40. }

См.также

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

  1. github.com - Fades.pde