PSA9685, ШИМ, blink

Странности работы

Вопросы от новичков
Ответить
Аватара пользователя
Яйкс
Рядовой
Сообщения: 49
Зарегистрирован: 23.01.2018{, 13:14}
Репутация: 5
Откуда: Москва
Имя: Сергей

PSA9685, ШИМ, blink

#1

Сообщение Яйкс » 11.02.2018{, 01:25}

Добрый день, друзья!

Помогите, пожалуйста, разобраться в причинах поведения работы программы. В настоящий момент собираю светодиодную матрицу на 2-х платах PSA9685 (30 светодиодов). Светодиоды будут мигать в разной последовательностью и одновременно с этим будет меняться яркость, тем самым создавая визуальные эффекты. Так как плата работает по принципу ШИМ, то процесс мигания сделал путем перезаписи значений на выход платы. Все вроде работает, но.....

Режим 1 - мигаем всеми светодиодами - с 1 по 7 - все работает
добавляем режим 2 - мигать светодиодом 7 - мигает, но
теперь при включении режима 1 мигает светодиодами с 1 по 6, а 7 не работает, хотя он тоже должен мигать

Может быть сумбурно, но думаю смысл понятен. Как так происходит? Я не могу разобраться. Что нужно добавить в схему чтобы работало правильно?
Заранее благодарю за помощь.
Вложения
forum.flp
(481.22 КБ) 48 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

PSA9685, ШИМ, blink

#2

Сообщение rw6cm » 11.02.2018{, 06:42}

Яйкс писал(а):
11.02.2018{, 01:25}
включении режима 1 мигает светодиодами с 1 по 6, а 7 не работает, хотя он тоже должен мигать
7 светодиод привязан одновременно к двум генераторам. так нельзя.
надо через логику, или переключатель.
Win10-64, FLProg (portable)

Аватара пользователя
Яйкс
Рядовой
Сообщения: 49
Зарегистрирован: 23.01.2018{, 13:14}
Репутация: 5
Откуда: Москва
Имя: Сергей

PSA9685, ШИМ, blink

#3

Сообщение Яйкс » 11.02.2018{, 08:25}

rw6cm писал(а):
11.02.2018{, 06:42}
7 светодиод привязан одновременно к двум генераторам. так нельзя.
надо через логику, или переключатель.
Так я через переключатель и делал, поэтому и не могу понять как так происходит. Это простой пример с двумя режимами, а если их будет скажем 10, то как тогда?!
Изображение

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

PSA9685, ШИМ, blink

#4

Сообщение rw6cm » 11.02.2018{, 12:55}

Яйкс писал(а):
11.02.2018{, 08:25}
Так я через переключатель и делал, поэтому и не могу понять как так происходит.
СпойлерПоказать
в выключенном состоянии генератора на переменной лед7офф висит 1,
вы через другую переменную пишите на нее 0, в результате она меняет свое состояние на каждом такте.
er.png
Вообще не понятен ваш алгоритм, что вы хотите сделать.
счетчик переключает выход раз в секунду, генераторы так же переключают переменные, какой смысл?
генераторы убрать, ни чего не изменится.
Win10-64, FLProg (portable)

Аватара пользователя
Яйкс
Рядовой
Сообщения: 49
Зарегистрирован: 23.01.2018{, 13:14}
Репутация: 5
Откуда: Москва
Имя: Сергей

PSA9685, ШИМ, blink

#5

Сообщение Яйкс » 11.02.2018{, 20:11}

rw6cm писал(а):
11.02.2018{, 12:55}
в выключенном состоянии генератора на переменной лед7офф висит 1
Да, вы правы. Я все время не могу привыкнуть, что она там именно "висит". Человеческая логика подсказывает, что раз нет плюса, то не работает-а тут так не выходит.
Меня все время почему-то тянет отключение через инверсию сделать, а раз есть инверсия, то этот светодиод, соответственно, выпадает из режима, поэтому и горит 6 из 7. Не могу пока придумать как это обойти.
rw6cm писал(а):
11.02.2018{, 12:55}
Вообще не понятен ваш алгоритм, что вы хотите сделать.
Хочу попробовать сделать так чтобы с одной кнопки можно было переключать три режима работы: 1 - мигают все 7 светодиодов, 2 - мигает скажем 3 из 7, 3 - мигает, скажем, 2 из 7.

А дальше уже на основе этой программы можно развиваться дальше.

Вообще, большое Вам спасибо, что откликнулись на помощь. С Fl Prog ковыряюсь сам, спросить не у кого.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

PSA9685, ШИМ, blink

#6

Сообщение rw6cm » 11.02.2018{, 20:25}

Яйкс писал(а):
11.02.2018{, 20:11}
А дальше уже на основе этой программы можно развиваться дальше.
forum1.flp
(620.38 КБ) 78 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
Яйкс
Рядовой
Сообщения: 49
Зарегистрирован: 23.01.2018{, 13:14}
Репутация: 5
Откуда: Москва
Имя: Сергей

PSA9685, ШИМ, blink

#7

Сообщение Яйкс » 11.02.2018{, 20:54}

rw6cm писал(а):
11.02.2018{, 20:25}
forum1.flp
Владимир, спасибо большое за помощь! Сам бы до такой логики точно не дошел бы. Вот, что значит гуру. Очень сильно помогли.

Ответить

Вернуться в «Начинающим»