 |
|
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 КБ, 5035 переглядів) |
 |
aqua_controll_PNG.zip (1,59 МБ, 5050 переглядів) |
 |
aqua_controll_spl7.rar (237,5 КБ, 4501 переглядів) |
 |
aqua_controll.rar (9,1 КБ, 4905 переглядів) |
 |
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
|
Живу я тут
Реєстрація: 26.11.2012
Звідки Ви: Дубно - Київ
Дописи: 2.799
сказав Дякую: 488
сказали Дякую 1.398 раз(и) в 1.059 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Пора бы и "обновку" выложить, пож-та. 
__________________
То что рыба гниет с головы, чаще всего является оправданием хвоста…
__________________ 
|
|
|
cказали "Дякую" steals81 за цей допис:
|
|
10.07.2014, 10:34
|
#122
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
ПО еще в работе
еще не проверил работу ЛЕД и УДО
Востаннє редагував AlexVOK: 13.07.2014 о 21:07..
|
|
|
11.07.2014, 11:10
|
#123
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
|
|
|
11.07.2014, 11:45
|
#124
|
Живу я тут
Реєстрація: 17.09.2004
Звідки Ви: Киев, Троещина
Дописи: 14.486
сказав Дякую: 4.642
сказали Дякую 8.508 раз(и) в 4.382 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexVOK
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
|
посмотрю на досуге )
мож че и скажу. 
__________________
Страна не ублюдков и не воров.
__________________  
|
|
|
11.07.2014, 12:11
|
#125
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK, вы в шапке темы откорректируйте что уже есть и какие выходы задействованы, тогда будет понятно что еще можно прицепить
|
|
|
23.07.2014, 10:16
|
#126
|
Придивляюся
Реєстрація: 10.06.2014
Звідки Ви: Киев
Дописи: 24
сказав Дякую: 1
сказали Дякую 8 раз(и) в 8 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK, если я не ошибаюсь, когда-то, в одном из архивов лежала ПНЖшка схемы подключения, а теперь исчезла, можно вернуть, а то по той картинке что в шапке ну ничего не видно.
Спасибо!
|
|
|
30.07.2014, 15:14
|
#127
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
diem, в шапке aqua_controll_PNG.zip
сейчас времени совсем нет, хотел нормальную схемку на рисовать
пока смотрите на рисунке
И в начале исходника скетча, описано какие нагрузки на какие выводы подключаются (можно менять под себя, только акуратно с ШИМ не на всех выводах он поддерживается)
|
|
|
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 вольтам относятся?
|
|
|
04.08.2014, 19:45
|
#129
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT, Дисплей отлично работает от 5В , резистор есть на плате дисплея
По поводу рисунка, Вы абсолютно правы
постараюсь сделать полноценную схемку на след неделе.
Все комутации видны по исходнику.
|
|
|
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..
|
|
|
05.08.2014, 22:00
|
#131
|
Придивляюся
Реєстрація: 08.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
dimul, как вариант проверь, что "клавиатура" подключена к выводу А7 ардуинки, да и всю остальную схему проверь. Ну и коррекцию схемы в сообщении 128 учти
|
|
|
Ці 2 користувач(ів) сказали Дякую AlexNT за це повідомлення:
|
|
06.08.2014, 10:20
|
#132
|
Живу я тут
Реєстрація: 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
возможны варианты от ничего невидно до весь экран черным залит
Когда будет хоть чуть чуть видно меню,
в системном меню настроите контраст с помощью меню
и уберете жесткое присвоение, ну можно и константу по умолчанию заменить на ту которая будет в меню
По поводу изменения яркости подсветки экрана
изначально яркость минимальная - типа показывает часы (чтоб ночью всю комнату не освещала).
при нажатии любой кнопки появляется меню и рабочая яркость.
яркость можно настраивать через меню
Востаннє редагував AlexVOK: 06.08.2014 о 10:37..
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
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 + "L1  n ";
else
StrLed = StrLed + "L1  ff ";
if(light2)
StrLed = StrLed + "L2  n ";
else
StrLed = StrLed + "L2  ff";
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 Да, при первом же ресете часики снова скатились на минуты\секунды
|
|
|
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 используется у Вас?
|
|
|
10.08.2014, 21:15
|
#135
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT,
у меня версия 1.5.2
в 44 посте есть ссылка на полный архив моей среды вместе с библиотеками
попробуйте.
у меня с часами все ок
Сами шрифты хорошо экономят память, остальной функционал мизер.
Если полностью переписать скетчь - можно процентов 30-40 выиграть, но это полная переработка.
по поводу остальных вопросов. Выкладывайте полностью скетч, попробую глянуть.
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 00:27.
|