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




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

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 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
Переглядів: 3815
Розмір:  18,8 КБ
ID:	415548   Щоб збільшити малюнок, клацніть по ньому
Назва:  TK0616-2-easydealhere.jpg
Переглядів: 4593
Розмір:  122,2 КБ
ID:	415549   Щоб збільшити малюнок, клацніть по ньому
Назва:  047167-1-03.jpg
Переглядів: 3952
Розмір:  25,3 КБ
ID:	415550   Щоб збільшити малюнок, клацніть по ньому
Назва:  047167-1-02.jpg
Переглядів: 3843
Розмір:  17,8 КБ
ID:	415551   Щоб збільшити малюнок, клацніть по ньому
Назва:  27482.jpg
Переглядів: 4118
Розмір:  63,9 КБ
ID:	416203  

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

Долучені файли
Тип файлу: rar libraries.rar (225,8 КБ, 5035 переглядів)
Тип файлу: zip aqua_controll_PNG.zip (1,59 МБ, 5050 переглядів)
Тип файлу: rar aqua_controll_spl7.rar (237,5 КБ, 4501 переглядів)
Тип файлу: rar aqua_controll.rar (9,1 КБ, 4905 переглядів)
Тип файлу: rar 220_v3.rar (18,4 КБ, 4540 переглядів)


Востаннє редагував AlexVOK: 01.02.2019 о 23:47..
Переглядів: 551871
Відповісти з цитуванням
Ці 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)
Старий 06.07.2014, 22:12   #121
Живу я тут
  
 
Аватар для steals81
 
Реєстрація: 26.11.2012
Звідки Ви: Дубно - Київ
Дописи: 2.799
сказав Дякую: 488
сказали Дякую 1.398 раз(и) в 1.059 повідомленні
Надіслати повідомлення для steals81 на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Пора бы и "обновку" выложить, пож-та.
__________________
То что рыба гниет с головы, чаще всего является оправданием хвоста…


__________________

steals81 поза форумом   Відповісти з цитуванням
cказали "Дякую" steals81 за цей допис:
чмо (13.03.2015)
Старий 10.07.2014, 10:34   #122
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

ПО еще в работе
еще не проверил работу ЛЕД и УДО


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

осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?

AlexVOK поза форумом   Відповісти з цитуванням
Старий 11.07.2014, 11:45   #124
Живу я тут
  
 
Аватар для Sem
 
Реєстрація: 17.09.2004
Звідки Ви: Киев, Троещина
Дописи: 14.486
сказав Дякую: 4.642
сказали Дякую 8.508 раз(и) в 4.382 повідомленні
Надіслати повідомлення для Sem на ICQ Надіслати повідомлення для Sem на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від AlexVOK Переглянути допис
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
посмотрю на досуге )
мож че и скажу.
__________________
Страна не ублюдков и не воров.


__________________

Sem поза форумом   Відповісти з цитуванням
Старий 11.07.2014, 12:11   #125
Бан за нарушения
  
 
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
Надіслати повідомлення для klimnet на ICQ Надіслати повідомлення для klimnet на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

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

klimnet поза форумом   Відповісти з цитуванням
Старий 23.07.2014, 10:16   #126
Придивляюся
  
 
Реєстрація: 10.06.2014
Звідки Ви: Киев
Дописи: 24
сказав Дякую: 1
сказали Дякую 8 раз(и) в 8 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexVOK, если я не ошибаюсь, когда-то, в одном из архивов лежала ПНЖшка схемы подключения, а теперь исчезла, можно вернуть, а то по той картинке что в шапке ну ничего не видно.
Спасибо!

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

diem, в шапке aqua_controll_PNG.zip

сейчас времени совсем нет, хотел нормальную схемку на рисовать
пока смотрите на рисунке

И в начале исходника скетча, описано какие нагрузки на какие выводы подключаются (можно менять под себя, только акуратно с ШИМ не на всех выводах он поддерживается)

