На головну сторінку Аквафорум
На головну сторінку




Назад   Аквафорум - форум акваріумістів та тераріумістів > Акваріум та обладнання > "Самоделкин" > Аквариумная автоматика

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 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 поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexNT за цей допис:
steals81 (20.09.2014)
Старий 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. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
Верное направление, ИМХО. Работа не с событиями а с состояниями. Т.е. провернка не на наступление события, а проверка "в каком состоянии должно быть сейчас то или иное внешнее устройство".
Возможно это несколько усложнит код, но контроллер выйдет на другой уровень контроля - повысится его защищенность от неблагоприяных событий.

Gorbounov поза форумом   Відповісти з цитуванням
Старий 20.09.2014, 12:40   #3
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від AlexNT Переглянути допис
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Даю идею, все намного проще
в секцие инициализации просто в цикле прокрутите код проверки событий
начиная с 00:00.00 мин до текущего времени
это займет около 1 сек но зато решит выше описанную проблему.

Если не понятна реализация - могу сделать, если это кому то нужно?
(оставляйте заявки)


Востаннє редагував AlexVOK: 20.09.2014 о 12:48..
AlexVOK поза форумом   Відповісти з цитуванням
Старий 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 поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexNT за цей допис:
steals81 (20.09.2014)
Старий 22.09.2014, 20:36   #5
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexNT, по поводу событий абсолютно согласен
такой подход покроет даже самые извращенные настройки.
Хотя меня пока и так устраивает (я так и не пользуюсь днями недели )

AlexVOK поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 20:27   #6
Живу я тут
  
 
Аватар для Mehannik
 
Реєстрація: 10.02.2014
Звідки Ви: Кострома
Дописи: 105
сказав Дякую: 16
сказали Дякую 5 раз(и) в 5 повідомленні
Надіслати повідомлення для Mehannik на ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ребят подскажите плиз! решил собрать ваш контроллер но на ардуино НАНО все убралось контактов хватает но что то с прошивкой чаы показывает температуру тоже , а вот когда захожу в меню шрифт вообще пропадает ! подскажите в чем дело?? на ардуино мега все работает !
Вот фото


Mehannik поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 20:57   #7
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Mehannik, напиши на каком контроллере твой нано?

читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.

AlexVOK поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 21:06   #8
Живу я тут
  
 
Аватар для Mehannik
 
Реєстрація: 10.02.2014
Звідки Ви: Кострома
Дописи: 105
сказав Дякую: 16
сказали Дякую 5 раз(и) в 5 повідомленні
Надіслати повідомлення для Mehannik на ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від AlexVOK Переглянути допис
Mehannik, напиши на каком контроллере твой нано?

читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.
Камень 328

Mehannik поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 21:07   #9
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Mehannik,
тогда 100% смотрим пост 156

и все будет ОК
можно конечно вырезать ненужные вам функции
но это нужно вникать, чтоб не навредить

AlexVOK поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 21:13   #10
Живу я тут
  
 
Аватар для Mehannik
 
Реєстрація: 10.02.2014
Звідки Ви: Кострома
Дописи: 105
сказав Дякую: 16
сказали Дякую 5 раз(и) в 5 повідомленні
Надіслати повідомлення для Mehannik на ICQ
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.

Mehannik поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 21:11   #11
Живу я тут
  
 
Аватар для Mehannik
 
Реєстрація: 10.02.2014
Звідки Ви: Кострома
Дописи: 105
сказав Дякую: 16
сказали Дякую 5 раз(и) в 5 повідомленні
Надіслати повідомлення для Mehannik на ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

а вы можите вырезать?? мне УДО вообще не нужно!!! помогите ибо из меня программист не какой))

Mehannik поза форумом   Відповісти з цитуванням
Старий 16.10.2014, 21:50   #12
Живу я тут
  
 
Аватар для Mehannik
 
Реєстрація: 10.02.2014
Звідки Ви: Кострома
Дописи: 105
сказав Дякую: 16
сказали Дякую 5 раз(и) в 5 повідомленні
Надіслати повідомлення для Mehannik на ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

урра все получилося

Mehannik поза форумом   Відповісти з цитуванням
Старий 18.10.2014, 13:24   #13
Придивляюся
  
 
Реєстрація: 12.11.2013
Звідки Ви: Болгария
Дописи: 34
сказав Дякую: 107
сказали Дякую 143 раз(и) в 20 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Привет
Очень хороший контроллер.
Я изменил код для моих потребностей.
Я сделал изменения в таймеров.Удалил Udo.Добавлено кириллицы. Изменил начальный экран и освободил место для других функций
Моя прошивка.Это может быть полезно.Нужна еще немного поправиться.
Долучені файли
Тип файлу: rar arduino.rar (11,0 КБ, 436 переглядів)


Востаннє редагував Петко Шкодров: 18.10.2014 о 14:22..
Петко Шкодров поза форумом   Відповісти з цитуванням
Ці 6 користувач(ів) сказали Дякую Петко Шкодров за це повідомлення:
Andressio (08.04.2015), kolljj (19.12.2014), LVit (18.03.2016), MIHS (11.03.2016), pimass (20.10.2014), Вячеслав Сергеев (27.10.2014)
Старий 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 и подсветка экрана в режиме меню угасает, но стоит выйти из меню или дождаться скринсавера и подсветка становится яркой. Мне кажется должно быть наоборот.
Мініатюри долучень
Щоб збільшити малюнок, клацніть по ньому
Назва:  aqua_controll_исправлен.jpg
Переглядів: 1142
Розмір:  49,3 КБ
ID:	463723  


Востаннє редагував Вячеслав Сергеев: 28.10.2014 о 13:25..
Вячеслав Сергеев поза форумом   Відповісти з цитуванням


Share/Bookmark

Відповідь

Мітки
arduino, акваконтроллер


Тут присутні: 2 (учасників - 0 , гостей - 2)
 
Параметри теми
Параметри перегляду

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


Часовий пояс GMT +3. Поточний час: 15:20.


vBulletin 3.8.7 ; Copyright © 2000-2025 Jelsoft Enterprises Limited
Переклад: © Віталій Стопчанський, 2004-2010
(с)Бешлега Олександр Анатолійович, 2002-2025. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.


no new posts