Простой акваконтроллер ARDUINO - Страница 35 - Аквафорум - форум акваріумістів та тераріумістів
На сайт Всеукраинской Ассоциации аквариумистов
На главную страницу форума



 


Вернуться   Аквафорум - форум акваріумістів та тераріумістів > Аквариум и оборудование > "Самоделкин" > Аквариумная автоматика
Аукцион Регистрация Дневники Справка Пользователи Календарь Сообщения за день

Важная информация

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

Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
 

Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 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
Просмотров: 3147
Размер:	18.8 Кб
ID:	415548   Нажмите на изображение для увеличения
Название: TK0616-2-easydealhere.jpg
Просмотров: 3926
Размер:	122.2 Кб
ID:	415549   Нажмите на изображение для увеличения
Название: 047167-1-03.jpg
Просмотров: 3349
Размер:	25.3 Кб
ID:	415550   Нажмите на изображение для увеличения
Название: 047167-1-02.jpg
Просмотров: 3247
Размер:	17.8 Кб
ID:	415551   Нажмите на изображение для увеличения
Название: 27482.jpg
Просмотров: 3538
Размер:	63.9 Кб
ID:	416203  

Нажмите на изображение для увеличения
Название: Плата 220.jpg
Просмотров: 4855
Размер:	88.0 Кб
ID:	451418   Нажмите на изображение для увеличения
Название: aqua_controll_sch.jpg
Просмотров: 11092
Размер:	55.4 Кб
ID:	457447  

Вложения
Тип файла: rar libraries.rar (225.8 Кб, 4484 просмотров)
Тип файла: zip aqua_controll_PNG.zip (1.59 Мб, 4457 просмотров)
Тип файла: rar aqua_controll_spl7.rar (237.5 Кб, 3916 просмотров)
Тип файла: rar aqua_controll.rar (9.1 Кб, 4320 просмотров)
Тип файла: rar 220_v3.rar (18.4 Кб, 3790 просмотров)


Последний раз редактировалось AlexVOK; 01.02.2019 в 23:47..
Просмотров: 493425
Ответить с цитированием
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)
Реклама помогает развиваться
Старый 27.02.2015, 09:05   #511
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Вот и я думаю не туда пихаю.

Вячеслав Сергеев поза форумом   Ответить с цитированием
Старый 27.02.2015, 09:43   #512
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Получилось, спасибо.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный1.jpg
Просмотров: 790
Размер:	163.9 Кб
ID:	486035  

Вячеслав Сергеев поза форумом   Ответить с цитированием
Старый 27.02.2015, 10:56   #513
Я тут недавно
  
 
Регистрация: 20.06.2009
Адрес: Ульяновск
Сообщений: 44
Поблагодарил(а) : 16
Поблагодарили 1 раз(а) в 1 сообщении
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от AlexVOK Посмотреть сообщение
AlexNT, а вы посчитайте сколько стоит MEAN WELL по нынешнему курсу
MBI6651 22грн
дросель 100 мкГн 7 грн (кардачи павильон 9В)
танталы 5 - 6 грн
диод 2 грн
резистор + текстолит + флюс + ... 2 грн

всего около 40 - 45 грн.

По поводу резисторов и хитрых номиналов = все просто набираем 2-8 шт параллельно

Да и ток какой нравится - я на некоторых каналах по 800мА выставил
где можно про эти драйверы почитать?

андрей.н поза форумом   Ответить с цитированием
Старый 27.02.2015, 12:21   #514
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от андрей.н Посмотреть сообщение
где можно про эти драйверы почитать?
http://www.google.ru/url?url=http://...MWYtTNWKCHPOfw

Вячеслав Сергеев поза форумом   Ответить с цитированием
Старый 27.02.2015, 12:23   #515
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

индикатор обогревателя сделал а включить не могу.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 562
Размер:	114.0 Кб
ID:	486069  

Вячеслав Сергеев поза форумом   Ответить с цитированием
Реклама помогает развиваться
Старый 27.02.2015, 12:44   #516
Я тут недавно
  
 
Регистрация: 12.01.2015
Адрес: Litva
Сообщений: 21
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Dobryj den, a vy nedumali o takoi podsvetke akvariuma http://www.ebay.com/itm/1W-COB-LED-F...item2ed6f90bc7
dolzno byt udobno, odna palocka 50-60 v. Ja kupil lampocku e27 4w iz 4 palocek ocen prijatnyj svet, gorit kak lampocka i svet dajet na 360 gradusov.

