Олег писал(а): ↑06.01.2018{, 18:54}
Не везде Мега физически влезет туда куда встанет Уно, Про мини или Нано. Так что иногда приходится поджиматься и на это уходит значительное котичество времени. Один раз вообще проект по новой пришлось переписывать.
Полностью согласен. На одном дачном посёлке видел систему управления насосами водоснабжения в которой была установлена ATtiny в корпусе от промежуточного реле Finder 55.34, вставлена в цоколь (релейную базу) и благополучно всем управляла.
А памяти в ATtiny не особо, поэтому изначально просчитываешь минимальные размеры кода.
Кстати, обновлённый вариант
Даже триггер был лишним ( праздники кончились, мозг ожил
)
Скетч использует 1170 байт (3%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 10 байт (0%) динамической памяти, оставляя 2038 байт для локальных переменных.
Можно ещё немного переделать, но FLProg не хочет при компиляции выполнять по одному условию if сразу два действия. Править ручками. Результатом будет меньшее время цикла программы.
eugeneb писал(а): ↑06.01.2018{, 16:07}
Sancho, вы не дописали свой вариант. Скажите, что вы имели ввиду под пятым шагом?
Пункты из условия
Алгоритм работы автомата следующий:
1. При включении, оба механизма отвести в начало.
2. При нажатии кнопки ПУСК, механизм М1 двинуть вперёд.
3. Когда М1 дойдёт до конца, механизм М2 двинуть вперёд.
4. Когда М2 дойдёт до конца, вернуть М2 в начало.
5. Когда механизм М2 вернётся в начало, механизм М1 вернуть в начало.
6. Ждать следующего нажатия кнопки ПУСК (перейти к пункту 2).
7. При появлении сигнала АВАРИЯ на любом этапе - немедленно отвести механизмы в начало и больше не двигаться до изчезновения аварийного сигнала.