 |
|
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 МБ, 5054 переглядів) |
 |
aqua_controll_spl7.rar (237,5 КБ, 4507 переглядів) |
 |
aqua_controll.rar (9,1 КБ, 4909 переглядів) |
 |
220_v3.rar (18,4 КБ, 4545 переглядів) |
Востаннє редагував AlexVOK: 01.02.2019 о 23:47..
|
Переглядів: 553357
|
Ці 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) |
23.03.2017, 10:01
|
#931
|
Придивляюся
Реєстрація: 12.11.2013
Звідки Ви: Болгария
Дописи: 34
сказав Дякую: 107
сказали Дякую 143 раз(и) в 20 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від ya7sergey
А кто нибудь решил вопрос с восстановлением работоспособности контроллера по расписанию после сброса питания? Ранее товарищ из Болгарии предлагал кусок кода, но он не работоспособен. Если у кого есть рабочий вариант поделитесь.
|
В каком смысле не работает?
Это только для справки.
этот код
int T_ON = EEPROM.read(a + 1) * 60 + EEPROM.read(a + 2);
int T_OFF = EEPROM.read(a + 3) * 60 + EEPROM.read(a + 4);
int T_cur = time.hour * 60 + time.min;
if (b1 & B10000000) {
if ((1 << (time.dow - 1))&b1) {
boolean tajmer = false;
if (T_ON < T_OFF) //Проверка на таймера в едно денонощие
{
if (T_cur >= T_ON && T_cur < T_OFF)
{
tajmer = true;
} else {
tajmer = false;
}
} else { // ако се е сменил деня
if ((T_cur >= T_ON && T_cur <= 2820) || (T_cur >= 0 && T_cur < T_OFF))
{
tajmer = true;
} else {
tajmer = false;
}
}
|
|
|
23.03.2017, 10:06
|
#932
|
Придивляюся
Реєстрація: 09.02.2017
Звідки Ви: Samara
Дописи: 22
сказав Дякую: 8
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Петко Шкодров
В каком смысле не работает?
Это только для справки.
этот код
int T_ON = EEPROM.read(a + 1) * 60 + EEPROM.read(a + 2);
int T_OFF = EEPROM.read(a + 3) * 60 + EEPROM.read(a + 4);
int T_cur = time.hour * 60 + time.min;
if (b1 & B10000000) {
if ((1 << (time.dow - 1))&b1) {
boolean tajmer = false;
if (T_ON < T_OFF) //Проверка на таймера в едно денонощие
{
if (T_cur >= T_ON && T_cur < T_OFF)
{
tajmer = true;
} else {
tajmer = false;
}
} else { // ако се е сменил деня
if ((T_cur >= T_ON && T_cur <= 2820) || (T_cur >= 0 && T_cur < T_OFF))
{
tajmer = true;
} else {
tajmer = false;
}
}
|
Кусок кода этот. Но простая вставка вместо оригинального приводит к ошибке компиляции. Можете выложить рабочий скетч, если он у вас есть?
|
|
|
23.03.2017, 11:04
|
#933
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
Чего-чего?  Я даже захотел взглянуть на это... Либо я не правильно вас понял, либо вы прописываете адреса датчиков в коде? Оо И в догонку к примеру что будет в вашем коде (устройстве) если вы к примеру поменяете датчики местами в разъемах?
|
Взглянуть? Вы меня расстраиваете 
Вы что не заглядывали в стандартную библиотеку DallasTemperature.h ?
К датчику температуры можно обратится или по пину к которому он подключен, если он там один, или по адресу, если их там много 
Я же там написала, что для себя я могу себе это позволить и выиграть 3 выхода, я считаю адрес нового датчика, впишу его в код и проверю правильно ли я сделала и всё работает отлично, но это ДЛЯ СЕБЯ, в массы такое делать бессмысленно
Цитата:
//insideThermometer = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
//outsideThermometer = { 0x28, 0x3F, 0x1C, 0x31, 0x2, 0x0, 0x0, 0x2 };
|
__________________ 
|
|
|
23.03.2017, 11:09
|
#934
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Витенька
Такого же мнения, тем более пришпандерил ещё и автокормушку так что точно шо включил и забыл, можно приходить только медитировать и воду подменивать. 
|
Тоже уже давно специально не перегружала... критических ошибок не обнаружено.
А с автокормушкой пока проблема, я не могу в голове сформировать как её собрать из подручных материалов, что бы и не большая и фракции корма у меня разные...
__________________ 
|
|
|
23.03.2017, 12:12
|
#935
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Одна кормушка заводская

вторая самодельная

из так сказать подручных материалов примитивно и без мозговой начинки, одно что только для сыпучих кормов, смешиваю разные гранулированные и хлопья пальцами переминаю вроде работает, если интересуетесь покажу но ковырнуть, долбануть, пайнуть всё же доведётся. 
|
|
|
23.03.2017, 12:39
|
#936
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AquaGomel, uptime почти 2 года 
|
|
|
23.03.2017, 13:19
|
#937
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexVOK
AquaGomel, uptime почти 2 года 
|
Просто я смотрю в коде используется millis(), можете вкратце рассказать для чего используется внутренний таймер ардуино а не внешние часы? И вы как-то реагируете на переполнение данных в этом самом millis()?
|
|
|
23.03.2017, 13:40
|
#938
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
Просто я смотрю в коде используется millis(), можете вкратце рассказать для чего используется внутренний таймер ардуино а не внешние часы? И вы как-то реагируете на переполнение данных в этом самом millis()?
|
Ага, реагирует он ресетом каждые 50+ дней или после 50 дней просто кнопки не работают
if((currentTime >= (loopTime + 250))||(key != prev_key)){
....
loopTime = currentTime;
Если после 50 дней в millis() закончится Unsigned long (4,294,967,295) и начнёт отсчитывать с нуля, то ближайшие ближайшее срабатывание возможно через 50 дней, так как loopTime = 4,294,967,290, а все currentTime будут очень долго меньше чем loopTime.
__________________ 
|
|
|
23.03.2017, 19:15
|
#939
|
Придивляюся
Реєстрація: 12.11.2013
Звідки Ви: Болгария
Дописи: 34
сказав Дякую: 107
сказали Дякую 143 раз(и) в 20 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від ya7sergey
Кусок кода этот. Но простая вставка вместо оригинального приводит к ошибке компиляции. Можете выложить рабочий скетч, если он у вас есть?
|
Есть много изменений.
Нет удо.Нет режим кормления.
Есть РН управление CO2
Файл LCD5110_Graph вставить "libraries"
#define EXT_FILTER_PIN 17
#define EXT_AIR_PIN 15
#define EXT_HEATER_PIN 16
#define EXT_COOLING_PIN 11
#define EXT_LIGHT_1_PIN 12
#define EXT_LIGHT_2_PIN 13
#define EXT_CO2_PIN 14
#define ALARM_PIN 0
#define PWM_PIN 10
#define Key_PIN 7
LCD5110 myGLCD(8, 7, 6, 4, 5);
OneWire temp(19);
DS1307 rtc(2, 3);
|
|
|
Ці 4 користувач(ів) сказали Дякую Петко Шкодров за це повідомлення:
|
|
26.03.2017, 11:00
|
#940
|
Придивляюся
Реєстрація: 26.03.2017
Звідки Ви: Украина
Дописи: 15
сказав Дякую: 0
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Прошу помощи, уже все перепробовал, даже не знаю что делать...
Использую платку Arduino PRO Mini ATMEGA328P 5V 16M дисплей красный который на 3,3 вольта, вместо платки DS1307 поставил DS3231
Время показывает температуру тоже, в меню заходит, можно даже настраивать, но в пункт настройки не заходит-несколько полосочек появляется и гаснет экран. Нажимаю кнопку выход включается подсветка а вот на экране пусто.
|
|
|
26.03.2017, 15:54
|
#941
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Vitalik_Nic
Прошу помощи, уже все перепробовал, даже не знаю что делать...
Использую платку Arduino PRO Mini ATMEGA328P 5V 16M дисплей красный который на 3,3 вольта, вместо платки DS1307 поставил DS3231
Время показывает температуру тоже, в меню заходит, можно даже настраивать, но в пункт настройки не заходит-несколько полосочек появляется и гаснет экран. Нажимаю кнопку выход включается подсветка а вот на экране пусто.
|
Попробуйте в коде "поиздеваться" над этой строкой

Вроде что то подобное было и у меня, два одинаковых контроллера с дисплеями на одном 3,3 вольта, на другом 5, по моему на 100 литровом 3,3, но может и наоборот.

|
|
|
26.03.2017, 18:39
|
#942
|
Придивляюся
Реєстрація: 26.03.2017
Звідки Ви: Украина
Дописи: 15
сказав Дякую: 0
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Не помогло...
Попробовал тестовый скетч для калибровки клавиатуры, на экране появляется логотип на одну секунду и все на экране пусто. Может экран немного другой... хотя я проверял другой программой часы на 5110 работает отлично, куда копать ?
|
|
|
26.03.2017, 20:26
|
#943
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Получается как бы сам дисплей в порядке, что то связано с яркокостно-нтрастностью, поэксперементируйте еще со строкой

У меня так, но это как бы не критично для такой проблемы

Вы говорили о красном дисплее, столкнулся и я именно с такой разницей и как оказалось этих красных есть три вида отличающихся по питанию а вот в чем отличие того самого третьего не помню но всё же в чем то есть.
|
|
|
26.03.2017, 21:28
|
#944
|
Придивляюся
Реєстрація: 26.03.2017
Звідки Ви: Украина
Дописи: 15
сказав Дякую: 0
сказали Дякую 1 раз(и) в 1 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Стандартная библиотека для LCD5110 скачанная с офф. сайта ардуино работает как положено. Но она не подходит для данной прошивки и отсутствует русский язык. Буду заказывать другой дисплей синий на 5 вольт
|
|
|
26.03.2017, 21:44
|
#945
|
Живу я тут
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Стоп Стоп Стоп!
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 09:29.
|