Daliusb поза форумом   Ответить с цитированием
Старый 27.02.2015, 12:53   #517
Живу я тут
  
 
Аватар для AlexVOK
 
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Вячеслав Сергеев, так работать не будет

EXT_HEATER_PIN - это просто № ножки и никакой информации о состоянии не несет

AlexVOK поза форумом   Ответить с цитированием
Старый 27.02.2015, 13:30   #518
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexVOK, Я предполагал это, мне не найти строку в которой хранится состояние D12. Подскажите пожалуйста.

Вячеслав Сергеев поза форумом   Ответить с цитированием
Старый 27.02.2015, 17:10   #519
Я тут недавно
  
 
Регистрация: 12.11.2013
Адрес: Болгария
Сообщений: 34
Поблагодарил(а) : 107
Поблагодарили 143 раз(а) в 20 сообщениях
Записей в дневнике: 1
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

В начале
boolean HEATER = false;


if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
HEATER = true;
}else{
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
HEATER = false;
}


Последний раз редактировалось Петко Шкодров; 02.03.2015 в 12:50..
Петко Шкодров поза форумом   Ответить с цитированием
Пользователь, который поблагодарил Петко Шкодров за данный пост:
Старый 27.02.2015, 21:53   #520
Я тут недавно
  
 
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ну... раз уж пошли бросаться кусками кода, то внесу парочку вредных идеек.
(Да, вот такой я вредный)
Определяем переменные состояния выводов ардуинки что-то типа тагого
// Переменные текущего состояния выводов Arduino
byte pinCoolingState;
byte pinLed1State;
//byte pinLed2State;
//byte pinLed3State;
//byte pinLed4State;
//byte pinLed5State;
//byte pinLed6State;
byte pinAirState;
byte pinCOState;
byte pinLight1State;
byte pinLight2State;
byte pinFilterState;
byte pinHeaterState;
byte pinPowerOnState;
byte pinDispLedState;
//byte pinUdoMacroState;
//byte pinUdoMicroState;
//byte pinUdoFeState;

Затем во всех местах проги, где встречается код типа

analogWrite(LED_LIGHT_PIN, displLedLight);
или
digitalWrite(EXT_HEATER_PIN, HIGH);

пишем:
pinDispLedState = displLedLight;
pinHeaterState = HIGH

Т.е. физически в ножки ардуинки ничего не пишем. Только задаем виртуально их текущее состояние. И только в конце Loop() вызываем функцию записи что-то вроде:

void SetPinState(void)
{ //Устанавливает выходы Arduino в заданное состояние
analogWrite(EXT_COOLING_PIN, pinCoolingState); //Вентилятор
analogWrite(LED_LIGHT_PIN, pinDispLedState); //Подсветка дисплея
analogWrite(EXT_LIGHT_LED1_PIN, pinLed1State); //Светодиодная подсветка
//analogWrite(EXT_LIGHT_LED2_PIN, pinLed1State);
//analogWrite(EXT_LIGHT_LED3_PIN, pinLed1State);
//analogWrite(EXT_LIGHT_LED4_PIN, pinLed1State);
//analogWrite(EXT_LIGHT_LED5_PIN, pinLed1State);
//analogWrite(EXT_LIGHT_LED6_PIN, pinLed1State);

digitalWriteFast(EXT_AIR_PIN, pinAirState);
digitalWriteFast(EXT_CO2_PIN, pinCOState);
digitalWriteFast(EXT_LIGHT_1_PIN, pinLight1State); //Светильник 1
digitalWriteFast(EXT_LIGHT_2_PIN, pinLight2State); //Светильник 2
digitalWriteFast(EXT_FILTER_PIN, pinFilterState); //Фильтр
digitalWriteFast(EXT_HEATER_PIN,); //Нагреватель
digitalWriteFast(EXT_POWER_ON_PIN,);
//digitalWriteFast(EXT_UDO_MACRO_PIN, pinUdoMacroState);
//digitalWriteFast(EXT_UDO_MICRO_PIN, pinUdoMicroState);
//digitalWriteFast(EXT_UDO_Fe_PIN, pinUdoFeState);
}

Таким образом, последовательно читая таймера мы не сталкиваемся с микросекундными бросками напряжения на выходах, когда один таймер включает нагрузку, а следом за ним другой таймер (или возможная подпрограмма обработки аварийных ситуаций) тут-же выключает ее. На выходе мы получаем уже четко сформированное состояние ВСЕХ ножек ардуинки.
Ну и плюс еще один Бонус - широкие возможности для эспериментов. Программа может обсчитывать кучу всяких выходов-нагрузок. Даже тех, которых на самом деле нет например с десяток каналов ледов для которых и выводов не хватит И только на последнем этапе вывести на конкретные ножки ардуинки или ипользовать регистры, расширители, а то и просто проигнорировать их не изменяя основной код программы или как вариант залить в "более ногастую" ардуину.

