|
|
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..
|
Просмотров: 490944
|
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) |
Реклама помогает развиваться |
|
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.
__________________
|
|
|
Пользователь, который поблагодарил 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
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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 код Выкл.
|
|
|
Текущее время: 01:26. Часовой пояс GMT +3.
|