Запустить код по сигналу
Добавлено: 05 фев 2020, 01:51
Доброго времени всем участникам!
Такой немного странный вопрос. Возникла необходимость быстро проверить идею по механики движений и потребовалось управлять несколькими сервомашинками с ардуины (8шт).
Машинки выполняют последовательно 28 движений (кадров) за один цикл (представим что это робот и цикл - например один шаг паука, и при этом в одном кадре может быть несколько движений одновременно).
Долго пытался сделать это в ФЛ прог, пока ещё не получилось. Нашел автоматизированное решение для этой как казалось бы сложной задачи - есть одна программулина, которой просто указываешь положения сервомашинок и кадры. Далее она просто всё это генерирует в массив точек и готовый код для ардуины. Дело 5 минут. Но огромная проблема в том, что программу писал любитель-программист и там только нужные ему функции, а то чего нужно мне сейчас - нет. В частности при генерации кода есть галочка - повтор циклично. Если её поставить, то при подаче питания ардуина просто будет выполнять кадры с 0-го по 27-ой и всё. Если галочку не ставить, то выполнит один цикл - 28 кадров и всё.
А мне нужно чтобы цикл запускался например при срабатывании датчика или ещё от чего. Упростим задачу до предела - просто при появлении сигнала высокого уровня на какой-нибудь ножке. Но кроме выводов D2-D13, так как на них повешаны сервомашинки и они используются программой.
Более мене изучаю ардуино и т.д. и могу сделать такое для многих примеров как вручную (прописать условия сравнения FOR больше меньше, равно и т.д.) или же сделать это в ФЛ прог. Но с этим кодом ничего не получается!(
То что я вижу необычным - то что весь массив точек находится до блока "VOID LOOP" !
Более того - он находится даже перед "VOID SETUP" !!! Это как вообще ? (при этом оно отлично работает)
Вообще не могу понять как работает данный код.. Может кто объяснит в чём тут загвоздка?
Прилагаю два примера кода - робот27-1 - это однократный цикл, робот27-888 - это бесконечный повтор циклов.
Они фактически одинаковые, разницы почти не нашел, но то что нашел, особо не помогло (в одном месте true, в другом false).
Название проги, которая генерит массив в третьей строчке кода , прописывается автоматически...
Такой немного странный вопрос. Возникла необходимость быстро проверить идею по механики движений и потребовалось управлять несколькими сервомашинками с ардуины (8шт).
Машинки выполняют последовательно 28 движений (кадров) за один цикл (представим что это робот и цикл - например один шаг паука, и при этом в одном кадре может быть несколько движений одновременно).
Долго пытался сделать это в ФЛ прог, пока ещё не получилось. Нашел автоматизированное решение для этой как казалось бы сложной задачи - есть одна программулина, которой просто указываешь положения сервомашинок и кадры. Далее она просто всё это генерирует в массив точек и готовый код для ардуины. Дело 5 минут. Но огромная проблема в том, что программу писал любитель-программист и там только нужные ему функции, а то чего нужно мне сейчас - нет. В частности при генерации кода есть галочка - повтор циклично. Если её поставить, то при подаче питания ардуина просто будет выполнять кадры с 0-го по 27-ой и всё. Если галочку не ставить, то выполнит один цикл - 28 кадров и всё.
А мне нужно чтобы цикл запускался например при срабатывании датчика или ещё от чего. Упростим задачу до предела - просто при появлении сигнала высокого уровня на какой-нибудь ножке. Но кроме выводов D2-D13, так как на них повешаны сервомашинки и они используются программой.
Более мене изучаю ардуино и т.д. и могу сделать такое для многих примеров как вручную (прописать условия сравнения FOR больше меньше, равно и т.д.) или же сделать это в ФЛ прог. Но с этим кодом ничего не получается!(
То что я вижу необычным - то что весь массив точек находится до блока "VOID LOOP" !
Более того - он находится даже перед "VOID SETUP" !!! Это как вообще ? (при этом оно отлично работает)
Вообще не могу понять как работает данный код.. Может кто объяснит в чём тут загвоздка?
Прилагаю два примера кода - робот27-1 - это однократный цикл, робот27-888 - это бесконечный повтор циклов.
Они фактически одинаковые, разницы почти не нашел, но то что нашел, особо не помогло (в одном месте true, в другом false).
Название проги, которая генерит массив в третьей строчке кода , прописывается автоматически...