На головну сторінку Аквафорум
На головну сторінку




Назад   Аквафорум - форум акваріумістів та тераріумістів > Акваріум та обладнання > "Самоделкин" > Аквариумная автоматика
Аукцион Реєстрація ЧаПи Учасники Календар Нинішні дописи

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 17.03.2014, 13:10  
Простой акваконтроллер ARDUINO
 
Аватар для AlexVOK
Живу я тут

Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
 

сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
AlexVOK AlexVOK поза форумом 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

Мініатюри долучень
Щоб збільшити малюнок, клацніть по ньому
Назва:  $(KGrHqZ,!rYFG1iISsbLBRzjq2iFV!~~60_12.JPG
Переглядів: 3820
Розмір:  18,8 КБ
ID:	415548   Щоб збільшити малюнок, клацніть по ньому
Назва:  TK0616-2-easydealhere.jpg
Переглядів: 4599
Розмір:  122,2 КБ
ID:	415549   Щоб збільшити малюнок, клацніть по ньому
Назва:  047167-1-03.jpg
Переглядів: 3957
Розмір:  25,3 КБ
ID:	415550   Щоб збільшити малюнок, клацніть по ньому
Назва:  047167-1-02.jpg
Переглядів: 3850
Розмір:  17,8 КБ
ID:	415551   Щоб збільшити малюнок, клацніть по ньому
Назва:  27482.jpg
Переглядів: 4125
Розмір:  63,9 КБ
ID:	416203  

Щоб збільшити малюнок, клацніть по ньому
Назва:  Плата 220.jpg
Переглядів: 5558
Розмір:  88,0 КБ
ID:	451418   Щоб збільшити малюнок, клацніть по ньому
Назва:  aqua_controll_sch.jpg
Переглядів: 11731
Розмір:  55,4 КБ
ID:	457447  

Долучені файли
Тип файлу: rar libraries.rar (225,8 КБ, 5040 переглядів)
Тип файлу: zip aqua_controll_PNG.zip (1,59 МБ, 5054 переглядів)
Тип файлу: rar aqua_controll_spl7.rar (237,5 КБ, 4507 переглядів)
Тип файлу: rar aqua_controll.rar (9,1 КБ, 4909 переглядів)
Тип файлу: rar 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;
}
}
Кусок кода этот. Но простая вставка вместо оригинального приводит к ошибке компиляции. Можете выложить рабочий скетч, если он у вас есть?

ya7sergey поза форумом   Відповісти з цитуванням
Старий 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 };


__________________

mashenkaM поза форумом   Відповісти з цитуванням
Старий 23.03.2017, 11:09   #934
Бан за нарушения
  
 
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від Витенька Переглянути допис
Такого же мнения, тем более пришпандерил ещё и автокормушку так что точно шо включил и забыл, можно приходить только медитировать и воду подменивать.
Тоже уже давно специально не перегружала... критических ошибок не обнаружено.
А с автокормушкой пока проблема, я не могу в голове сформировать как её собрать из подручных материалов, что бы и не большая и фракции корма у меня разные...


__________________

mashenkaM поза форумом   Відповісти з цитуванням
Старий 23.03.2017, 12:12   #935
Живу я тут
  
 
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Одна кормушка заводская

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

из так сказать подручных материалов примитивно и без мозговой начинки, одно что только для сыпучих кормов, смешиваю разные гранулированные и хлопья пальцами переминаю вроде работает, если интересуетесь покажу но ковырнуть, долбануть, пайнуть всё же доведётся.

Витенька поза форумом   Відповісти з цитуванням
Старий 23.03.2017, 12:39   #936
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AquaGomel, uptime почти 2 года

AlexVOK поза форумом   Відповісти з цитуванням
Старий 23.03.2017, 13:19   #937
Живу я тут
  
 
Аватар для AquaGomel
 
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
Надіслати повідомлення для AquaGomel на ICQ Надіслати повідомлення для AquaGomel на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від AlexVOK Переглянути допис
AquaGomel, uptime почти 2 года
Просто я смотрю в коде используется millis(), можете вкратце рассказать для чего используется внутренний таймер ардуино а не внешние часы? И вы как-то реагируете на переполнение данных в этом самом millis()?

AquaGomel поза форумом   Відповісти з цитуванням
Старий 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.


__________________

mashenkaM поза форумом   Відповісти з цитуванням
Старий 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);
Долучені файли
Тип файлу: rar wer_aqua.rar (10,1 КБ, 154 переглядів)
Тип файлу: rar LCD5110_Graph.rar (140,0 КБ, 138 переглядів)

Петко Шкодров поза форумом   Відповісти з цитуванням
Ці 4 користувач(ів) сказали Дякую Петко Шкодров за це повідомлення:
AlexVOK (23.03.2017), Ant0ny (14.01.2019), mashenkaM (23.03.2017), ya7sergey (24.03.2017)
Старий 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
Время показывает температуру тоже, в меню заходит, можно даже настраивать, но в пункт настройки не заходит-несколько полосочек появляется и гаснет экран. Нажимаю кнопку выход включается подсветка а вот на экране пусто.

Vitalik_Nic поза форумом   Відповісти з цитуванням
Старий 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 работает отлично, куда копать ?

Vitalik_Nic поза форумом   Відповісти з цитуванням
Старий 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 вольт

Vitalik_Nic поза форумом   Відповісти з цитуванням
Старий 26.03.2017, 21:44   #945
Живу я тут
  
 
Реєстрація: 10.10.2015
Звідки Ви: Дома
Дописи: 153
сказав Дякую: 20
сказали Дякую 33 раз(и) в 25 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Стоп Стоп Стоп!

Витенька поза форумом   Відповісти з цитуванням


Share/Bookmark

Відповідь

Мітки
arduino, акваконтроллер


Тут присутні: 1 (учасників - 0 , гостей - 1)
 

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


Часовий пояс GMT +3. Поточний час: 09:29.


vBulletin 3.8.7 ; Copyright © 2000-2025 Jelsoft Enterprises Limited
Переклад: © Віталій Стопчанський, 2004-2010
(с)Бешлега Олександр Анатолійович, 2002-2025. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.


no new posts