Arduino:Примеры/Fades
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Затухание светодиодов[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();
}