|
|
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..
|
Просмотров: 492300
|
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) |
Реклама помогает развиваться |
|
10.02.2017, 12:09
|
#871
|
Живу я тут
Регистрация: 21.07.2009
Адрес: Оболонь / дв.Украина
Сообщений: 579
Поблагодарил(а) : 83
Поблагодарили 100 раз(а) в 81 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Кстати.. чисто вспомнилось Есть почти доделанный контроллер из этой темы Если кому интересно можно договориться т.к у меня уже долго работает на цветном тфт с тачскрином.
__________________
реанимация компьютеров, серверов, сетей, телефонов-планшетов.
|
|
|
12.03.2017, 11:46
|
#872
|
Я тут недавно
Регистрация: 02.02.2016
Сообщений: 2
Поблагодарил(а) : 1
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Доброго Всем дня. Пытаюсь повторить устройство, но со временем полная ерунда (модуль DS1307) при прошивке выдает время 27:85. Строки с установкой времени раскомментировал прошил и снова закомментировал, после сделал очистку как указывали в посте №361
// Init EEPROM
for(int e = 0; e < 2047; e++) EEPROM.write(e,0);
результат 27:85 и не движется!!!
|
|
|
12.03.2017, 11:51
|
#873
|
Я тут недавно
Регистрация: 02.02.2016
Сообщений: 2
Поблагодарил(а) : 1
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
да еще и дата 85.85.2165 день недели 255, при попытке изменить в ручную цифры меняются, но при выходе снова слетают на исходные. Подскажите где чего менять, в прошивку правки не вносил.
|
|
|
12.03.2017, 17:18
|
#874
|
Живу я тут
Регистрация: 21.07.2009
Адрес: Оболонь / дв.Украина
Сообщений: 579
Поблагодарил(а) : 83
Поблагодарили 100 раз(а) в 81 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
90% дохлый таймер.
__________________
реанимация компьютеров, серверов, сетей, телефонов-планшетов.
|
|
|
Пользователь, который поблагодарил alex_palace за данный пост:
|
|
17.03.2017, 19:58
|
#875
|
Я тут недавно
Регистрация: 09.02.2017
Адрес: Samara
Сообщений: 22
Поблагодарил(а) : 8
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
А кто нибудь решил вопрос с восстановлением работоспособности контроллера по расписанию после сброса питания? Ранее товарищ из Болгарии предлагал кусок кода, но он не работоспособен. Если у кого есть рабочий вариант поделитесь.
|
|
|
Реклама помогает развиваться |
|
17.03.2017, 21:16
|
#876
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от ya7sergey
А кто нибудь решил вопрос с восстановлением работоспособности контроллера по расписанию после сброса питания? Ранее товарищ из Болгарии предлагал кусок кода, но он не работоспособен. Если у кого есть рабочий вариант поделитесь.
|
А как понять восстановление работоспособности? Вы имеете ввиду что бы при запуске загрузились все настройки тамеры и.т.п.? Или есть какая-то специфическая функция у данной разработки?
|
|
|
18.03.2017, 07:15
|
#877
|
Я тут недавно
Регистрация: 09.02.2017
Адрес: Samara
Сообщений: 22
Поблагодарил(а) : 8
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AquaGomel
А как понять восстановление работоспособности? Вы имеете ввиду что бы при запуске загрузились все настройки тамеры и.т.п.? Или есть какая-то специфическая функция у данной разработки?
|
именно это и имел ввиду. Чтобы после подачи питания контроллер считывал установки каналов из памяти и начанал работать по ним, а не по мифическому своему режиму поддержания жизнидеятельности.
Смотрел реализацию данной функции в других проектах, но мои познания в прогаммтровании не позволяют это перенести на данный проект, по этому прошу Вашей помощи.
Последний раз редактировалось ya7sergey; 18.03.2017 в 07:21..
|
|
|
18.03.2017, 10:39
|
#878
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey, Вам сюда http://arduino.ru/Reference/Library/EEPROM
По факту там две команды, считать и записать в номер ячейки которую вы выберите.
Иногда бывает, что значение не влазит в одну ячейку памяти, тогда её нужно разбивать на две через сдвиг.
Немного подсказок:
1) сначала сбросите все значения в EEPROM в ноль через цикл проще всего, по умолчанию там 255 и можно при считывании получить какую то глупость, ноль всё таки безопаснее.
2) Напишите себе в программе кусочек кода инициализации всех переменных, его надо выполнять где то в начале старта программы и не забывайте сохранять параметры в память при их изменении.
__________________
Последний раз редактировалось mashenkaM; 18.03.2017 в 13:45..
|
|
|
Пользователь, который поблагодарил mashenkaM за данный пост:
|
|
20.03.2017, 07:26
|
#879
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
ya7sergey, Вам сюда http://arduino.ru/Reference/Library/EEPROM
По факту там две команды, считать и записать в номер ячейки которую вы выберите.
Иногда бывает, что значение не влазит в одну ячейку памяти, тогда её нужно разбивать на две через сдвиг.
Немного подсказок:
1) сначала сбросите все значения в EEPROM в ноль через цикл проще всего, по умолчанию там 255 и можно при считывании получить какую то глупость, ноль всё таки безопаснее.
2) Напишите себе в программе кусочек кода инициализации всех переменных, его надо выполнять где то в начале старта программы и не забывайте сохранять параметры в память при их изменении.
|
Абсолютно верно! EEPROM вам в помощь. От себя добавлю что сохранение настроек нужно производить на лету. Т.е. в момент их изменения, и при записи параметров производить проверку на изменение записываемого параметра. Так как Arduino и иже с ним имеют ограниченное количество перезаписи ячеек памяти, хотя оно достаточно велико (но меньше чем у обычной флешки), видел уникальные примеры где в цикле люди писали значения в EEPROM без проверки данных.
|
|
|
20.03.2017, 12:52
|
#880
|
Я тут недавно
Регистрация: 09.02.2017
Адрес: Samara
Сообщений: 22
Поблагодарил(а) : 8
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от AquaGomel
Абсолютно верно! EEPROM вам в помощь. От себя добавлю что сохранение настроек нужно производить на лету. Т.е. в момент их изменения, и при записи параметров производить проверку на изменение записываемого параметра. Так как Arduino и иже с ним имеют ограниченное количество перезаписи ячеек памяти, хотя оно достаточно велико (но меньше чем у обычной флешки), видел уникальные примеры где в цикле люди писали значения в EEPROM без проверки данных.
|
Спасибо что откликнулись. Но я просил не мурзилку-самоучитель, а поделитья рабочим кодом, т.к. "мои познания в прогаммтровании не позволяют это перенести на данный проект". Исходя из всего выше прочитанного делаю вывод, что ЗНАЧИТЕЛЬНО проще подключить контроллер через ИБП.
|
|
|
20.03.2017, 17:12
|
#881
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ya7sergey, скорее всего вникал в код только ТС, поэтому спрашивайте у него. Остальные как и Вы только собирали, а кто умеет программировать писали свою программу и под свои требования.
Ардуина на многое способна, но уже отходит на второй план, поэтому поддержка пользователей навряд ли будет
__________________
|
|
|
20.03.2017, 17:20
|
#882
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Между прочим, заглянула в программу и ТС использует там EEPROM.
В начале программы и по ходу выполнения происходят чтения и записи в память.
Что бы понять что именно не так, ТСу понадобится от вас больше информации, какие значения именно обнуляются при потери питания?
__________________
|
|
|
20.03.2017, 17:51
|
#883
|
Я тут недавно
Регистрация: 09.02.2017
Адрес: Samara
Сообщений: 22
Поблагодарил(а) : 8
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
Между прочим, заглянула в программу и ТС использует там EEPROM.
В начале программы и по ходу выполнения происходят чтения и записи в память.
Что бы понять что именно не так, ТСу понадобится от вас больше информации, какие значения именно обнуляются при потери питания?
|
ТС сам в курсе что обнуляется в его контроллере.
|
|
|
21.03.2017, 08:12
|
#884
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от ya7sergey
Спасибо что откликнулись. Но я просил не мурзилку-самоучитель, а поделитья рабочим кодом, т.к. "мои познания в прогаммтровании не позволяют это перенести на данный проект". Исходя из всего выше прочитанного делаю вывод, что ЗНАЧИТЕЛЬНО проще подключить контроллер через ИБП.
|
Простите не совсем понял, вам нужен пример рабочего кода как записать и считать данные из EEPROM? Или вам нужна прошивка для контроллера с уже добавленным функционалом? Если первое то пожалуйста:
Оффтоп
void SavePrefereseToEPPROM() {
if ((bool) EEPROM.read(NTP_ADDR) != NTPState)
EEPROM.write(NTPState, NTP_ADDR);
if ((bool) EEPROM.read(AUTO_CONNCT_ADDR) != WIFI_ENABLE)
EEPROM.write(WIFI_ENABLE, AUTO_CONNCT_ADDR);
if ((bool) EEPROM.read(MAX_TIMERS_ADDR) != MAX_TIMERS)
EEPROM.write(MAX_TIMERS, MAX_TIMERS_ADDR);
if ((bool) EEPROM.read(MAX_TEMP_SENSOR_ADDR) != MAX_TEMP_SENSOR)
EEPROM.write(MAX_TEMP_SENSOR, MAX_TEMP_SENSOR_ADDR);
}
void LoadPreferenceFromEPPROM() {
NTPState = (bool) EEPROM.read(NTP_ADDR);
WIFI_ENABLE = (bool) EEPROM.read(AUTO_CONNCT_ADDR);
MAX_TIMERS = (bool) EEPROM.read(MAX_TIMERS_ADDR);
MAX_TEMP_SENSOR = (bool) EEPROM.read(MAX_TEMP_SENSOR_ADDR);
}
А если второе то просите ТС запилить этот функционал... По поводу ИБП это утопия...
|
|
|
21.03.2017, 09:20
|
#885
|
Живу я тут
Регистрация: 10.10.2015
Адрес: Дома
Сообщений: 153
Поблагодарил(а) : 20
Поблагодарили 33 раз(а) в 25 сообщениях
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
Ардуина на многое способна, но уже отходит на второй план
|
Добрый День! А что же на данное время на первом месте заместь ардуино?
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 12:05. Часовой пояс GMT +3.
|