AlexNT поза форумом   Ответить с цитированием
3 пользователей поблагодарили AlexNT за данный пост:
AQUAPLUS (28.02.2015), icetechno (27.02.2015), paradox860 (02.03.2015)
Старый 27.02.2015, 22:06   #521
Я тут недавно
  
 
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ах да, забыл предупредить. Это не сработает на участках оригинального кода, где есть задержки как в обработке УДО
case 6: // UDO
udo_tim = (byte) (b4 & B00111111);
digitalWriteFast(EXT_POWER_ON_PIN, HIGH);
delay(100); //Время на выход в режим БП
switch ((byte) ((b4 >> 6) & B00000011)) {
case 0:
digitalWriteFast(EXT_UDO_MICRO_PIN, HIGH);
delay(udo_tim * 4.2);
digitalWriteFast(EXT_UDO_MICRO_PIN, LOW);
break;
case 1:
digitalWriteFast(EXT_UDO_MACRO_PIN, HIGH);
delay(udo_tim * 4.2);
digitalWriteFast(EXT_UDO_MACRO_PIN, LOW);
и так далее
Просто мне пока УДО не актуально и я "слегка позволил себе"
И да, у меня подключена библиотека digitalWriteFast.h так что в моем коде
digitalWriteFast()
можно заменить на обычное
digitalWrite()

AlexNT поза форумом   Ответить с цитированием
Старый 27.02.2015, 23:28   #522
Бан за нарушения
  
 
Регистрация: 04.01.2009
Адрес: Полтава
Сообщений: 5,495
Поблагодарил(а) : 6,244
Поблагодарили 5,759 раз(а) в 2,265 сообщениях
Записей в дневнике: 8
Отправить сообщение для sae74 с помощью ICQ Отправить сообщение для sae74 с помощью Skype™
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexVOK,Из сообщения AlexNT я так понял что УДО дозатор вы просто делаете задержку?
Позволю предложить вставить возможность прерывания подачи.
Или это реализовано?


__________________

sae74 поза форумом   Ответить с цитированием
Старый 28.02.2015, 00:19   #523
Я тут недавно
  
 
Регистрация: 08.01.2008
Адрес: Pinsk, RB
Сообщений: 43
Поблагодарил(а) : 5
Поблагодарили 16 раз(а) в 12 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от sae74 Посмотреть сообщение
AlexVOK,Из сообщения AlexNT я так понял что УДО дозатор вы просто делаете задержку?
Позволю предложить вставить возможность прерывания подачи.
Или это реализовано?
Нет. Видать плохо выразился. Как раз у меня дозаторы УДО просто вырезаны за ненадобностью. Участок кода с дозаторами - это целиком Ваш код. Он приведен как пример того участка кода где моя идея с "отложенной" записью в ножки процессора НЕ сработает.

AlexNT поза форумом   Ответить с цитированием
Старый 01.03.2015, 14:04   #524
Живу я тут
  
 
Регистрация: 06.04.2012
Адрес: Санкт-Петербург
Сообщений: 176
Поблагодарил(а) : 22
Поблагодарили 30 раз(а) в 26 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от Петко Шкодров Посмотреть сообщение
В начале
boolean HEATER = false;


if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
HEATER = true;
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
HEATER = false;
Спасибо, завтра попробую.

Вячеслав Сергеев поза форумом   Ответить с цитированием
Старый 02.03.2015, 08:31   #525
Я тут недавно
  
 
Регистрация: 01.09.2011
Адрес: Ставропольский краи
Сообщений: 78
Поблагодарил(а) : 27
Поблагодарили 49 раз(а) в 28 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

А кто разобрался как сделать так чтоб при вырубании света задания не проходили невыполненными? Смотрел скетч в этой теме, товарищ выкладывал, но как я понял там просто отдельная менюшка с интервальными таймерами...
__________________
Сообщество аквариумистов КМВ www.aquakmv.com

paradox860 поза форумом   Ответить с цитированием


Share/Bookmark

Ответ

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход




Текущее время: 15:24. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
(с)Бешлега Олександр Анатолійович, 2002-2024. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.

Друзі форуму: Зоомагазин byCOLLAR.com; waudog.ua

AQA.ru  - все об аквариумах

no new posts