|
|
17.03.2014, 13:10
|
|
Простой акваконтроллер ARDUINO
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 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
Последний раз редактировалось AlexVOK; 01.02.2019 в 23:47..
|
Просмотров: 496513
|
47 пользователей поблагодарили 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), Юрий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 поста, в нем есть ответ на ваш вопрос - нехватка память.
|
Увидел, благодарю.
Пробовал скачать новую среду по ссылке - выдает ошибку. Можете еще раз выложить на какой-нибудь файлообменник?
|
|
|
Пользователь, который поблагодарил Gorbounov за данный пост:
|
|
19.09.2014, 19:28
|
#197
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
|
|
|
Пользователь, который поблагодарил AlexVOK за данный пост:
|
|
20.09.2014, 00:02
|
#198
|
Я тут недавно
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Хочу прикрутить к контроллеру возможность залития параметров через COM (USB2COM) порт. И соответственно вынести интерфейс настройки таймеров на комп.
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
|
|
|
Пользователь, который поблагодарил 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. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
|
|
|
Пользователь, который поблагодарил 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
Поблагодарили 533 раз(а) в 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
Поблагодарили 533 раз(а) в 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() как Вы и говорите прокрутить в цикле.
Ой, тут подумалось может даже с прошлого понедельника надо, чтобы учесть все извращения... В аквасе, конечно, такие программы оченб маловероятны, но всеже...
|
|
|
Пользователь, который поблагодарил 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
Поблагодарили 533 раз(а) в 244 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AlexNT
Хотя... при таком раскладе я бы предпочел сначала разработать простенькую прогу под Windows но с прицелом на возможное портирование в Linux\Android. iOS пока не интересует.
|
расклад такой, проще делфи найти сложно.
По поводу универсального кода под все платформы можно забыть
С блютусом работаем как с обычным ком портом - без шнурка просто и удобно. Со стороны ардуинки согласования никакого ненужно - просто подключем напрямую линии RX и TX
|
|
|
22.09.2014, 20:36
|
#209
|
Живу я тут
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 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 - нагрузки. С контактов для программирования просто вывел шлейф, через разъем не стал городить.
|
|
|
Пользователь, который поблагодарил Michael_lm за данный пост:
|
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 21:23. Часовой пояс GMT +3.
|