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

Ответить
Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06 сен 2015, 23:59

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

Сообщение yopopol »

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

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

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

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

ссылка на проект
Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06 сен 2015, 23:59

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

Сообщение yopopol »

Народ посмотрите пожалуйста. Переделывать не прошу, просто посмотреть да посоветовать
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Ну первое, что увидел: нет необходимости для дней, часов и минут использовать переменные типа integer, достаточно типа byte.
А так проект сложный, в логике разбираться долго. Не понятны пункты меню 1-7(выделил красным), а "название пункта меню" тоже прилично занимает память (строковая переменная), так что или используйте их в проекте или оставьте поля пустыми. Так же не ясно огромное количество "выход активности пункта меню", может стоило бы использовать текст из "название пункта меню".
Заметил так же, что в блоках определения дня недели выход никуда не подключен.
Так же желательно везде использовать константы и переменные с типом не более нужного. К примеру сравнивая переменную типа байт с числом "4", константу "4" вставлять тоже как байт.
[spoiler]
тест.png
[/spoiler]
[spoiler]
блок.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
cmept-27
Сержант
Сообщения: 292
Зарегистрирован: 08 дек 2016, 15:51
Поблагодарили: 7 раз

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

Сообщение cmept-27 »

OK
Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06 сен 2015, 23:59

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

Сообщение yopopol »

Спасибо всем откликнувшимся за советы.
Чуть позже попробую переделать, т.к. комп хондрит, а ноут не вытягивает такой проект ((
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость