Arduino:Примеры/Fades

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

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


Затухание светодиодов[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 }

См.также

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