|
|
20.09.2014, 00:51
|
#1
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Кстати о допиливании. Я похоже влип.
Думал только слегка ковырнуться в коде контроллера (вывод больше инфы на главный экран, замена многих элементов интерфейса на псевдографику, упрощение граф. библиотеки, замена библиотеки часов для работы с аппаратным I2C) Визуально код изменился не сильно. Почти прямая замена функций с легкой коррекцией Что-то вроде замен
myGLCD.drawLine(0, 8, 83, 8); на
myGLCD.drawHLine(0, 8, 83);
Но в результате пришел к необходимости коренных изменений.
А именно:
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Так что буду менять идеологию таймеров. Не срабатывание On или Off в данный момент, а диапазон времени включения т.е. врубить нагрузку с 8ч30м до 12ч45м а в коде (где ALARM) проверять не наступление нужного момента включения/выключеня, а попадание в диапазон.
Результатом поделюсь.
P.S. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
|
|
|
Пользователь, который поблагодарил AlexNT за данный пост:
|
|
20.09.2014, 10:33
|
#2
|
Я тут недавно
Регистрация: 18.09.2014
Адрес: Украина, Чернигов
Сообщений: 4
Поблагодарил(а) : 2
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexNT
А именно:
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Так что буду менять идеологию таймеров. Не срабатывание On или Off в данный момент, а диапазон времени включения т.е. врубить нагрузку с 8ч30м до 12ч45м а в коде (где ALARM) проверять не наступление нужного момента включения/выключеня, а попадание в диапазон.
Результатом поделюсь.
P.S. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
|
Верное направление, ИМХО. Работа не с событиями а с состояниями. Т.е. провернка не на наступление события, а проверка "в каком состоянии должно быть сейчас то или иное внешнее устройство".
Возможно это несколько усложнит код, но контроллер выйдет на другой уровень контроля - повысится его защищенность от неблагоприяных событий.
|
|
|
20.09.2014, 12:40
|
#3
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexNT
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
|
Даю идею, все намного проще
в секцие инициализации просто в цикле прокрутите код проверки событий
начиная с 00:00.00 мин до текущего времени
это займет около 1 сек но зато решит выше описанную проблему.
Если не понятна реализация - могу сделать, если это кому то нужно?
(оставляйте заявки)
Последний раз редактировалось AlexVOK; 20.09.2014 в 12:48..
|
|
|
20.09.2014, 19:59
|
#4
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexVOK
Даю идею, все намного проще
в секцие инициализации просто в цикле прокрутите код проверки событий
начиная с 00:00.00 мин до текущего времени
это займет около 1 сек но зато решит выше описанную проблему.
Если не понятна реализация - могу сделать, если это кому то нужно?
(оставляйте заявки)
|
Это первое, что пришло в голову. Только начинать надо не с 00:00 а с понедельника 00:00. У Вас же там есть срабатывание по дням недели. А вдруг я там что в понедельник включил и во вторник выключил. А в сетапе такое обязательно надо. Тем более ресурсов много не потребует. Фактически взять часть кода что у вас идет под "шапкой " ALARM. Перенести его в функцию. А затем вызывать ее в Loop() c параметрами тек часов минут и в setap() как Вы и говорите прокрутить в цикле.
Ой, тут подумалось может даже с прошлого понедельника надо, чтобы учесть все извращения... В аквасе, конечно, такие программы оченб маловероятны, но всеже...
|
|
|
Пользователь, который поблагодарил AlexNT за данный пост:
|
|
22.09.2014, 20:36
|
#5
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT, по поводу событий абсолютно согласен
такой подход покроет даже самые извращенные настройки.
Хотя меня пока и так устраивает (я так и не пользуюсь днями недели )
|
|
|
Реклама помогает развиваться |
|
16.10.2014, 20:27
|
#6
|
Живу я тут
Регистрация: 10.02.2014
Адрес: Кострома
Сообщений: 105
Поблагодарил(а) : 16
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Ребят подскажите плиз! решил собрать ваш контроллер но на ардуино НАНО все убралось контактов хватает но что то с прошивкой чаы показывает температуру тоже , а вот когда захожу в меню шрифт вообще пропадает ! подскажите в чем дело?? на ардуино мега все работает !
Вот фото
|
|
|
16.10.2014, 20:57
|
#7
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Mehannik, напиши на каком контроллере твой нано?
читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.
|
|
|
16.10.2014, 21:06
|
#8
|
Живу я тут
Регистрация: 10.02.2014
Адрес: Кострома
Сообщений: 105
Поблагодарил(а) : 16
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexVOK
Mehannik, напиши на каком контроллере твой нано?
читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.
|
Камень 328
|
|
|
16.10.2014, 21:07
|
#9
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Mehannik,
тогда 100% смотрим пост 156
и все будет ОК
можно конечно вырезать ненужные вам функции
но это нужно вникать, чтоб не навредить
|
|
|
16.10.2014, 21:13
|
#10
|
Живу я тут
Регистрация: 10.02.2014
Адрес: Кострома
Сообщений: 105
Поблагодарил(а) : 16
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexVOK
Mehannik,
тогда 100% смотрим пост 156
и все будет ОК
можно конечно вырезать ненужные вам функции
но это нужно вникать, чтоб не навредить
|
Вот прошил программой 1 5 7 и выдало такую ошибку ! странно! на страй версии шьет а вот на новой нет
Arduino: 1.5.7 (Windows 7), Board: "Arduino Nano, ATmega328"
C:\Program Files (x86)\Arduino\libraries\LCD5110\DefaultFonts.c:12: 14: error: variable 'SmallFont' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
fontdatatype SmallFont[] PROGMEM =
^
C:\Program Files (x86)\Arduino\libraries\LCD5110\DefaultFonts.c:117 :14: error: variable 'BigNumbers' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
fontdatatype BigNumbers[] PROGMEM =
^
Ошибка компиляции.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
|
|
|
16.10.2014, 21:11
|
#11
|
Живу я тут
Регистрация: 10.02.2014
Адрес: Кострома
Сообщений: 105
Поблагодарил(а) : 16
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
а вы можите вырезать?? мне УДО вообще не нужно!!! помогите ибо из меня программист не какой))
|
|
|
16.10.2014, 21:50
|
#12
|
Живу я тут
Регистрация: 10.02.2014
Адрес: Кострома
Сообщений: 105
Поблагодарил(а) : 16
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
урра все получилося
|
|
|
18.10.2014, 13:24
|
#13
|
Я тут недавно
Регистрация: 12.11.2013
Адрес: Болгария
Сообщений: 34
Поблагодарил(а) : 107
Поблагодарили 143 раз(а) в 20 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Привет
Очень хороший контроллер.
Я изменил код для моих потребностей.
Я сделал изменения в таймеров.Удалил Udo.Добавлено кириллицы. Изменил начальный экран и освободил место для других функций
Моя прошивка.Это может быть полезно.Нужна еще немного поправиться.
Последний раз редактировалось Петко Шкодров; 18.10.2014 в 14:22..
|
|
|
6 пользователей поблагодарили Петко Шкодров за данный пост:
|
|
27.10.2014, 21:32
|
#14
|
Живу я тут
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Хорошая модификация скетча, прикольнули комментарии на русском българском и английском. На мой взгляд сильно не хватает второго термодатчика для контроля температуры радиатора светодиодов и сигнализации выхода температуры за пределы нормы.
|
|
|
28.10.2014, 13:02
|
#15
|
Живу я тут
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Исправил рисунок соединений - вентилятор и датчик температуры перепутаны местами. Моя плата ардуино внешне не отличима, но порты А5 и А6 переставлены местами и их маркировка с обратной стороны, таким образом и клавиатура подключается к соседнему контакту. Не понял алгоритма работы подсветки - ставлю led light на 100 и подсветка экрана в режиме меню угасает, но стоит выйти из меню или дождаться скринсавера и подсветка становится яркой. Мне кажется должно быть наоборот.
Последний раз редактировалось Вячеслав Сергеев; 28.10.2014 в 13:25..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 09:04. Часовой пояс GMT +3.
|