Страница 1 из 1

Mega2560+меню+часы+6 реле по три таймера

Добавлено: 18 авг 2019, 22:38
yopopol
Всем привет.
Пол года назад решил я сделать на MEGA2560 6 реле с 3 мя недельными таймерами в каждом. Менюшка что бы была норм, экран,да и часы реального времени, вообщем всё как у людей.

Т.е. 6 реле с 3 недельными таймерами для каждой. Настройки полностью через меню (как часы,так и таймеры)+ настройки сохраняются в епром

Но, проект получился настолько большой,что Мега мерцает экраном и нифига не видно что происходит. Запилил всё на Дуе , там прекрасно работает.
Для Меги (Скетч использует 126876 байт (49%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 5596 байт (68%) динамической памяти, оставляя 2596 байт для локальных переменных. Максимум: 8192 байт.
)

И мне кажется ,ч то я что то не правильно делаю и проект можно сделать компактнее. Посмотрите пожалуйста, что переделать нужно?

ссылка на проект

Mega2560+меню+часы+6 реле по три таймера

Добавлено: 20 авг 2019, 18:36
yopopol
Народ посмотрите пожалуйста. Переделывать не прошу, просто посмотреть да посоветовать

Mega2560+меню+часы+6 реле по три таймера

Добавлено: 21 авг 2019, 12:48
RedSky
Ну первое, что увидел: нет необходимости для дней, часов и минут использовать переменные типа integer, достаточно типа byte.
А так проект сложный, в логике разбираться долго. Не понятны пункты меню 1-7(выделил красным), а "название пункта меню" тоже прилично занимает память (строковая переменная), так что или используйте их в проекте или оставьте поля пустыми. Так же не ясно огромное количество "выход активности пункта меню", может стоило бы использовать текст из "название пункта меню".
Заметил так же, что в блоках определения дня недели выход никуда не подключен.
Так же желательно везде использовать константы и переменные с типом не более нужного. К примеру сравнивая переменную типа байт с числом "4", константу "4" вставлять тоже как байт.
[spoiler]
тест.png
[/spoiler]
[spoiler]
блок.png
[/spoiler]

Mega2560+меню+часы+6 реле по три таймера

Добавлено: 21 авг 2019, 17:10
cmept-27

Mega2560+меню+часы+6 реле по три таймера

Добавлено: 22 авг 2019, 23:15
yopopol
Спасибо всем откликнувшимся за советы.
Чуть позже попробую переделать, т.к. комп хондрит, а ноут не вытягивает такой проект ((