TLC5940

Подключение светодиодов, и светодиодных лент
aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#1

Сообщение aurimaspr » 17.02.2017{, 18:57}

Здравствуйте.

 Не знаю куда писать. tlc5940 может кто блок делал для этого драивера.? Извините если не туда написал.
Последний раз редактировалось aurimaspr 17.02.2017{, 18:59}, всего редактировалось 1 раз.

Nikito$
Рядовой
Сообщения: 74
Зарегистрирован: 15.12.2016{, 22:04}
Репутация: 0
Откуда: Екатеринбург

TLC5940

#2

Сообщение Nikito$ » 18.02.2017{, 10:12}

aurimaspr писал(а):tlc5940 может кто блок делал для этого драйвера
Я работал с этой микросхемой в Arduino IDE, только толком и не понял что и как... Да и иифы на русском мало, единственное, что я находил это описание работы с библиотекой и готовыми примерами. Блок можно сделать, но для этого надо разбираться с функционалом и работой библиотеки!
Последний раз редактировалось Nikito$ 18.02.2017{, 10:24}, всего редактировалось 1 раз.

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#3

Сообщение aurimaspr » 18.02.2017{, 18:17}

Да, я думаю это болшой геморой для салаги как я.

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#4

Сообщение slavas » 18.02.2017{, 19:47}

Там код элементарный, блок за десять минут нарисовать можно, напишите что Вы хотите получить.



Последний раз редактировалось slavas 18.02.2017{, 20:18}, всего редактировалось 1 раз.

Nikito$
Рядовой
Сообщения: 74
Зарегистрирован: 15.12.2016{, 22:04}
Репутация: 0
Откуда: Екатеринбург

TLC5940

#5

Сообщение Nikito$ » 18.02.2017{, 22:57}