AlexVOK поза форумом   Відповісти з цитуванням
Старий 01.08.2014, 01:08   #128
Придивляюся
  
 
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Решил тоже такое собрать. Подкупила разумная простота (без всяких UNO/MEGA и громадных цветных сенсорных экранов) и возможность влезть в код.
С первого взгляда: на рисунке надо поменять местами выводы управления вентилятором и термодатчиком
10 - вентилятор
A0 - 1Wire (DS18B20)
И вопрос: Дисплей вроде от 3.3V питается. А ардуинка у вас 5V.
Случайно не надо резисторы на выводы дисплея поставить, или они нормально к 5 вольтам относятся?

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

AlexNT, Дисплей отлично работает от 5В , резистор есть на плате дисплея
По поводу рисунка, Вы абсолютно правы

постараюсь сделать полноценную схемку на след неделе.
Все комутации видны по исходнику.

AlexVOK поза форумом   Відповісти з цитуванням
Старий 05.08.2014, 21:32   #130
Придивляюся
  
 
Реєстрація: 01.09.2013
Звідки Ви: Днепропетровск
Дописи: 98
сказав Дякую: 36
сказали Дякую 53 раз(и) в 50 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Вот и ко мне доехал паяльник и прочие мелочи, вот и дошли руки до контроллера. Спаял, залил скетч, включил и... не этого я ожидал - светодиод L мерцает с высокой частотой, так же как и четыре светодиода по периметру экрана, на нажатие любой из кнопок экран реагирует увеличением яркости светодиодов и прекращением их мигания, на ардуине же в этот момент яркость светодиодов снижается.
Может кому-то знакомы эти симптомы, подскажите куда копать.


Востаннє редагував dimul: 05.08.2014 о 21:40..
dimul поза форумом   Відповісти з цитуванням
Старий 05.08.2014, 22:00   #131
Придивляюся
  
 
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

dimul, как вариант проверь, что "клавиатура" подключена к выводу А7 ардуинки, да и всю остальную схему проверь. Ну и коррекцию схемы в сообщении 128 учти

AlexNT поза форумом   Відповісти з цитуванням
Ці 2 користувач(ів) сказали Дякую AlexNT за це повідомлення:
dimul (06.08.2014), чмо (13.03.2015)
Старий 06.08.2014, 10:20   #132
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

dimul, Симптомы знакомые
Судя по описанным симптомам все работает (по поводу L светодиода непонятно).
проблемка в константе контрастности

видать для разных экранов она разная

Вложил текущий релиз своего скетча.
обратите внимание на строки
ledContrast = EEPROM.read(0);
// первичная установка контраста - иначе при первом запуске нихрена невидно
if ((ledContrast==0)||(ledContrast==255)){
ledContrast = 65;
}

можно временно после этого кусочка
вставить жесткое присвоение
ledContrast = 65; -- подбирать рядом около 70

возможны варианты от ничего невидно до весь экран черным залит

Когда будет хоть чуть чуть видно меню,
в системном меню настроите контраст с помощью меню
и уберете жесткое присвоение, ну можно и константу по умолчанию заменить на ту которая будет в меню

По поводу изменения яркости подсветки экрана
изначально яркость минимальная - типа показывает часы (чтоб ночью всю комнату не освещала).
при нажатии любой кнопки появляется меню и рабочая яркость.
яркость можно настраивать через меню
Долучені файли
Тип файлу: zip aqua_controll.zip (9,2 КБ, 222 переглядів)


Востаннє редагував AlexVOK: 06.08.2014 о 10:37..
AlexVOK поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexVOK за цей допис:
dimul (06.08.2014)
Старий 10.08.2014, 00:37   #133
Придивляюся
  
 
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

В первый раз взялся помучать ардуинку – и сразу куча граблей.
Залил оригинальный скетч. Вместо часов\минут отображаются минуты\секунды (кто-то вроде с таким тоже столкнулся) Где-то прочитал, что кривая библиотека DS1307 . Ладно, оставил пока в покое…
Попытался добавить немного инфы на главный экран. Вместо кода
analogWrite(LED_LIGHT_PIN, DispLight_min);
myGLCD.setFont(MediumNumbers);
myGLCD.clrScr();
myGLCD.printNumI(time.hour, 7, 2, 2, '0');
myGLCD.drawCircle(42, 9, 3);
myGLCD.drawCircle(42, 19, 3);
if(secc < 2) {
myGLCD.drawCircle(42, 9, 2);
myGLCD.drawCircle(42, 19, 2);
myGLCD.drawRect(41, 8, 43, 10);
myGLCD.drawRect(41, 18, 43, 20);
myGLCD.setPixel(42, 9);
myGLCD.setPixel(42, 19);
}
myGLCD.printNumI(time.min, 49, 2, 2, '0');
написал такое:
myGLCD.setFont(SmallFont);
myGLCD.clrScr();

