spektr107 писал(а): ↑29.08.2018{, 20:49}
Нет конечно. Это не для меня нужно было, публика просила, вопрос был довольно глобальный, не узко направленный на одного человека, у меня вообще авто нет
spektr107, привет. Смотрю твой канал регулярно, ну и естественно подписан.
Сейчас занимаюсь детским автомобилем. А в этот момент поворотниками. Вижу что тормозят эти все самоделки.
Делаю блок для поворотников, основанный на работе с таймером. Думаю тормозить будет меньше. Только разбираюсь что к чему, но подвижки есть. Скоро скину.
Отправлено спустя 1 час 9 минут 7 секунд:
Сергей писал(а): ↑21.06.2019{, 09:22}
таймером
Там принцип такой. Прерывание по таймеру считают две переменные.
В основном цикле программы по условиям "если" выполняется проход программы по соответствующим веткам этого блока. Первый проход по одному пути - настраивает переменные для поворота, второй по другому - с заданной на входе блока длительностью, последовательно включает заданное любое количество и в любом направлении, светодиодов.
После зажигания последнего диода, программа идёт по третьему пути, где гасит все диоды сразу и выжидает заданную паузу.
Потом цикл повторяется, при условии, что на входе блока все ещё присутствует единица включения.
Быстрота реализации должна быть высокая, потому что запись в ленту проходит только в моменты изменения переменных счётчиков. Путь прохода программы зависит от значений переменных. Основной цикл программы выполняется быстро и не стабильно во времени. Соответственно точность работы зависит от прерываний аппаратного таймера.
Подтормаживания не должно быть, потому что запись в диодную ленту ведётся в одном месте и один раз за проход основного цикла. Перед записью блок настраивает, по вышеописанному принцип, какие именно и сколько диодов нужно включить/отключить.
Забыл написать. Блок работает с библиотекой fastLed.h