slavas писал(а):Там код элементарный, блок за десять минут нарисовать можно, напишите что Вы хотите получить.
Если готовый пример брать типа этого

 int direction = 1;
 for (int channel = 0; channel < NUM_TLCS * 16; channel += direction) {

    Tlc.clear();

    if (channel == 0) {
      direction = 1;
    } else {
      Tlc.set(channel - 1, 1000);
    }
    Tlc.set(channel, 4095);
    if (channel != NUM_TLCS * 16 - 1) {
      Tlc.set(channel + 1, 1000);
    } else {
      direction = -1;
    }

    Tlc.update();

    delay(75);

то да, тут ничего сложного. Но хотелось бы полностью разобраться с функционалом библиотеки, а не делать блок на основе базовых примеров, ограничиваясь их функциями!

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#6

Сообщение aurimaspr » 19.02.2017{, 20:00}

slavas писал(а):Там код элементарный, блок за десять минут нарисовать можно, напишите что Вы хотите получить.
Попробую алгоритм построит.

Добавлено (19.02.2017, 20:00)
---------------------------------------------
Алгоритм такои:
 1 по событию(лог 1) зажыгаем все подрят с нарастанием в одну сторону и останавливаемсе.(>------------->)
2 Гасим все подрят в том же направлении. (лог 0)
3 по событию(лог 1)зажыгаем все подрят с нарастанием в одну сторону и останавливаемсе толко уже с другои стороны.(<--------------<)
4 Гасим все подрят в том же направлении.(лог 0)
Думаю нужны два разделных входа для вибора стороны росжига, если возможно константа для регулировки скорости нарастания шим и скорость зажигания, гасения.

Вот токие космические пожелания, как то так. Незнаю ясно ли обяснил?

Nikito$
Рядовой
Сообщения: 74
Зарегистрирован: 15.12.2016{, 22:04}
Репутация: 0
Откуда: Екатеринбург

TLC5940

#7

Сообщение Nikito$ » 19.02.2017{, 22:41}

aurimaspr писал(а):Вот такие космические пожелания, как то так. Не знаю ясно ли объяснил?
Тут специалиста по СИ нужно очень хорошего   А сам ты с программированием совсем не дружишь? И ещё, есть вот такая библиотека https://github.com/bhagman/SoftPWM.git  она позволяет задействовать для PWM ранее недоступные для этого выходы ардуины
Последний раз редактировалось Nikito$ 19.02.2017{, 23:55}, всего редактировалось 1 раз.

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#8

Сообщение slavas » 20.02.2017{, 21:15}

aurimaspr, поворотники для калины?

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#9

Сообщение aurimaspr » 20.02.2017{, 21:33}

slavas писал(а):aurimaspr, поворотники для калины?
Неа, подсветка под карниз крыши дома 

       ///////////////////
      ///////////////////
     ////////////////////
    /////////////////////
   /_______////////////
          * *  |///////////
                |///////////
                |////////////
                |////////////
                |////////////

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#10

Сообщение slavas » 20.02.2017{, 21:45}

На чём проверять есть или только хотелки?

попробуйте
Последний раз редактировалось slavas 20.02.2017{, 23:00}, всего редактировалось 1 раз.

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#11

Сообщение aurimaspr » 21.02.2017{, 10:26}

slavas, Да есть, вечермо всё на макетке собиру. А где выходы на блоке или я что то непонимаю?Спасибо

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#12

Сообщение slavas » 21.02.2017{, 10:39}

выходы будут у драйвера.

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#13

Сообщение aurimaspr » 21.02.2017{, 11:36}

slavas, Извиняюсь, но для особо "адарёных" можно по яснее.

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#14

Сообщение slavas » 21.02.2017{, 13:46}

киньте сюда схему по которой будете подключать.

Добавлено (21.02.2017, 13:46)
---------------------------------------------
выходов у блока не должно быть, микру к контроллеру подключаете и всё.
на вход блока подаёте номер канала 0-16 и его яркость 0-4095

пример
Последний раз редактировалось slavas 21.02.2017{, 14:01}, всего редактировалось 1 раз.

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#15

Сообщение aurimaspr » 21.02.2017{, 21:40}

slavasИзображение

Я вирезал от стандартного подключения тлешки.
Управления будет с пир дачиками, и дачик освещения. Как то так.

Добавлено (21.02.2017, 21:15)
---------------------------------------------
slavas
slavas писал(а):пример
Непроходит компиляция, библиотека есть.

Добавлено (21.02.2017, 21:17)
---------------------------------------------
блин что то напартачил, ничего не видно
Добавлено (21.02.2017, 21:34)
---------------------------------------------
Изображение

Добавлено (21.02.2017, 21:35)
---------------------------------------------
О , тепер видно.

Добавлено (21.02.2017, 21:40)
---------------------------------------------
slavas

Я на твоём примере поменял толко контролер, или надо вес проект занаво сделать с моим контролером?
Последний раз редактировалось aurimaspr 21.02.2017{, 21:32}, всего редактировалось 1 раз.

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#16

Сообщение slavas » 21.02.2017{, 21:54}

вот блок поправил.

Добавлено (21.02.2017, 21:54)
---------------------------------------------
Без железа наугад.

aurimaspr
Рядовой
Сообщения: 11
Зарегистрирован: 07.09.2015{, 20:14}
Репутация: 0

TLC5940

#17

Сообщение aurimaspr » 23.02.2017{, 00:11}

Опять таже ошибка

Nikito$
Рядовой
Сообщения: 74
Зарегистрирован: 15.12.2016{, 22:04}
Репутация: 0
Откуда: Екатеринбург

TLC5940

#18

Сообщение Nikito$ » 23.02.2017{, 20:57}

Цитата aurimaspr () 200?'200px':''+(this.scrollHeight+5)+'px');">Опять таже ошибкаБлок всё равно работать как положено не будет! И вот почему:структура микросхемы такова, что после заполнения всех 16 регистров их необходимо очищать, или говоря проще в коде необходимо вызвать функцию Tlc.clear();

Вот в этом вся и проблема, необходимо в зависимости от задачи вызывать эту функцию или после того как загорится последний светодиод, либо же вызывать её после включения каждого следующего светодиода, чтобы потушить предыдущий, как
это сделать не понятно, может кто-нибудь более опытный в программировании и поможет.

У меня лишь получилось реализовать эффект бегущего огня и не более… Там функция очистки вызывается перед включением следующего светодиода,выключая тем самым предыдущий.
Вложения
4729610.jpg
Последний раз редактировалось Nikito$ 23.02.2017{, 21:03}, всего редактировалось 1 раз.

Аватара пользователя
slavas
Лейтенант
Сообщения: 587
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

TLC5940

#19

Сообщение slavas » 23.02.2017{, 21:25}

У меня нормально компилируется, один блок один канал, чистить его не проблема сделать ещё вход для сброса

Nikito$
Рядовой
Сообщения: 74
Зарегистрирован: 15.12.2016{, 22:04}
Репутация: 0
Откуда: Екатеринбург

TLC5940

#20

Сообщение Nikito$ » 23.02.2017{, 21:30}

slavas писал(а):У меня нормально компилируется, один блок один канал, чистить его не проблема сделать ещё вход для сброса
Вот и вопрос??? как реализовать сброс после включения всех 16 светодиодов, не сбрасывая их до этого???

Ответить

Вернуться в «Светодиоды»