Arduino:Примеры/Fades

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


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

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

Код

/*

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

Осуществляет затухание каналов. Максимальное значение и продолжительность базируются на напряжении, которое подается на 0-ой аналоговый контакт.

Если заземлить 0-ой аналоговый контакт, все светодиоды должны выключиться. Если подключить 0-ой контакт к +5V, все светодиоды должны включиться.

Настройки оборудования смотрите в примере «Базовое использование».
Создан 2009-02-03 Алексом Леоне (Alex Leone; acleone ~AT~ gmail.com).

*/

#include "Tlc5940.h"
#include "tlc_fades.h"

TLC_CHANNEL_TYPE channel;

void setup()
{
  Tlc.init();
}

void loop()
{
  if (tlc_fadeBufferSize < TLC_FADE_BUFFER_LENGTH - 2) {
    if (!tlc_isFading(channel)) {
      uint16_t duration = analogRead(0) * 2;
      int maxValue = analogRead(0) * 2;
      uint32_t startMillis = millis() + 50;
      uint32_t endMillis = startMillis + duration;
      tlc_addFade(channel, 0, maxValue, startMillis, endMillis);
      tlc_addFade(channel, maxValue, 0, endMillis, endMillis + duration);
    }
    if (channel++ == NUM_TLCS * 16) {
      channel = 0;
    }
  }
  tlc_updateFades();
}

См.также

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