 |
|
17.03.2014, 13:10
|
|
Простой акваконтроллер ARDUINO
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні

17.03.2014, 13:10
Рейтинг:
(9 голосов - 5,00 средняя оценка)
Аква контроллер ARDUINO.
(Обратите внимание на доработанный вариант от форумчан. Ссылка внизу!)
( ПродолжениеПростой акваконтроллер ARDUINO v.2 (LED море))
(ГОТОВЫЕ КОНТРОЛЛЕРЫ НЕ ПРОДАЮ)
Решил ознакомиться я с ARDUINO, за одно порадовать своих рыбасей.
Сделать им(себе) доп удобства за минимальную цену и с минимальным напрягом по времени.
На eBay заказал.
Контроллер
Arduino PRO Mini ATMEGA328P 5V 16M (16MHZ) + CP2102 модуль + кабель = полный комплект для программирования - US $3.18
Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module for Arduino + Батарейка US $1.15
Индикатор 84*48 LCD Module White backlight adapter PCB for Nokia 5110 Arduino US $1.83
Влагозащищенный цифровой датчик температуры
DS18b20 Waterproof Temperature Sensors (5м нормального кабеля) US $3.7
В качестве блока питания зарядка от iPhon там же за 1 бакс.
Еще немного мелочи типа симисторов и опторазвязки для силовой части.
Что вышло в итоге.
Аква контроллер с энергонезависимыми часами реального времени.
Графический экран с регулировкой яркости подсветки и контрастности.
Управление 13-ю нагрузками.
Куча таймеров, ограничил по 25 на канал (памяти хватит на 500).
Поддержка режима «кормление» - отключается фильтр на 20 мин.
Цифровой термометр и управление нагревателем и охладителем(в моем случае кулер).
Органы управления
1 кнопка отмена
2 кнопка вверх
3 кнопка вниз
4 кнопка ОК
Нагрузки
D10 куллер (С регулировкой оборотов)
D11 ЛЕД (Восход/закат)
А0 1W (термометр)
D12 Фильтр
D13 Нагреватель
D1 СО2
D0 Компрессор
А1 Свет1
А2 Свет2
А3 УДО Микро
А4 УДО Макро
А5 УДО Железо
А6 Управление БП
Себестоимость контроллера чуть больше 10 баксов.
На картинке силовая часть в виде готового релейного модуля (такие есть и на 8 каналов - цена около 8 баксов), я использовал свою плату силовой части - схема и печатка во вложении(плату изготавливал по ЛУТ технологии).
Все проверено - работает.
Все комплектующие покупались на ибей и цены ориентировочные доставке везде БЕСПЛАТНАЯ.
ВАЖНО.
соединять ардуино и часы проводниками минимальной длинны !!!
Варианты скетча:
MIHS, скетч с измененными буквами.
Одна из лучших реализаций от форумчан
burnashev https://www.aquaforum.ua/showpost.ph...postcount=1221
Ant0ny https://www.aquaforum.ua/showpost.ph...postcount=1224
Мініатюри долучень
Долучені файли
 |
libraries.rar (225,8 КБ, 5033 переглядів) |
 |
aqua_controll_PNG.zip (1,59 МБ, 5048 переглядів) |
 |
aqua_controll_spl7.rar (237,5 КБ, 4500 переглядів) |
 |
aqua_controll.rar (9,1 КБ, 4903 переглядів) |
 |
