Добрый день, друзья!
Помогите, пожалуйста, разобраться в причинах поведения работы программы. В настоящий момент собираю светодиодную матрицу на 2-х платах PSA9685 (30 светодиодов). Светодиоды будут мигать в разной последовательностью и одновременно с этим будет меняться яркость, тем самым создавая визуальные эффекты. Так как плата работает по принципу ШИМ, то процесс мигания сделал путем перезаписи значений на выход платы. Все вроде работает, но.....
Режим 1 - мигаем всеми светодиодами - с 1 по 7 - все работает
добавляем режим 2 - мигать светодиодом 7 - мигает, но
теперь при включении режима 1 мигает светодиодами с 1 по 6, а 7 не работает, хотя он тоже должен мигать
Может быть сумбурно, но думаю смысл понятен. Как так происходит? Я не могу разобраться. Что нужно добавить в схему чтобы работало правильно?
Заранее благодарю за помощь.
PSA9685, ШИМ, blink
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
PSA9685, ШИМ, blink
7 светодиод привязан одновременно к двум генераторам. так нельзя.Яйкс писал(а): 11 фев 2018, 01:25включении режима 1 мигает светодиодами с 1 по 6, а 7 не работает, хотя он тоже должен мигать
надо через логику, или переключатель.
Win10-64, FLProg (portable)
PSA9685, ШИМ, blink
Так я через переключатель и делал, поэтому и не могу понять как так происходит. Это простой пример с двумя режимами, а если их будет скажем 10, то как тогда?!rw6cm писал(а): 11 фев 2018, 06:427 светодиод привязан одновременно к двум генераторам. так нельзя.
надо через логику, или переключатель.

- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
PSA9685, ШИМ, blink
[spoiler]Яйкс писал(а): 11 фев 2018, 08:25Так я через переключатель и делал, поэтому и не могу понять как так происходит.
в выключенном состоянии генератора на переменной лед7офф висит 1,
вы через другую переменную пишите на нее 0, в результате она меняет свое состояние на каждом такте. Вообще не понятен ваш алгоритм, что вы хотите сделать.
счетчик переключает выход раз в секунду, генераторы так же переключают переменные, какой смысл?
генераторы убрать, ни чего не изменится.
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
PSA9685, ШИМ, blink
Да, вы правы. Я все время не могу привыкнуть, что она там именно "висит". Человеческая логика подсказывает, что раз нет плюса, то не работает-а тут так не выходит.
Меня все время почему-то тянет отключение через инверсию сделать, а раз есть инверсия, то этот светодиод, соответственно, выпадает из режима, поэтому и горит 6 из 7. Не могу пока придумать как это обойти.
Хочу попробовать сделать так чтобы с одной кнопки можно было переключать три режима работы: 1 - мигают все 7 светодиодов, 2 - мигает скажем 3 из 7, 3 - мигает, скажем, 2 из 7.
А дальше уже на основе этой программы можно развиваться дальше.
Вообще, большое Вам спасибо, что откликнулись на помощь. С Fl Prog ковыряюсь сам, спросить не у кого.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
PSA9685, ШИМ, blink
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
PSA9685, ШИМ, blink
Владимир, спасибо большое за помощь! Сам бы до такой логики точно не дошел бы. Вот, что значит гуру. Очень сильно помогли.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость