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



 


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

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

Ответ
 
Опции темы Опции просмотра
Старый 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
Просмотров: 3125
Размер:	18.8 Кб
ID:	415548   Нажмите на изображение для увеличения
Название: TK0616-2-easydealhere.jpg
Просмотров: 3909
Размер:	122.2 Кб
ID:	415549   Нажмите на изображение для увеличения
Название: 047167-1-03.jpg
Просмотров: 3330
Размер:	25.3 Кб
ID:	415550   Нажмите на изображение для увеличения
Название: 047167-1-02.jpg
Просмотров: 3230
Размер:	17.8 Кб
ID:	415551   Нажмите на изображение для увеличения
Название: 27482.jpg
Просмотров: 3520
Размер:	63.9 Кб
ID:	416203  

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

Вложения
Тип файла: rar libraries.rar (225.8 Кб, 4464 просмотров)
Тип файла: zip aqua_controll_PNG.zip (1.59 Мб, 4439 просмотров)
Тип файла: rar aqua_controll_spl7.rar (237.5 Кб, 3902 просмотров)
Тип файла: rar aqua_controll.rar (9.1 Кб, 4303 просмотров)
Тип файла: rar 220_v3.rar (18.4 Кб, 3776 просмотров)


Последний раз редактировалось AlexVOK; 01.02.2019 в 23:47..
Просмотров: 492773
Ответить с цитированием
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)
Реклама помогает развиваться
Старый 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 поза форумом   Ответить с цитированием
Пользователь, который поблагодарил steals81 за данный пост:
чмо (13.03.2015)
Старый 10.07.2014, 10:34   #122
Живу я тут
  
 
Аватар для AlexVOK
 
Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 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
Поблагодарили 533 раз(а) в 244 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

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

AlexVOK поза форумом   Ответить с цитированием
Старый 11.07.2014, 11:45   #124
Живу я тут
  
 
Аватар для Sem
 
Регистрация: 17.09.2004
Адрес: Киев, Троещина
Сообщений: 14,498
Поблагодарил(а) : 4,653
Поблагодарили 8,526 раз(а) в 4,395 сообщениях
Записей в дневнике: 7
Отправить сообщение для Sem с помощью ICQ Отправить сообщение для Sem с помощью Skype™
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

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


__________________

Sem поза форумом   Ответить с цитированием
Старый 11.07.2014, 12:11   #125
Живу я тут
  
 
Аватар для klimnet
 
Регистрация: 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
Поблагодарили 533 раз(а) в 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
Поблагодарили 533 раз(а) в 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
Поблагодарили 533 раз(а) в 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 Кб, 192 просмотров)


Последний раз редактировалось AlexVOK; 06.08.2014 в 10:37..
AlexVOK поза форумом   Ответить с цитированием
Пользователь, который поблагодарил 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
Поблагодарили 533 раз(а) в 244 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

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

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

AlexVOK поза форумом   Ответить с цитированием
Пользователь, который поблагодарил AlexVOK за данный пост:
чмо (13.03.2015)


Share/Bookmark

Ответ

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


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

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

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

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




Текущее время: 03:33. Часовой пояс 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