220_v3.rar (18,4 КБ, 4538 переглядів) |
Востаннє редагував AlexVOK: 01.02.2019 о 23:47..
|
Переглядів: 551758
|
Ці 48 користувач(ів) сказали Дякую AlexVOK за це повідомлення:
|
AkaPain (28.08.2015), Alex Meng (30.10.2017), Andressio (01.02.2015), Ant0ny (08.07.2018), Arduino (03.12.2016), burnashev (16.09.2018), chack (10.12.2014), Denisios (27.05.2014), dimul (29.04.2014), Floyd (09.07.2018), Gorbounov (20.09.2014), h_a_m (12.01.2015), imac2008 (20.12.2015), kolljj (20.11.2014), Litr55 (24.02.2021), LVit (20.01.2016), Mehannik (11.11.2014), MIHS (27.01.2016), Multiman (27.03.2015), nanolab (18.03.2015), Olegvs (25.03.2017), PaninAV (07.09.2018), paradox860 (22.12.2014), pdv1965 (20.03.2014), RozarioAgro (10.03.2015), rusianGrt (09.10.2017), sae74 (22.08.2014), sefr111 (28.04.2016), Sem (22.03.2015), Sikx (30.01.2019), Slesh (18.10.2014), Spiker (12.11.2015), spolyakov (20.06.2015), steals81 (17.03.2014), Toha24510 (22.10.2015), Tvister86 (07.02.2017), ya7sergey (09.02.2017), _Vadim (27.02.2016), _Константин_ (28.03.2016), акв@фанат (23.11.2014), Артур Дент (24.04.2014), Ветал (08.03.2016), Вячеслав Сергеев (14.09.2015), Игорь-1 (30.10.2014), Никола73 (31.03.2017), Петко Шкодров (18.10.2014), Сан Саныч (07.10.2024), Юрий77 (26.02.2016) |
19.09.2014, 01:05
|
#196
|
Придивляюся
Реєстрація: 18.09.2014
Звідки Ви: Украина, Чернигов
Дописи: 4
сказав Дякую: 2
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexVOK
Gorbounov, читайте ветку с 156 поста, в нем есть ответ на ваш вопрос - нехватка память.
|
Увидел, благодарю.
Пробовал скачать новую среду по ссылке - выдает ошибку. Можете еще раз выложить на какой-нибудь файлообменник?
|
|
|
cказали "Дякую" Gorbounov за цей допис:
|
|
19.09.2014, 19:28
|
#197
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
20.09.2014, 00:02
|
#198
|
Придивляюся
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Хочу прикрутить к контроллеру возможность залития параметров через COM (USB2COM) порт. И соответственно вынести интерфейс настройки таймеров на комп.
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
|
|
|
cказали "Дякую" AlexNT за цей допис:
|
|
20.09.2014, 00:51
|
#199
|
Придивляюся
Реєстрація: 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. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
|
|
|
cказали "Дякую" AlexNT за цей допис:
|
|
20.09.2014, 10:27
|
#200
|
Придивляюся
Реєстрація: 18.09.2014
Звідки Ви: Украина, Чернигов
Дописи: 4
сказав Дякую: 2
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexNT
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
|
готового не встречал, но я бы обратил внимание на процессинг http://www.processing.org/ и https://ru.wikipedia.org/wiki/Processing
Среда пронраммирования ардуина именно под него и создана - они близнецы-братья.
|
|
|
20.09.2014, 10:33
|
#201
|
Придивляюся
Реєстрація: 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
|
#202
|
Живу я тут
Реєстрація: 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..
|
|
|
20.09.2014, 12:46
|
#203
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexNT
Хочу прикрутить к контроллеру возможность залития параметров через COM (USB2COM) порт. И соответственно вынести интерфейс настройки таймеров на комп.
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
|
Чужие исходники от совсем дугого контроллера вам точно не помогут - можно не искать.
Если готовы написать свой софт для управления контроллером - могу помочь в организации интерфейса со стороны контроллера.
Можно делать не через ком порт, а через блютуз.
Теперь к вам вопрос, под какую среду будете писать, виндовс или андроид или иос?
Дальше - какая среда разработки планируется ну соответственно язык программирования? (это для того, чтоб привлечь заинтересованых лиц для помощи или написания доп модулей)
Ждем ответа.
|
|
|
20.09.2014, 15:24
|
#204
|
Придивляюся
Реєстрація: 01.09.2013
Звідки Ви: Днепропетровск
Дописи: 98
сказав Дякую: 36
сказали Дякую 53 раз(и) в 50 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Denisios
Здравствуйте. У меня была точно такая же проблема, оказалось просто не правильно кнопки припаял, не разобрался в принципе действия этой кнопки и получилось, что каждая кнопка запаяна, уже сразу включенной. Проверьте в первую очередь как спаяна клавиатура.
|
Спасибо, сейчас поковыряюсь. Знать бы ещё как правильно.
Цитата:
Допис від Michael_lm
Отчет.
Часы и контроллер разместил на кроссплате. Так удобней.
|
Шикарно, а схемой кроссплаты не поделитесь? И ещё, у Вас датчик температуры показывает ошибку, у меня так же, в чём причина?
|
|
|
20.09.2014, 19:59
|
#205
|
Придивляюся
Реєстрація: 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() как Вы и говорите прокрутить в цикле.
Ой, тут подумалось может даже с прошлого понедельника надо, чтобы учесть все извращения... В аквасе, конечно, такие программы оченб маловероятны, но всеже...
|
|
|
cказали "Дякую" AlexNT за цей допис:
|
|
20.09.2014, 20:27
|
#206
|
Придивляюся
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexVOK
Чужие исходники от совсем дугого контроллера вам точно не помогут - можно не искать.
|
Ну как сказать. Я же не собираюсь в лоб все повторять.
Цитата:
Допис від AlexVOK
Если готовы написать свой софт для управления контроллером - могу помочь в организации интерфейса со стороны контроллера.
Можно делать не через ком порт, а через блютуз.
|
Со стороны контроллера лично мне как бы проще. У меня в мониторе при посылке в контроллер "r" в ответ выдается содержимое EEPROM. И блютуз уже купил. Кстати, со стороны контроллера его никак не надо инициализировать?
Цитата:
Допис від AlexVOK
Теперь к вам вопрос, под какую среду будете писать, виндовс или андроид или иос?
Дальше - какая среда разработки планируется ну соответственно язык программирования? (это для того, чтоб привлечь заинтересованых лиц для помощи или написания доп модулей)
Ждем ответа.
|
Хотелось бы конечно использовать что-то переносимое... Но сильно сомневаюсь, что я настолько крут. Пока хотя-бы виндовс... там посмотрим.
Какая среда? А вот что вы можете посоветовать? Я пока чистый лист. Мне все равно с чего начинать. Язык лучше Си образный.
Хотя... при таком раскладе я бы предпочел сначала разработать простенькую прогу под Windows но с прицелом на возможное портирование в Linux\Android. iOS пока не интересует.
|
|
|
20.09.2014, 20:59
|
#207
|
Придивляюся
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Gorbounov
|
Скачивал уже такое по другому поводу. Возможности впечатляют при простоте программирования. Но сама среда и отладка программы - это нечто из разряда блокнота без отладки. И самый главный вопрос - как на ЭТОМ сделать нормальный интерфейс пользователя? Рисовать квадратики вручную как на ардуинке?
|
|
|
22.09.2014, 20:34
|
#208
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexNT
Хотя... при таком раскладе я бы предпочел сначала разработать простенькую прогу под Windows но с прицелом на возможное портирование в Linux\Android. iOS пока не интересует.
|
расклад такой, проще делфи найти сложно.
По поводу универсального кода под все платформы можно забыть 
С блютусом работаем как с обычным ком портом - без шнурка просто и удобно. Со стороны ардуинки согласования никакого ненужно - просто подключем напрямую линии RX и TX
|
|
|
22.09.2014, 20:36
|
#209
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT, по поводу событий абсолютно согласен
такой подход покроет даже самые извращенные настройки.
Хотя меня пока и так устраивает (я так и не пользуюсь днями недели  )
|
|
|
24.09.2014, 09:28
|
#210
|
Придивляюся
Реєстрація: 25.08.2014
Звідки Ви: Белгород
Дописи: 24
сказав Дякую: 2
сказали Дякую 11 раз(и) в 6 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від dimul
Шикарно, а схемой кроссплаты не поделитесь? И ещё, у Вас датчик температуры показывает ошибку, у меня так же, в чём причина?
|
Ошибка потому, что датчик не подключен на момент съемки. А кроссплата нарисована под такую ардуино
и в DipTrace. Если нужна печатка, мне не жалко, вот тут. В разводке все необходимые контакты подписаны и читаются при наведении курсора. Синим цветом обозначены перемычки. Вид со стороны деталей (не перепутать сторону). Разъемы J5 - часы, J6 - LCD, J8 - питание, J9 - датчик DS, J10 - нагрузки. С контактов для программирования просто вывел шлейф, через разъем не стал городить.
|
|
|
cказали "Дякую" Michael_lm за цей допис:
|
|
 |
|
Тут присутні: 2 (учасників - 0 , гостей - 2)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 06:55.
|