 |
|
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 КБ, 5040 переглядів) |
 |
aqua_controll_PNG.zip (1,59 МБ, 5055 переглядів) |
 |
aqua_controll_spl7.rar (237,5 КБ, 4510 переглядів) |
 |
aqua_controll.rar (9,1 КБ, 4909 переглядів) |
 |
220_v3.rar (18,4 КБ, 4546 переглядів) |
Востаннє редагував AlexVOK: 01.02.2019 о 23:47..
|
Переглядів: 553425
|
Ці 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) |
21.03.2017, 09:33
|
#886
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey Вы внимательно, хорошенько всё обдумайте и потом может поймёте что в этом коде всё сделано по уму. Как вариант, старт контроллера после отключения электроэнергии, а вас дома нет, в коде как раз сделано так что запустится фильтр и компрессор, свет при вашем отсутствии и после простоя оборудования не важен, так же если вдруг произойдет отключение среди ночи потом после включения электроэнергии вам нужен не слабый торшер в виде аквариума посреди ночи? Ну а вообще в коде можно всё переколбасить на своё хочу но там ещё раз повторюсь всё и так умно подогнано как для основных функций контроллера.
|
|
|
21.03.2017, 09:36
|
#887
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Витенька, если по мощности и возможностям то есть более навороченные типа Raspberry Pi или другие на базе ARM, правда цены на них кусь-кусь 
А по той же цене и того же качества сейчас вперёд идёт ESP8266, в частности 12 модели, а WEMOS вобще практически создан для нас.
При той же цене что и UNO или Nano получаем больше частоту, больше памяти + WiFi.
__________________ 
|
|
|
cказали "Дякую" mashenkaM за цей допис:
|
|
21.03.2017, 09:40
|
#888
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від ya7sergey
ТС сам в курсе что обнуляется в его контроллере.
|
Вы не обижайтесь пожалуйста, но как только прочла ваш пост, сразу вспомнилась топ цитата с баша:
Оффтоп
<Elena> Алексей, ваша программа опять не работает! Достало уже! Я буду жаловаться.
<polecat> Добрый день, в чём выражается проблема?
<Elena> Не парьте мозги, программа не работает! Исправьте! У меня работа стоит!
<polecat> Для того чтобы исправить программу, для начала мне нужно узнать, что вы понимаете под проблемой.
<Elena> У меня уже очередь в 10 человек!
<polecat> Это проблема?
<Elena> Проблема!
<polecat> Это проблема моей программы?
<Elena> Какая разница? Вы будете исправлять программу?
<polecat> Буду, но вы можете хотя бы пару раз ответить на поставленные вопросы?
<Elena> Я вам оракул, что ли на вопросы отвечать? Я в вашей программе ничего не понимаю.
<polecat> Скажите только, что именно работает не так.
<Elena> Ну вы же писали программу!
<polecat> ..., УБЕЙ СЕБЯ!
<Elena> ???
<polecat> УБЕЙ СЕБЯ, ...!
<Elena> Попрошу не хамить!
<polecat> СЛУШАЙ МЕНЯ, ..., ОБЩАТЬСЯ БУДУ ТОЛЬКО С ВАШИМ ДИРЕКТОРОМ, А ТЫ ИДИ НА ..., И ПУСТЬ ТЕБЯ ТАМ ... МЕДВЕДИ!!!
<Elena> Алексей, это Андрей Сергеевич! Программу только что проверил - всё работает. С твой путевки валяемся падсталом, похоже Лену туда и отправим, снабдив вазелином. 
__________________ 
Востаннє редагував mashenkaM: 21.03.2017 о 09:55..
|
|
|
21.03.2017, 09:43
|
#889
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Спасибо Огромное Машенька! Пойду изучать новшества в которые Вы меня ткнули носом.  
|
|
|
21.03.2017, 09:49
|
#890
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Я глубоко не вникала в код ТС, потому что он мало читабелен
Скрытый текст
Я бы посоветовала почитать книгу "Чистый код. Создание, анализ и рефакторинг. Библиотека программиста" - Роберт Мартин, Мика Мартин. Много даст изменит взгляд на код...
НО что там ТС мог не дописать?
На старте считываем все значения с EEPROM, в ходе программы по мере необходимости их сохраняем и всё!!!
При пропаже света, внутренние часы идут дальше, потому что есть своя батарейка. В отличие от мех. таймеров, которые будут идти только после включения света.
Появился свет - контроллер проверил нужно ли ему что либо включить или выключить, рассчитывает значение яркости освещение (0-100%) и всё работает как часики 
__________________ 
|
|
|
21.03.2017, 09:54
|
#891
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Витенька
Спасибо Огромное Машенька! Пойду изучать новшества в которые Вы меня ткнули носом.  
|
Только учтите что логика там вся на 3.3 вольта, хотя практически все датчики работают на этом напряжении (реле, часы, температурные датчики и т.д.)
Там есть конечно свои среды программирования для ESP8266, но самое приятное, что она полностью понимает обычный код для Arduino, разве что с некоторым нюансами. Есть интересные приколы - в Arduino delay останавливает программу на некоторое время, а в ESP8266 нет  , она будет заниматься своими делами и через нужно время вернётся к нужной вам функции.
НО я правда сама только получила недавно сей девайс, хотя дополнительно мучаю 01 версию  Муж допаял мне дополнительно 3 выхода, и теперь их хватит не 1 аквариу 
__________________ 
|
|
|
21.03.2017, 09:58
|
#892
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Именно так всё Машенька, все настройки после отключения сохранятся и всё продолжится по заложенному плану, просто, как на мой взгляд ТС изначально заложил в код так называемый аварийный старт после отключения и при включении запустятся только так называемые функции жизнеобеспечения фильтр и возду, можно домутить туда и свет и всё что угодно, но ... Делал я все эти эксперименты и в результате этот аварийный старт оставил как есть.
|
|
|
21.03.2017, 10:03
|
#893
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
В программировании и я валянок, всё что мог делал методом так сказать тыка, так что то что Вы мне Машенька рассказали для меня тёоооооооомный лес, и всёравно Огромное Спасибо Вам, буду поинтересоваться. 
|
|
|
21.03.2017, 10:48
|
#894
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Вы не обижайтесь пожалуйста, но как только прочла ваш пост, сразу вспомнилась топ цитата с баша:
Оффтоп
<Elena> Алексей, ваша программа опять не работает! Достало уже! Я буду жаловаться.
<polecat> Добрый день, в чём выражается проблема?
<Elena> Не парьте мозги, программа не работает! Исправьте! У меня работа стоит!
<polecat> Для того чтобы исправить программу, для начала мне нужно узнать, что вы понимаете под проблемой.
<Elena> У меня уже очередь в 10 человек!
<polecat> Это проблема?
<Elena> Проблема!
<polecat> Это проблема моей программы?
<Elena> Какая разница? Вы будете исправлять программу?
<polecat> Буду, но вы можете хотя бы пару раз ответить на поставленные вопросы?
<Elena> Я вам оракул, что ли на вопросы отвечать? Я в вашей программе ничего не понимаю.
<polecat> Скажите только, что именно работает не так.
<Elena> Ну вы же писали программу!
<polecat> ..., УБЕЙ СЕБЯ!
<Elena> ???
<polecat> УБЕЙ СЕБЯ, ...!
<Elena> Попрошу не хамить!
<polecat> СЛУШАЙ МЕНЯ, ..., ОБЩАТЬСЯ БУДУ ТОЛЬКО С ВАШИМ ДИРЕКТОРОМ, А ТЫ ИДИ НА ..., И ПУСТЬ ТЕБЯ ТАМ ... МЕДВЕДИ!!!
<Elena> Алексей, это Андрей Сергеевич! Программу только что проверил - всё работает. С твой путевки валяемся падсталом, похоже Лену туда и отправим, снабдив вазелином. 
|
Не понял вашего сарказма. По моему я четко сформулировал свой вопрос по контроллеру. Ответ, который меня устраивает, я не получил. Решил проблему аппаратно с помощью ИБП. Если Вы хотите со мной пообщаться еще - прошу в личку.
|
|
|
21.03.2017, 11:02
|
#895
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey
А что именно вас не устраивает в коде, или ...?
|
|
|
21.03.2017, 11:07
|
#896
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Витенька
ya7sergey Вы внимательно, хорошенько всё обдумайте и потом может поймёте что в этом коде всё сделано по уму. Как вариант, старт контроллера после отключения электроэнергии, а вас дома нет, в коде как раз сделано так что запустится фильтр и компрессор, свет при вашем отсутствии и после простоя оборудования не важен, так же если вдруг произойдет отключение среди ночи потом после включения электроэнергии вам нужен не слабый торшер в виде аквариума посреди ночи? Ну а вообще в коде можно всё переколбасить на своё хочу но там ещё раз повторюсь всё и так умно подогнано как для основных функций контроллера.
|
По уму это когда контроллер восстанавливает свое состояние к моменту включения с учетом изменившихся параметров (времени, температуры, ПШ и.т.п.) все остальное это от лукавого. Что касается текущего проекта, открываем скетч и смотрим, сразу в Setup(). Из настроек восстанавливаются :
aquaT = EEPROM.read(2); // Требуемая температура воды
minCool = EEPROM.read(3); // минимальные обороты кулера для вентиляции крышки и охлаждения ламп
maxCool = EEPROM.read(4); // максимальные обороты для охлаждения воды
Простите а каналы? Изначально они забиваются ВКЛ\ВЫКЛ программно!!! Т.е. я жестко привязан к номеру розетки... А таймеры? А прочие настройки? А если начать читать код, то что-то поправить там это просто ппц...Как писали выше он не читаемый, тут месяц только рефакторить нужно будет. Эти магические цифры в адресах, если ТС попросить через полгода что-то поправить я уверен что это будет с таким скрипом происходить и с таким количеством багов, что проще заново написать... И судя по тому что в скетче уже более 1700 строк то место для прошивки там уже не особо много осталось, и если вкидывать еще код который доведет до ума все о чем вы пишите то не факт что оно влезет в кристалл ИМХО.
|
|
|
21.03.2017, 11:08
|
#897
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Витенька
ya7sergey
А что именно вас не устраивает в коде, или ...?
|
См. пост #875
|
|
|
21.03.2017, 11:12
|
#898
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Так контроллер и так стартанет и все настройки сохранятся в том виде какие вы сделали, ничего перенастривать ненужно будет.
|
|
|
21.03.2017, 11:37
|
#899
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
По уму это когда контроллер восстанавливает свое состояние к моменту включения с учетом изменившихся параметров (времени, температуры, ПШ и.т.п.) все остальное это от лукавого. Что касается текущего проекта, открываем скетч и смотрим, сразу в Setup(). Из настроек восстанавливаются :
aquaT = EEPROM.read(2); // Требуемая температура воды
minCool = EEPROM.read(3); // минимальные обороты кулера для вентиляции крышки и охлаждения ламп
maxCool = EEPROM.read(4); // максимальные обороты для охлаждения воды
Простите а каналы? Изначально они забиваются ВКЛ\ВЫКЛ программно!!! Т.е. я жестко привязан к номеру розетки... А таймеры? А прочие настройки? А если начать читать код, то что-то поправить там это просто ппц...Как писали выше он не читаемый, тут месяц только рефакторить нужно будет. Эти магические цифры в адресах, если ТС попросить через полгода что-то поправить я уверен что это будет с таким скрипом происходить и с таким количеством багов, что проще заново написать... И судя по тому что в скетче уже более 1700 строк то место для прошивки там уже не особо много осталось, и если вкидывать еще код который доведет до ума все о чем вы пишите то не факт что оно влезет в кристалл ИМХО.
|
Согласен с вами на все 100% с первой до последней буквы. За исключением одного: размер кода меня не особо волнует. У меня проект портирован на Мегу2560. Не благодарное это дело, перепиливать чужой код, да еще на столько глобально...
|
|
|
21.03.2017, 11:52
|
#900
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
И судя по тому что в скетче уже более 1700 строк то место для прошивки там уже не особо много осталось, и если вкидывать еще код который доведет до ума все о чем вы пишите то не факт что оно влезет в кристалл ИМХО.
|
Ну это уже следующая ступень просветления!
У меня код для НАНО составляет где то 6000+ строк (2000+ их них или больше это код многоуровневого меню)
В какой то момент у меня просто закончилась оператива, а сколько ещё всего хотелось... Вот тогда я начала перерезать и оптимизировать код где только можно. Код в 100 строк превращался в 60 и изменялись области видимости переменных. В общем из загрузки в 90% оперативы получилось 55%, а размер самой программы тоже уменьшился процентов на 20-30.
НО для ATmega2560 самое интересное, что частоты кристалла, размер оперативы и флешки хватает что бы НЕ оптимизировать код.
Жаль что это всё нужно будет разбирать, потому что хочу собрать всё на ESP8266 и экран с меня уже не нужен будет, зато написанные библиотеки для датчиков и таймеров будут работать и дальше, на то они и библиотеки 
__________________ 
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 18:38.
|