myGLCD.print(rtc.getTimeStr(FORMAT_LONG), 0, 0);

myGLCD.print("T aqv:", 0, 12);
myGLCD.printNumI(aquaT, 39, 12);

String StrLed = "";
if(light1)
StrLed = StrLed + "L1n ";
else
StrLed = StrLed + "L1ff ";
if(light2)
StrLed = StrLed + "L2n ";
else
StrLed = StrLed + "L2ff";
myGLCD.print(StrLed, 0, 21);

myGLCD.print("12345678912345", 0, 30); //Просто занял место
И дальше как в оригинале. Залил в проц. Главный экран отобразил все нормально. Даже часы пошли правильно. Но тут вдруг выяснилось, что в меню main перестали отображаться все пункты!!! Курсор скачет по пустым строкам. Ну и что в этом коде криминального??? Тем более что сломался вывод совсем в другом месте!!! Исследование показало, что пункты исчезли только в тех подменюшках где в функцию drawMenu(); передаются сформированные строки т.е.
drawMenu("Main", "Light " + ll, "Air " + aa, "Kormlenie" + lk, "Settings"); глючит
drawMenu("Main", "Light ", "Air ", "Kormlenie", "Settings"); работает
Такое чувство, что не хватило ресурсов хранить строковые переменные.
PS Да, при первом же ресете часики снова скатились на минуты\секунды

AlexNT поза форумом   Відповісти з цитуванням
Старий 10.08.2014, 01:28   #134
Придивляюся
  
 
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ха-ха, в предыдущем посте вместо рожиц должно стоять “: On ”, “: Off ”
По существу: При компиляции оригинала выдает, что ресурсов осталось
29 268 байт (из 30 720 байт максимум)
Явно на грани. Не разгуляешься. Решил чуток освободить ресурсы. Не нашел ничего лучшего чем влезть в библиотеку графики (Знаю, что наглец и так делать нельзя).
Сделал LCD5110_Medium.h
В ней из шрифтов оставил только SmallFont[] и MediumNumbers[]
Убрал функции
drawBitmap();
drawLine();
clrLine();
drawRoundRect();
clrRoundRect();
Зато вывел из тени
drawHLine(); //горизонтальная линия
clrHLine();
drawVLine(); //вертикальная линия
clrVLine();
Для менюшек и этого хватит. Соответственно скорректировал скетч
После компиляции выдало
27 872 байт (из 30 720 байт максимум) Чуток ресурсов освободил. Мда… Старые грабли не исчезли (наивный, блин). Это минус. Зато новые не появились. Это плюс.
Далее уберу
void drawCircle();
void clrCircle();
Обойдемся и без кружочков. Но они в подменюшках используются. Пока еще нормального аналога не придумал.
Есть мысля создать маленький шрифтик с элементами интерфейса. Что-то типа: кружочек\кружочек с точкой квадратик\квадратик с птичкой. Думаю это будет выглядеть красивее и займет меньше ресурсов, чем их рисование.
2 AlexVOK: Какая версия IDE используется у Вас?

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

AlexNT,
у меня версия 1.5.2
в 44 посте есть ссылка на полный архив моей среды вместе с библиотеками
попробуйте.
у меня с часами все ок

Сами шрифты хорошо экономят память, остальной функционал мизер.
Если полностью переписать скетчь - можно процентов 30-40 выиграть, но это полная переработка.
по поводу остальных вопросов. Выкладывайте полностью скетч, попробую глянуть.

AlexVOK поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexVOK за цей допис:
чмо (13.03.2015)


Share/Bookmark

Відповідь

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


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

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

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

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


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


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


no new posts