Показати повну версію : Простой акваконтроллер ARDUINO
Аква контроллер ARDUINO.
(Обратите внимание на доработанный вариант от форумчан. Ссылка внизу!)
( ПродолжениеПростой акваконтроллер ARDUINO v.2 (LED море) (http://www.aquaforum.ua/showthread.php?p=3032647#post3032647))
(ГОТОВЫЕ КОНТРОЛЛЕРЫ НЕ ПРОДАЮ)
Решил ознакомиться я с ARDUINO, за одно порадовать своих рыбасей.
Сделать им(себе) доп удобства за минимальную цену и с минимальным напрягом по времени.
На eBay заказал.
Контроллер
Arduino PRO Mini ATMEGA328P 5V 16M (16MHZ) + CP2102 модуль + кабель = полный комплект для программирования - US $3.18 (http://alipromo.com/redirect/cpa/o/o39r96gj0o3f46futfksky7utc4rpnmr/)
Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module for Arduino + Батарейка (http://alipromo.com/redirect/cpa/o/o39rmgznocvssup947icay6yyonj66xi/) US $1.15
Индикатор 84*48 LCD Module White backlight adapter PCB for Nokia 5110 Arduino (http://alipromo.com/redirect/cpa/o/o39rq3xrgcbz6trxnq0s4dhba612tafr/) US $1.83
Влагозащищенный цифровой датчик температуры
DS18b20 Waterproof Temperature Sensors (5м нормального кабеля) (http://alipromo.com/redirect/cpa/o/o39rt6wksls3n5p4ck6oq9n3kqe98dvv/) 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, скетч с измененными буквами (http://www.aquaforum.ua/showpost.php?p=3215111&postcount=791).
Одна из лучших реализаций от форумчан
burnashev https://www.aquaforum.ua/showpost.php?p=3483764&postcount=1221
Ant0ny https://www.aquaforum.ua/showpost.php?p=3484300&postcount=1224
steals81
17.03.2014, 13:19
А где же сам контроллер, программная часть?
Фото силовой части это хорошо, но ни схем ни кода - это плохо.
Может кто захочет повторить, а как это сделать?
терпение, все будет открыто в том числе и исходник
Starcomputer
17.03.2014, 13:23
все будет открыто в том числе и исходник
Вообще-то исходники это единственное, на что интересно смотреть. Остальное уже было (и не раз) и ничего нового там не придумаешь.
Вообще-то исходники это единственное, на что интересно смотреть. Остальное уже было (и не раз) и ничего нового там не придумаешь.
Коллега Вы абсолютно правы.
все собрано на маленькой макетке из готовых кусков.
Забыл сфоткать в процессе. но сейчас добавлю промежуточный вариант.
вот такой страшненький корпус сварганил на скорую руку.
чур не смеяться - вместо кнопок всунул конденсаторы :) чудненько работают не по назначению:)
приведу немного скринов менюшки.
шим добавить.
Имхо.
ШИМом регулируется яркость подсветки экрана
а вообще меняем digitalWrite на analogWrite и все
в этом ардуино и прикольно.
В событиях таймера ШИМ тоже запланирован, можно менять по времени например яркость лед подсветки.
maxsdeluxe
17.03.2014, 23:07
Молодца.. давно хочу но никак не решусь на создание подобного... Какие подводные камни, ..?
Отправлено с моего MB886 через Tapatalk
Starcomputer
18.03.2014, 08:52
Все подводные камни таких систем в ПО.
Сама электроника уже отработана годами.
подводных камней почти нет
все достаточно просто
Могу выделить парочку нюансов
- часы реальноего времени с китайским кварцем у меня немного спешили - примерно пару минут в неделю.
- симистор для нагрузок больше 150Вт желательно ставить на радиатор(хоть маленький)
в остальном все работает сразу.
У меня нет СО2, по тому и не планировалось ничего особо умного,
получился хороший много функциональный таймер с точным термостатом за очень маленькие деньги.
Да и не забываем нужны минимальные навыки, если вы можете припаять проводок, то этот контроллер вам по силам собрать.
На ибей прикупил еще одну цацку 2.8" TFT с тачьскрином за 20 баксов
STM32F103RBT6(development board ) with 2.8" TFT-module
но тут нужно время вникать - это вам не ардуино STM32 за вечер не освоить. Как появится время реализую новую версию акваконтроллера
Starcomputer
18.03.2014, 10:58
все достаточно просто
Для функционала таймера + термостат ДА.
maxsdeluxe
18.03.2014, 22:05
Електрику по дому сделаю на раз-два, а вот со схемотехникой и електроникой на вы хоть и с маленькой буквы. В свое время программирование давалось легко - на курсовых и лаб.работах деньги зарабатывал. С и С++ знаю не понаслышке.. боюсь что со схемами не разберусь.. ( хоть читал пару статей, то всё вроде легко.
С чего подскажите начать? С какой платой связаться для максимального кол-ва реле для силовых нагрузок.
Отправлено с моего MB886 через Tapatalk
maxsdeluxe, Arduino для начинающих самое то.
Хрошо в нем то что аппаратная часть для простых задач практически все есть в готовых и недорогих модулях - спасибо китаю ;)
Вот например релейный модуль на 8 каналов с опторазвязкой чуть меньше 8 баксов!
http://www.ebay.com/itm/5V-8-Channel-Relay-Module-Board-Electronic-for-Arduino-AVR-PIC-MCU-DSP-ARM-ESY1-/141154189661?pt=LH_DefaultDomain_0&hash=item20dd72015d
для подключения его к модулю ардуино нужно всего 9 проводков ;)
Конечно платформа ардуино очень ограничивает реальные возможности микроконтроллера который в нем используется, но эта платформа значительно упрощает старт.
Для задач типа много таймеров, градусники, датчики влажности, освещенности все предельно просто.
Можно конечно и Ph прикрутить но там уже готовых модулей нет, нужны навыки, хотя и там все по силах ;) но то другая история.
Я пытался показать что за скромные деньги и небольшие усилия можно быстро собрать вполне неплохой акваа-контроллер.
Сейчас сей девайс управляет светом, нагревателем, куллером, фильтром и компресором в моем Аквасе.
Мне нравится.
Я пытался показать что за скромные деньги и небольшие усилия можно быстро собрать вполне неплохой акваа-контроллер.
Скромные деньги сьедает стоимость доставки.
Имхо.
ShAlex13
19.03.2014, 11:56
Я пытался показать что за скромные деньги и небольшие усилия можно быстро собрать вполне неплохой акваа-контроллер.
Сейчас сей девайс управляет светом, нагревателем, куллером, фильтром и компресором в моем Аквасе.
Мне нравится.
Ну есть варианты еще скромней и вполне для таких целей подходящие, вот например http://www.aquaforum.ua/showthread.php?t=92570&page=36 или вот http://www.aquaforum.ua/showthread.php?t=99896&page=3
Работают "как часики" собирал сам, авторам респект!
Скромные деньги сьедает стоимость доставки.
Имхо.
это с бесплатной доставкой!!!!
все товары что я заказывал с бесплатной доставкой!!!
ShAlex13, так тут никто и не спорит.
это как раз случай правильного применения контроллера.
Фактически промышленный образец.
Лично у меня есть в наличии и паяльная станция и программаторы, да и радиолюбительского опыта немного есть :)
Тема касается Ардуино и ни вкоем случае не выдвигается как альтернатива или еще как то.
Это сугубо хобби и каждый понимает его в своих рамках.
я уважаю решения коллег, их решения более технологичны.
Но не имея опыта мало кто сможет распаять смд комплектуху и уж темболее контроллер, а вытравить плату? (авторы молодцы когда заказывали платы на производстве, но это много работы).
Предлагаемый вариант можно собрать на макетке за вечер, что я и попытался показать. (хотя и Вами упомянутые проекты тоже можно за вечер собрать, даже с вытравливанием печатки дома, но тут уже нужен некоторый опыт).
Вообщем это конструктор не более, воспринимаем его как есть.
Если будут вопросы по существу буду отвечать, а выборы что лучше давайте оставим.
AlexVOK, сколько пинов осталось свободных?
maxsdeluxe
19.03.2014, 17:01
Спасибо автору, в более мирное время значит начну изучать...
Отправлено с моего MB886 через Tapatalk
прошивка - исходник в первом посте
схемку вечерком нарисую.
Sem, Серега, брось, братья из поднебесной зачастую шлют бесплатно.
AlexVOK, сколько пинов осталось свободных?
Из описания ардуинки
Цифровые Входы/Выходы
14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
свободных еще около 7 (не считал :) )
Могу показаться невежей, но под какую программу исходник и как их него сделать HEX.
Для ардуино есть програмка
среда разработки http://arduino.ru/Arduino_environment
Вот этой прогой и открываем исходник
Потом загружаем программу в контроллер.
Особенность для загрузки в прошивки ненужен програматор.
Ардуино содержит прошитый бутлоадер.
Достаточно иметь ком порт, я использовал USB To RS232 TTL Auto Converter Module Converter Adapter For Arduino стоит 1 доллар с доставкой.
http://www.ebay.com/itm/USB-To-RS232-TTL-Auto-Converter-Module-Converter-Adapter-For-Arduino-S9-T1K-/360767093672?pt=LH_DefaultDomain_2&hash=item53ff64fba8
maxsdeluxe
20.03.2014, 20:51
Всё покупали на eBay?
Отправлено с моего MB886 через Tapatalk
steals81
20.03.2014, 23:24
Сегодня просмотрел ссылки ТС , сумма за контроллер - ок. 150-160 грн.! Завтра/послезавтра буду заказывать!
Кому ещё надо - пишите, закажу несколько комплектов.
"Набито Тапком на 4-х ядреной Доске"
maxsdeluxe
21.03.2014, 06:40
Интерессно. Время от заказа до доставки ?
Отправлено с моего MB886 через Tapatalk
steals81
21.03.2014, 07:32
По личному опыту заказов: 2-4 недели при бесплатной доставке.
Набито Тапком на Моторе
все описанное выше правда.
Заказывал все на ebay, все товары с бесплатной доставкой
Все приходило в почтовый ящик в виде толстого конверта или пакета.
Время доставки как повезет 2-4 недели. переплачивать за ускоренную доставку смысла нет (подозреваю что половина времени это все на нашей таможне валяется).
Случая чтоб, что то потерялось у меня не было (от этого страхует пейпал).
На днях сделаю обновление ПО, добавлю таймер отключение подсветки ЖК дисплея, ночью освещает комнату ;)
если кому то будет в облом разбираться с софтом ардуино
Могу выложить свой сконфигурированый комплект, установка не требуется - переписал и запустил :)
steals81
21.03.2014, 13:42
...Время доставки как повезет 2-4 недели. переплачивать за ускоренную доставку смысла нет (подозреваю что половина времени это все на нашей таможне валяется).
Случая чтоб, что то потерялось у меня не было (от этого страхует пейпал).
Были у меня такие варианты.:)
Ехали 2 посылки с Англии, по трекномеру отслеживал каждую.
Первая с Лондона до Ровно доехала за 4 дня, с Ровно в Дубно (45 км) - 5 дней.
Вторая с Лондона до Ровно доехала за 2,5 дня, с Ровно в Дубно - 7 дней. :)
Кто хочет заказывать комплектуху - пишите в личку, жду до воскресенья и делаю заказ.
еще одна полезна вещичка
http://www.ebay.com/itm/10PCS-Breadboard-Universal-Printed-Circuit-Panel-Board-Prototype-PCB-5x7-hv2n-/300895870045?ssPageName=ADME:L:OU:US:3160
за 1,5 Бакса макетка - 10 шт.
именно такую я использовал.
Для всех желающий,
выложил свой комплект среды разработки ардуино вместе с необходимыми библиотеками
http://www.ex.ua/639155195352
На следующей неделе выложу обновленное ПО контроллера
(после проверки на своем аквасе)
Вроде всё уже заказал, кроме БП, ткните носом, какой точно подходит. А то читаю, люди на форумах разное пишут, кто-то берет на 6В, т.к. пяти мало. Я так понимаю, что для управления силой тока на драйверах со входным напряжением 220В мне нужно ставить димер после драйвера и потом управлять этим димером с контроллера, а вентилятор подключается к отдельному БП и к контроллеру через транзистор в разрыве по плюсу? Есть вообще способ уменьшить силу тока на стабилизированном по току драйвере?
Для всех желающий,
выложил свой комплект среды разработки ардуино вместе с необходимыми библиотеками
http://www.ex.ua/639155195352
На следующей неделе выложу обновленное ПО контроллера
(после проверки на своем аквасе)
Не успел скачать, прошло 7 дней, залейте еще раз пожалуйста.
dimul, в качестве блока питания я использовал зарядку от iPhon-а
подойдет любой источник питания на 5В ток там минимален 100-200 мА
залейте еще раз пожалуйста.
dimul, в качестве блока питания я использовал зарядку от iPhon-а
подойдет любой источник питания на 5В ток там минимален 100-200 мА
Спасибо, уже выциганил у сотрудника 2 неработающие зарядки под нокию 6610, одна 5,7В 800мА, вторая вообще интересная 5,5-13В 450мА.
Вопрос по управлению мощностью диодов на подобных (http://www.dhgate.com/product/20w-led-light-driver-waterproof-ip67-power/134008039.html) драйверах остается открытым.
Valento,
http://www.ex.ua/112597973760
dimul, управление диодами можно сделать на подобии управления кулером.
т.е. через мощный полевечек.
у самого валяется 10 Вт-ные светики штучек 6
как только найду время добавлю и отчитаюсь.
Пока только в виде консультаций.
dimul, управление диодами можно сделать на подобии управления кулером.
т.е. через мощный полевечек.
у самого валяется 10 Вт-ные светики штучек 6
как только найду время добавлю и отчитаюсь.
Пока только в виде консультаций.
Спасибо, обнадёжили. Буду изучать вопрос по приходу Ардуино, а то очень трудно лезть в теорию не имея никаких знаний в этой области. Вчера закал не слабый наборчик с ТаоБао, там дополнительные драйвера и светодиоды. Приедет всё это добро + Ардуино и буду заниматься, тем более что в июле отпуск - будет возможность довести всё до ума.
тюнинг
Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module
Модуль который мне попался довольно прилично спешил (на 1-2 мин в сутки).
Оказалось у китайцев видать галимые кварцы.
Заменил кварц на выпаяный из старой материнки и часики пошли как надо секунда в секунду!
Может мне попался брак - но если что имейте в виду способ решения проблемки.
Комплект ИДЕ доступен
http://my.call-centre.pp.ua/aqua/arduino-IDE.rar
тюнинг
Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module
Модуль который мне попался довольно прилично спешил (на 1-2 мин в сутки).
Оказалось у китайцев видать галимые кварцы.
Заменил кварц на выпаяный из старой материнки и часики пошли как надо секунда в секунду!
Может мне попался брак - но если что имейте в виду способ решения проблемки.
Я уже мысленно готовлюсь к этому, люди даже в наручных китайских часах кварцы перепаивают, не думаю что у Вас брак, скорее кому-то везёт если всё ОК.
Китайцы ставят кварцы отвратного качества, + кварц боится ударов, + боится перегрева, по совокупности факторов попадаются изделия ужасной точности. На мамках как правило стоят хорошие кварцы, но паять/выпаивать нужно аккуратно дабы не перегреть.
А еще лучше заменить на наши, они работают замечательно, как объяснил торговец на рынке, китайские больше работают не как задающие генераторы, а как фильтры готовой частоты. Конечно размеры побольше, но они надежнее.
http://mk90.ru/store/351-large/kvarts-16-mgts.jpg http://mk90.ru/store/353-large/kvarts-16-mgts.jpg
мой опыт с кварцом из матери получился успешным.
Уже неделю часы идут точно.
(мне проще было выпаять из хлама, чем ехать на базар ради кварца)
у кого нет доноров то наверное выгодней брать совковые.
Артур Дент
12.05.2014, 08:18
Заказывая набор на контроллер, наткнулся на LCD модуль 16X2 (http://www.ebay.com/itm/1602-LCD-Board-Keypad-Shield-Blue-Backlight-For-Arduino-LCD-Duemilanove-Robot-/170928504704?pt=LH_DefaultDomain_0&hash=item27cc21ff80) с подсветкой и кнопками управления. Что скажешь? Сможем прикрутить?
Артур Дент, прикрутить можно и на 4 строки, вот только программу нужно переписывать
Артур Дент
12.05.2014, 09:46
Артур Дент, прикрутить можно и на 4 строки, вот только программу нужно переписывать
Под словом "прикрутить" я и имел ввиду переписать программу :)
Заказывая набор на контроллер, наткнулся на LCD модуль 16X2 (http://www.ebay.com/itm/1602-LCD-Board-Keypad-Shield-Blue-Backlight-For-Arduino-LCD-Duemilanove-Robot-/170928504704?pt=LH_DefaultDomain_0&hash=item27cc21ff80) с подсветкой и кнопками управления. Что скажешь? Сможем прикрутить?
к сожалению, это полностью меняет концепцию устройства
все меню изменяются
способ навигации меняется.
это будет абсолютно другое ПО от старого можно будет использовать 10-20% кода
Если нет желания переписывать, то используйте совместимое железо.
Если есть желание разобраться в программировании под ардуино
то все возможно
Корректирую план развития
Вчера купил баллон СО2.
(управление будет только по таймеру, БЕЗ электродов)
а смысл, запаралелить со светом да и все, зачем отдельный канал
для такого устройства как вариант задействовать каналы
1 свет (таймер)
2 нагрев (DS18B20)
3 охлаждение с ШИМом (DS18B20)
4 удобрения (таймер желательно с долями секунд)
5 углекислота ( по показаниям электрода)
6 фильтр с возможностью быстрого отключения при кормлении и дальнейшим пуском через определенное время
а смысл, запаралелить со светом да и все, зачем отдельный канал
Может я не прав, но отдельно для того чтоб
1 начать подачу СО2 раньше чем включу свет (например за 20-30 мин)
2 прекратить подачу до выключения света
По поводу дозатора УДО будет понятно
после его покупки либо изготовления
Есть идея сделать дозатор УДО из старого привода СД-РОМ
использовать механизм выдвижения диска :) (если хватит силы у моторчика) идея не проверена!!
можно и так, но на практике мало кто применяет, все равно насышение не контролируется, а быстро насытить и потом насыщать по потребности без контроля Рн не получится
оптимальное описал выше, остальные причуды от лукавого или контроллер уже другого класса
klimnet,
Использование PH электродов меня отталкивает их цена и самое главное их не долговечность
Да и срок использования заранее не определен
Если у вас есть опыт их использования поделитесь плз..
у меня уже год отработал, брал за 8$ в китае, на форуме есть статья по уходу http://www.aquaforum.ua/showthread.php?t=126773
средний срок службы около 2-2,5 года
средний срок службы около 2-2,5 года Это как повезет, у меня один электрод сдох сразу, после двух месяцев эксплуатации сдох (так и не смог откалибровать повторно). Второй работает уже второй год, вроде ниче работает...
ну электроды это расходный материал, это не датчик температуры, даже порой и датчики температуры летят
тут уж как повезет
steals81
13.05.2014, 13:49
ну электроды это расходный материал...
Не дешовый такой себе "расходничек". :(
У самого уже больше полугода лежит готовый рН-контроллер, все никак не куплю электрода.
ну если так считать, то лучше вообще за это дело не браться, а делать по старинке, 25 лет назад я о таком не знал и не мечтал, а росло и множилось в аквариуме не хуже чем сейчас
steals81
14.05.2014, 11:46
Нужна помощь!
При загрузке скетча ругается:
"...
#define LED_LIGHT_PIN 9
LCD5110 myGLCD(8,7,6,4,5);
extern uint8_t SmallFont[];
extern uint8_t BigNumbers[];
//extern unsigned char TinyFont[];
byte ledContrast = 65;
byte ledLight = 220;
..."
В чем причина?
steals81,
ругается скорее всего на отсутствие библиотеки для LCD5110
Вы используете среду, ту что я выкладывал? (в ней есть все библиотеки)
Если хотите могу выложить отдельно библиотеки (Добавил в шапку)
steals81
14.05.2014, 20:12
В Ардуино, пока что, полный "0". Со временем конечно "раздуплюсь", освоюсь.
если можно распишите (по возможности пошагово) весь процесс заливки скетча.
Набито Тапком на Моторе
steals81, Там достаточно просто
вот небольшая дока с картинками :)
Сегодня заказал
http://www.ebay.com/itm/New-6V-Dosing-Pump-Peristaltic-Dosing-Head-DIY-For-Aquarium-Lab-Analytical-Water-/261244979441?pt=LH_DefaultDomain_0&hash=item3cd36a08f1
3 пересталических помпы - будет акваконтроллер еще и УДО дозировать :)
парочка видео уроков
https://www.youtube.com/watch?v=zqisj_bDszM
https://www.youtube.com/watch?v=_VCluckU_AA
AlexVOK, по той же цене ( ну может чуть дороже) можно взять помпы ULKA, мне кажется что это лучший вариант чем перельстатика
проблема перельстатических помп в износе шлангов
и к тому же ulka на 220в, то есть меньше мудрить
вот пример применения помп http://www.aquaforum.ua/showthread.php?t=121870
на украине заказать http://antares-world.com/catalog/nasos-pompa-ulka-ep5ex5 а на сландо еще дешевле нашел
klimnet,
Спасибо за помощь,
в моем случае заказ уже оплачен по тому буду делать на пересталике.
Да и по обвязке все таки проще - 5В планирую просто через транзистор и защитный диод подключить и все.
220В стараюсь обходить стороной :) (особенно в таких девайсах с водой, это мои личные забобоны :))
Отчитаюсь по установке системы СО2 с проточным атомайзером.
Работает супер - растючка пузырит!!
Пока подаю 1,5 булька в сек.
AlexVOK, ну понятно что заказ уже оплачен и наверно уже в пути, это я для других и на будущее
с 220 опасности как раз не вижу, почти все оборудование на 220, а вот универсальность каналов появляется, на 6 каналов сразу все навесить не получится, а так появляется выбор
для удобрений желательно иметь 2 канала, т.к. микро и макро одновременно лить не желательно, там что то с чем то реагирует, сильно не объясню, лучше на форуме поискать почему
Denisios
27.05.2014, 18:15
Начал собирать свой контролер, почти все комплектующие приехали. Скажите пожалуйста какой мощьности нужно купить резисторы, или это роли не играет? И как подключать ком порт (который рекомендовал автор) к ардуино?
steals81
27.05.2014, 20:16
1. Резисторы поменьше, там мощность незачем. Я вообще думал ставить SMD, но нет времени искать.
2. На "Порту" и на плате ищите надписи. Там 2 сигнальных, корпус и питание 5В. Спаиваете проводами (как вариант).
Набито Тапком на Моторе
Denisios, резисторы любые
я вообще использовал SMD, вы можете брать самые обычные
с ком портом все просто
только местами проводки RX и TX поменяйте между ардуино и юсб - ком преобразователем
В классический COM порт не включать нужны TTL уровни
Я использовал USB To RS232 TTL Auto Converter Module Converter Adapter For Arduino
http://www.ebay.com/itm/USB-To-RS232-TTL-Auto-Converter-Module-Converter-Adapter-For-Arduino-S9-hv2n-/301019253456?pt=LH_DefaultDomain_2&hash=item4616254ad0
Есть новая версия прошивки
Жду когда приедут пересталические помпы - протестирую и выложу
Так же в прошивке уже есть доп канал для управления електроклапаном СО2.
Возможно появится еще и LED но пока у меня нет подходящего радиатора для моих светиков
Denisios
27.05.2014, 21:26
Я использовал USB To RS232 TTL Auto Converter Module Converter Adapter For Arduino
http://www.ebay.com/itm/USB-To-RS232-TTL-Auto-Converter-Module-Converter-Adapter-For-Arduino-S9-hv2n-/301019253456?pt=LH_DefaultDomain_2&hash=item4616254ad0
Я такую же приблуду и приобрел, как ее подключать? Скажите пожалуйста, а планируете ли вы еще добавить автодолив воды в свой контроллер?
Denisios, подключаем землю питание(по желанию, контроллер может и от юсб работать пока все настраиваете) и линии
адаптер - ардуино
RX - TX
TX - RX
в планах протока, уже приехал електроклапан для осмоса -
хочу использовать его для аварийного отключения подачи воды
Протоку планирую делать отдельным модулем без контроллеров
чтоб было максимально надежно
ленивая протока + доп защита в виде нормально закрытого ел.клапана на подачу и простого датчика превышения уровня
В качестве датчика пока не знаю что использовать, есть мысль сверху на ребро жесткости приклеить два электрода + пара транзисторов и все.
Если вода подымется выше ребра, електроды намокнут и сработает защитный ел.клапан.
Слив с помощью перелива хитрого.
Готов выслушать критику и предложения.
пока протока в планах, думаю летом заняться.
M.I.R.A.G.E
30.05.2014, 16:31
с горем пополам разобрался как загружать , загрузил скетч - получил подсвеченный черный экран , сколько дома не перезагружал ничего не получил , отнес на работу и там под хорошим светом увидел что все таки на дисплее есть надписи , под большим углом с трудом просматривалось меню , нашел регулировку контрастности и опустил её до 45 , уже стало хоть что то видно , залез в скетч и снизил регулировку контрастности до 25 , ( при 25 уже ничего не видно а вот при 35 все отлично ) ( дисплей на синей плате )
с дисплеем разобрался , теперь непонятно как выставить текущее время и почему то идет время не часы/минуты а минуты/секунды или это настолько кривые китайские часы или что то не то + температуру не показывает
пока читаю матчасть
Спасибо за пример !
с LCD дисплеями видать зависит от экземпляра.
по воду часов как то совсем странно
скорее всего что то с часами программно ошибиться там сложно
первоначально для устаноки даты времени можете раскоментировать 3 строки
rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY
rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
rtc.setDate(3, 10, 2010); // Set the date to October 3th, 2010
залить скетчь
потом опять закоментировать и опять залить
по датчику температуры - проверьте подтягивающий резистор, возможно нужно подобрать номинал.
подключали как у меня или как то по другому?
Пока я, с угасающей надеждой, жду безтрековые посылки из с Ибэя, решил поделиться одной мыслью. Я очень боюсь затопить соседей и думаю, что надо минимизировать подобные риски. От протечки аквариума нас вряд ли что-то спасет, а вот от протечки такой ненадежной штуки как внешник, думаю, можно перестраховаться. Обнаружить протечку ардуине очень просто, а вот перекрыть воду сложнее. Моё внимание привлекли такие (http://www.ebay.com/itm/DC-12V-3-4-Electric-Solenoid-Valve-Normally-Closed-N-C-Water-Inlet-Flow-Switch-/281202964026?pt=LH_DefaultDomain_0&hash=item417900b63a) клапаны, правда это нормальнозакрытые, но думаю можно поговорить с продавцом на этот счет. Нам надо 2 таких клапана - на вход и на выход.
Что думаете об этом?
steals81
03.06.2014, 10:14
Идея хороша и полезна.
У самого были ситуации с про те ч кой внешника, вовремя заметил.
Набито Тапком на Моторе
dimul, клапана сильно будут мешать току воды, да и от улитки которая может его заблокировать никто не застрахован + нарастания водорослей, у меня на контроллере "Юсупова" данная возможность так и не подключена была
внешник если и протекает, то очень медленно, я свой устанавливаю просто в несколько супермаркетовских пакетов, и если просочится не страшно, и когда отсоединяешь патрубки брызги в пакет попадают, а не на ламинат
Denisios
03.06.2014, 13:00
Блин, а у меня возникла проблема со сборкой. Подключил, случайно, не правильно мозги и из них пошел голубой дым, так обидно как раз все комплектующие приехали. Придется еще 20 дней ждать новую ардуино(((
P.S. Почему то с ибея безтрековые посылки приезжают быстрее чем с треком с али.
Denisios, напишите что куда подключили
попробуем понять что могло выжить
M.I.R.A.G.E
03.06.2014, 22:43
Denisios, будет проще и быстрей найти что выгорело и купить по месту ( хоть микросхему , хоть что другое ) самое ценное это печатная плата
Denisios
03.06.2014, 23:37
Denisios, напишите что куда подключили
попробуем понять что могло выжить
Подключил вот так.
ардуино - адаптер
TX - GND
RX - 5.0V
VCC - TX
GND - RX
Подскажите, подойдет ли вот такая штуковина (http://www.ebay.com/itm/Crius-FTDI-Basic-Breakout-Arduino-USB-TTL-6-PIN-3-3-5V-for-MWC-MultiWii-SE-Lite-/261257831024?pt=US_Radio_Control_Control_Line&hash=item3cd42e2270) для заливки скетча?
Denisios,
в случае такого подключения в опасности 2 блока
99% подох сам микроконтроллер и возможно блок питания
блок питания просто проверить замерить напряжение если 5В - все ок.
По ардуино нужно перепаять ATMEGA328, без опыта сделать это нереально, желательно иметь паяльную станцию. после замены ATMEGA328 нужно будет прошить.
Хотя при цене ATMEGA328 - около 50 грн наверное проще заказать ардуинку на ибей :)
Denisios, проще и дешевле новую заказать, а по штуковине для прошивки - немного не то пальто, похожа, но не оно , вот тема о программаторе http://www.aquaforum.ua/showpost.php?p=2811845&postcount=5016
Denisios
04.06.2014, 16:32
Хотя при цене ATMEGA328 - около 50 грн наверное проще заказать ардуинку на ибей :)
Так и сделал, заказал в середине июня должна прийти, а старую плату выкинул.
по штуковине для прошивки - немного не то пальто, похожа, но не оно
По этой приблуде спрашивал, так как такая есть для прошивки мозгов коптера. Вот и было интересно, может подойдет.
По этой приблуде спрашивал, так как такая есть для прошивки мозгов коптера. Вот и было интересно, может подойдет.
для прошивки ардуино пойдет, берутся выходы Rx и Tx, а для прошивки атмеги нет, там схема совершенно другая, я же не просто так написал, а сравнил схемы
и еще , не стоит она своих денег, ее себестоимость порядка 50грн
вот тоже самое только вдвое дешевле http://www.ebay.com/itm/FT232RL-FTDI-3-3V-5-5V-USB-to-TTL-Serial-Adapter-Module-for-Arduino-Mini-Port-/171337465304?pt=LH_DefaultDomain_0&hash=item27e4823dd8
dimul, клапана сильно будут мешать току воды, да и от улитки которая может его заблокировать никто не застрахован + нарастания водорослей, у меня на контроллере "Юсупова" данная возможность так и не подключена была
внешник если и протекает, то очень медленно, я свой устанавливаю просто в несколько супермаркетовских пакетов, и если просочится не страшно, и когда отсоединяешь патрубки брызги в пакет попадают, а не на ламинат
Так клапан не спроста на три четверти, трубки фильтра всяко меньше будут. Улитка будет проблемой и без клапана, да и трубки обрастают не меньше, так что это опять комплексная проблема.
Я тоже могу пакет поставить или поддон склеить, но хотелось бы иметь больше уверенности. Проконтролировать при запуске я могу, но не раз слышал, что начинает течь при отключениях электричества.
не раз слышал, что начинает течь при отключениях электричества.
именно так, потому как при работе у фильтра отрицательное давление, а при отключении давление воды из аквариума. Как вариант можно просто завоздушивать магистраль забора и выброса, в таком случае прольется вода находящаяся в трубках, ну а если уж сильно боитесь - делайте систему САМПа, там принцип непроливайки
Подскажите по схеме подключения вентилятора.
Не нашел пока описываемый транзистор, но у меня есть следующие:
IRFS 630B (http://www.sm0vpo.com/_pdf/IR/IRF630B.pdf)
IRFS 640A (http://pdf1.alldatasheet.com/datasheet-pdf/view/151926/FAIRCHILD/IRFS640A.html)
TIP 30C (http://www.fairchildsemi.com/ds/TI/TIP30A.pdf)
K 2761 (http://www.alldatasheet.com/datasheet-pdf/pdf/60953/FUJI/2SK2761-01MR.html)
Какой из них можно использовать и какими параметрами это определяется? Как мне потом рассчитать резистор в этой схеме, для чего он вообще?
Я правильно понял, это диод подключен перед вентилятором? Чтоб он не мог подать напряжение на БП после отключения, крутясь по инерции?
Я понимаю, вопросы кажутся глупыми, но теории очень много и не понятно что в какой ситуации применять.
dimul,
по идее оба IRF подходят, они оба N-канальные
Да и запас по току на порядок :) хватит на все
dimul, в этой ветке объяснял http://www.aquaforum.ua/showthread.php?t=34275&page=337
Спасибо, почитал. Правда сам наверно сделаю через реле, всё равно восьми канальное взял.
Подскажите пожалуйста как бестолковому в ардуино:
- каким образом к данной ардуине подключить 8ми канальную силовую плату, судя по вашей схеме, она подключается к цифровым выходам, а их свободных не осталось или
я не прав?
- как можно добавить в данный вариант управление лед подсветкой рассвет/закат, то что надо править ПО, это понятно, как физически? если не трудно нарисовать схему подключения ШИМ к плате и какой использовать. Заранее благодарен!
diem, никак, все выходы заняты
аналоговые 4шт заняты реле, но если немного доработать и поставить декодер, то хоть 16 можно повесить, но это полностью программу переписывать
на ШИМ тоже свободных цифровых нет
Придется еще 20 дней ждать новую ардуино((( Если что у меня есть одна платка на 328 камне про запас, если интересно, пишите в личку.
klimnet, ок, а если использовать Arduino Micro, на ней другой контролер стоит ,но там судя из описания
- цифровых входы/выходы: 20
- каналов ШИМ (PWM): 7
- входов с АЦП (аналоговых входов): 10
насколько сильно придется переписывать софт?
diem, замутить можно все что угодно,
кто вам софт будет писать?
klimnet, ну вот я и спрашиваю, насколько сильно придется переписывать, заведется ли тот функционал что уже реализован на этой плате или нужно полностью переписывать снуля
то что уже есть заведется, а вот новое дописать это уже новый проект
соберите "Юсупова" там уже все это есть
с "Юсуповским", если я правильно помню, нужно змарачиваться с травлением платы, пайкой, прошивкой...., с ардуиной как-то проще, я немного про нее читал, есть кой какая среда разработки, т.е. в перспективе можно попробовать свои силы и реализовать доп. функционал.
Denisios
20.06.2014, 15:05
Если что у меня есть одна платка на 328 камне про запас, если интересно, пишите в личку.
Спасибо, но мне ардуина пришла неделю назад. Теперь вот собираю.
diem, соберите контроллер для аквариума на ардуино мега, там ничего паять не нужно, только купить и прошить. Есть два варианта, контроллер от америкаца под названием jarduino (http://www.aqualogo.ru/phpbb2/topic/29878-diy-6-kanalnii-kontroller-led-c-tach-panelju-32/page__st__2300) или контроллер с данного форума (http://www.aquaforum.ua/showthread.php?t=157368).
diem, соберите контроллер для аквариума на ардуино мега, там ничего паять не нужно, только купить и прошить. Есть два варианта, контроллер от америкаца под названием jarduino или контроллер с данного форума.
и это верно, ему просто искать не охота было
вот еще простенький, если вдруг кому http://www.aqa.ru/forum/prostenkiy-akvakontroller-na-ARDUINO-195760-page1
Denisios, Дело не в паять, с паяльником дружу с детства, дело в травлении платы (красиво и точно боюсь не получиться), программаторе для контролера.... в ардуине это уже решено.
klimnet, с "ему просто искать не охота было" вы не правы, тему листал, смотрел разные варианты, этот мне показался очень интересным, в плане функционал - заморочливость - цена -, но на перспективу я поинтересовался у сведущих можно ли расширить этот функционал, вот и все.
ЗЫЖ Спасибо за ссылку, посмотрю.
diem, ок мир и дружба code33, хотя мы и не ссорились
все дело в том что для расширения возможностей нужно менять платформу ардуино, а это уже удорожание в готовом изделии, потом захочется еще и РН с OPR и управление мощными светодиодами
так что либо скупо и дешево, либо дорого и все сразу
да еще если захочется, то с платой могу помочь, но это уже в личку, чтобы здесь не флудить
klimnet,
МИР! :)
скажем так, удорожание в пределах морали не пугает, на данный момент имеем баночку 30л. комплектную 2х ламповым светильником, интересует вкл/выкл ламп в нужное время т.е. блок реле, но позжее хочеться перевести все на ЛЕД с рассветами/закатами, посмотрел на контроллеры от гуру и брендов, вопросов нет, решения очень красивые и функциональные но ЦЕНА!
Вот и задумался, а может попробовать... цена на ардуину + помелочи смешная,если не получиться и хрен с ним, а опыт не пропьешь :)
diem, если ЛЭД многоканальный, то можно на еще одной такой же ардуино сделать, жестко забить настройки каналов и забыть, все равно потом в настройки после недели игры не лазишь, можно вообще просто димеры поставить
а если на лентах или 1-2 спектрах мощных СД (теплый и холодный), а так наверное и собираетесь, то я бы вообще не заморачивался, через неделю-две вообще уже не замечаешь, для пресняка эти эффекты вообще пофиг
я бы деньги потратил на больший объем
По поводу свободных линий
Мучаю свой ардуино акваконтроллер у меня 14 выводов используется (не считая индикатора)
10 куллер
11 ЛЕД
А0 1W
12 Filter
13 Heater
1 СО2
0 О2
А1 Свет1
А2 Свет2
А3 Пересталическая помпа 1
А4 Пересталическая помпа 2
А5 Пересталическая помпа 3
А6
В текущий момент переделал силовую часть - теперь 6 симисторов.
в качестве блока питания - старый ненужный ATX БП
от дежурки запитываться контроллер + кулер охлаждения банки.
Основную часть БП переделал на пониженое напряжение для питания 10Вт светодиодов.
Прошу без флейма - как запитывать LED я вкурсе :)
Тем немение такой подход использовать светики на пониженом напряжении - как следствие токе.
Хочу попробовать подключить вывод ардуинки для управления ШИМ контроллером БП - тогда можно будет рассветы и закаты устраивать
Как закончу выложу новую схему и прошивку.
Выводы - на этой малютке вполне можно сделать комплексный АкваКонтроллер светом нагрузками УДО ...
steals81
30.06.2014, 15:36
С 10-ваттниками "закаты" не получатся, там другой принцип построения СД и, соответственно, и работы тоже.
steals81, а подробней можно?
подключив светик к регулируемому БП вполне можно менять яркость
не от 0 конечно
Можно конечно и полевичек поставить и ШИМ использовать
хотел избавится от мерцания - хотя его и невидно но оно есть :)
Кстати кто то пробовал IRLZ44 без драйвера на ток 3-4А под ШИМ ганять - это реально?
У ардуино ШИМ 490 Гц - достаточно ли для работы без моргания?
steals81
30.06.2014, 20:30
В том то и проблема что не от "0".
10-ваттники, если мы говорим о китайских (да и Кри в том числе), сделаны по технологии "наборной" матрицы: набор мелких СД с последовательно-параллельным подключением. Для "розжига" (запуска) такой матрицы нужны определенные условия (ток и вольтаж). Из-за этого "нормальный" цикл "рассвет/закат" и не получается, они или нормально светят или моргают.
Если получится "замудрить" - сообщите, у меня (да и пары/тройки других "энтузиастов") не получилось. Я понял это на уровне теории, проверил на практике, другие не сильно верили но проверили - не ошибся. ;)
тогда попробую такой драйвер
http://s53.radikal.ru/i141/0811/b4/1db323b78374t.jpg
steals81
01.07.2014, 13:05
Чето мне напоминает (когда-то в институте вроде показывали чето похожее) обычный тригер. Тригер- это "ключ" но никак не драйвер.
малыш подрос
теперь малыш управляет 12 нагрузками
Так что все возможно (заюзал даже линии программирования для управления нагрузками)
Добавил 3 пересталических помпы для подачи УДО
Заложил управление Блоком питания АТХ и ШИМ управление 10Вт светодиодами
Будет теперь и у меня рассвет и закат :)
Вообщем за минимальные деньги получился такой себе комбайн.
Если у кого то будет интерес повторить - выложу все что нужно
хотя схемку облом рисовать :) все строится по ходу работы
По поводу часов и кварца
Замена кварца значительно уменьшила отставание но неточность осталась
Добавил в программный код модуль коррекции хода часов
который ночью корректирует показания
Пока все вроди точно вышло
Так что теперь можно не менять кварц, а вписать константу суточной коррекции и все будет ОК
steals81
06.07.2014, 22:12
Пора бы и "обновку" выложить, пож-та. ;)
ПО еще в работе
еще не проверил работу ЛЕД и УДО
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
посмотрю на досуге )
мож че и скажу.code45
AlexVOK, вы в шапке темы откорректируйте что уже есть и какие выходы задействованы, тогда будет понятно что еще можно прицепить
AlexVOK, если я не ошибаюсь, когда-то, в одном из архивов лежала ПНЖшка схемы подключения, а теперь исчезла, можно вернуть, а то по той картинке что в шапке ну ничего не видно.
Спасибо!
diem, в шапке aqua_controll_PNG.zip
сейчас времени совсем нет, хотел нормальную схемку на рисовать
пока смотрите на рисунке
И в начале исходника скетча, описано какие нагрузки на какие выводы подключаются (можно менять под себя, только акуратно с ШИМ не на всех выводах он поддерживается)
Решил тоже такое собрать. Подкупила разумная простота (без всяких UNO/MEGA и громадных цветных сенсорных экранов) и возможность влезть в код.
С первого взгляда: на рисунке надо поменять местами выводы управления вентилятором и термодатчиком
10 - вентилятор
A0 - 1Wire (DS18B20)
И вопрос: Дисплей вроде от 3.3V питается. А ардуинка у вас 5V.
Случайно не надо резисторы на выводы дисплея поставить, или они нормально к 5 вольтам относятся?
AlexNT, Дисплей отлично работает от 5В , резистор есть на плате дисплея
По поводу рисунка, Вы абсолютно правы
постараюсь сделать полноценную схемку на след неделе.
Все комутации видны по исходнику.
Вот и ко мне доехал паяльник и прочие мелочи, вот и дошли руки до контроллера. Спаял, залил скетч, включил и... не этого я ожидал - светодиод L мерцает с высокой частотой, так же как и четыре светодиода по периметру экрана, на нажатие любой из кнопок экран реагирует увеличением яркости светодиодов и прекращением их мигания, на ардуине же в этот момент яркость светодиодов снижается.
Может кому-то знакомы эти симптомы, подскажите куда копать.
dimul, как вариант проверь, что "клавиатура" подключена к выводу А7 ардуинки, да и всю остальную схему проверь. Ну и коррекцию схемы в сообщении 128 учти
dimul, Симптомы знакомые :)
Судя по описанным симптомам все работает (по поводу L светодиода непонятно).
проблемка в константе контрастности
видать для разных экранов она разная
Вложил текущий релиз своего скетча.
обратите внимание на строки
ledContrast = EEPROM.read(0);
// первичная установка контраста - иначе при первом запуске нихрена невидно
if ((ledContrast==0)||(ledContrast==255)){
ledContrast = 65;
}
можно временно после этого кусочка
вставить жесткое присвоение
ledContrast = 65; -- подбирать рядом около 70
возможны варианты от ничего невидно до весь экран черным залит
Когда будет хоть чуть чуть видно меню,
в системном меню настроите контраст с помощью меню
и уберете жесткое присвоение, ну можно и константу по умолчанию заменить на ту которая будет в меню
По поводу изменения яркости подсветки экрана
изначально яркость минимальная - типа показывает часы (чтоб ночью всю комнату не освещала).
при нажатии любой кнопки появляется меню и рабочая яркость.
яркость можно настраивать через меню
В первый раз взялся помучать ардуинку – и сразу куча граблей.
Залил оригинальный скетч. Вместо часов\минут отображаются минуты\секунды (кто-то вроде с таким тоже столкнулся) Где-то прочитал, что кривая библиотека 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:on ";
else
StrLed = StrLed + "L1:off ";
if(light2)
StrLed = StrLed + "L2:on ";
else
StrLed = StrLed + "L2:off";
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 Да, при первом же ресете часики снова скатились на минуты\секунды
Ха-ха, в предыдущем посте вместо рожиц должно стоять “: 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,
у меня версия 1.5.2
в 44 посте есть ссылка на полный архив моей среды вместе с библиотеками
попробуйте.
у меня с часами все ок
Сами шрифты хорошо экономят память, остальной функционал мизер.
Если полностью переписать скетчь - можно процентов 30-40 выиграть, но это полная переработка.
по поводу остальных вопросов. Выкладывайте полностью скетч, попробую глянуть.
Denisios
12.08.2014, 18:50
Здравствуйте, подскажите пожалуйста, у меня что то странное происходит, посл подключения питания на дисплее все начинает переключатся и хаотично заходить в пункты меню и что то настраивать. Пробовал отключить клавиатуру - не помогло. Пробовал просто к плате подключить питание и диспле, проблема не исчезла. Если кто знает, подскажите в чем может быть проблема???
Denisios,
вот маленький тестовый скетчь для проверки клавы.
суть ее показать значение АЦП для каждой из кнопок
я ее использовал для задания параметров в коде
//Интерпретируем полученное значение и определяем код нажатой клавиши
if (KeyValue2 > 900)
{KeyNum = BUTTON_NONE;}
else if (KeyValue2 > 450)
{KeyNum = BUTTON_CANCEL;}
else if (KeyValue2 > 250)
{KeyNum = BUTTON_UP;}
else if (KeyValue2 > 100)
{KeyNum = BUTTON_DOWN;}
else {KeyNum = BUTTON_OK;}
если значения будут сильно прыгать - значит с подключение что то не то
попробуйте вывод #define Key_PIN 7 замкнуть на землю например
А можно тупой вопрос? (это мой первый проект на ардуинке)
Почему #define Key_PIN 7 определяется средой как A7 (и реально при этом работает) ?
А как тогда цифровой пин 7 определить?
И при этом
#define EXT_POWER_ON_PIN 20 Это А6
#define EXT_UDO_MICRO_PIN 17 Это А3
#define EXT_UDO_MACRO_PIN 18 Это А4
#define EXT_UDO_Fe_PIN 19 Это А5
Или я что-то с распиновкой путаю? Нагрузки пока не подключал так что выходы не проверял.
Обновил шапку, нарисовал схемку
Надеюсь со схемкой станет все понятней.
AlexNT,
#define Key_PIN 7
директива "#define" означает, что компилятор везде в тексте проги
просто заменит слово "Key_PIN" на "7"
и не более, что там написано уже определяется в месте использования.
Т.е. строка кода
KeyValue1=analogRead(Key_PIN);
эквивалентна
KeyValue1=analogRead(7);
"analogRead" - собственно и указывает на аналоговый вывод А7
"#define" - Используется сугубо для удобства программирования.
Что такое #define я знаю. Просто в скачанной распиновке они несколько по другому обозначались. Сейчас прочитал референс с arduino.cc. Осознал различные варианты описания пинов. Кстати, в качестве аппаратного I2C используются A4 и A5. Надо будет попробовать задействовать именно их. Может это решит проблему с часами. К тому-же на моей версии ардуинки на самой плате предусмотрены места для подтягивающих резисторов.
AlexNT,
"качестве аппаратного I2C используются A4 и A5"
это не для ардуинки,
(ардуинка туповата в этом плане, сори - упрощенна)
Библиотека часов не использует аппаратных возможностей.
С случае чистого Си под AVR тогда там все по другому.
Хотя, пробуй. Поделись результатом.
AlexVOK,
Попробовал. Ниче так получилось. Часы пока стабильно идут. Хотя это еще ни о чем не говорит. Со старой библиотекой они тоже иногда вдруг нормально шли...
Что сделал:
1) Перевел I2C шину на A4 A5.
2) Использовал комплект библиотек Time и DS1307RTC с
playground.arduino.cc/Code/Time
Они используют встроенную библиотеку Wire (она располагается в arduino-1.5.7\hardware\arduino\avr\libraries\Wire\ ) и я так понимаю она должна использовать аппаратные возможности I2C ??? Во всяком случае другие пины она даже не спрашивает.
Правда для DS1307 там всего 3 функции:
RTC.read(tm); RTC.write(tm); RTC.chipPresent(); т.е читается и пишется сразу все от секунд до года. Вот и думаю что лучше - напсать доп библиотеку чтобы отдельно работать с часами и датами или реализовать это в программе.
P.S. Кстати, в новых версиях IDE (у меня 1.5.7) поменяли компилятор и некоторые библиотеки надо слегка изменять.
Обновил схемку.
Расскажу о своей задумке - реализации.
В качестве БП, я использую ATX блок питания от компа.
БП слегка доработан, ардуинка и кулер питаются от дижурки, а вот силовая часть задействуеттся для питания светодиодных модулей по 4х10 Вт и пересталических помп.
Доработка БП заключалась в понижении выходного напряжения 12В до необходимых мне 9,5 В (для запитки светиков в щадящем режиме и чтоб избавится от драйвера).
Собственно Ардуинка и управляет входом PS ON и дальше шимом реализуется восход и закат.
Таким образом, опять за 3 копейки у меня есть добротный блок питания два в одном.
В моем случае один канал управления светиком (+ два канала по две специализированные лампы Т5 для травника),
кому нужно больше, добавляйте сколько нужно полевичьков/каналов - например пожертвовав дозатором УДО (плюс пару перестановок)и будет чистый ЛЕД свет
Или еще проще ставите нормальные управляемые ЛЕД драйвера, тогда даже доп элементов ненужно кроме одного резистора
AlexNT,
это мой первый и точно последний проект на ардуино
(лично мое, хотя для начинающий лучше платформы думаю нет)
так что я его закончу на существующем у меня наборе библиотек и версии ИДЕ
уже не один месяц все работает в автопилоте - меня устраивает
AlexVOK
Новая платформа или просто реализовал что хотел?
Идея с АТХ БП понравилась. Только для себя оставлю вольт 11.
Честно я тоже от ардуин тоже другого ждал. Чисто теоретически слышал что блин все просто, ничего не надо, куча либ, свой IDE, минимум программирования… Я для себя уже представил визуальную среду со вставкой объектов, настройкой их свойств… Загрузил – и вижу аналог блокнота с возможностью компиляции… Обалдел от «обилия» возможностей. Ладно, мне не привыкать… Загрузил Notepad++ . Он хоть сворачивание кода поддерживает и подсветку парных скобок и конструкций. Библиотеки – вообще песня. Разрозненные, несогласованные… Не выдерживает душа поэта. Приходится их доделывать для себя.
Однако я наверное продолжу, пока не реализую то, что надо мне.
Моя концепция такова: максимально дешевая рабочая лошадка для пресноводника.
Т.е. контроллер без выпендриваний вроде тыкательного экрана. Просто Включение/выключение нагрузок по расписанию, термостат, отслеживание внештатных ситуаций. В принципе даже такой простой дисплей тут почти лишний (ладно, пусть пока хоть часы показывает да и температурку для сведения).
Вместо мегаконтроллера рассчитанного на все возможные ситуации, разные типы светильников и помп – умное оборудование. Сказал качнуть единицу удо или три единицы – вот блок помп пусть и разбирается КАК именно это сделать. Если некоторые светильники нельзя сразу включать после отключения – они сами должны это отслеживать. При ценах на Arduino pro это вполне возможно, т.к силовая часть стоит гораздо больше самих процессоров.
Из дальнейшего развития (или кастрации)
1) Перевести оборудование на стандартные для атмеги выводы I2C и SPI (дисплей)
2) Предусмотреть настройку с компа и как следствие
3) Освободить RX и TX для UART (проводное или bluetooth модуль)
4) Сделать модификацию вообще без дисплея
AlexNT, вы абсолютно правильно поняли - почему у меня это последний проект на ардуино (такой убогой среды я еще не видел, это мы еще про отладку не вспоминали :( )
Но еще раз скажу в плюсы ардуино - простота на старте, все просто и доступно без спец программаторов и спец оборудования (у меня все это есть, был чисто спортивный интерес сделать за минимальные деньги акваконторллер).
Лично для меня этот проект уже близится к завершению, так как он превзошел все первоначально поставленные задачи.
Изначально планировался многофункциональный много канальный таймер термостат, сейчас уже дольше 3-х месяцев радует меня и близких.
Прибор перенес 3 эволюционных перелождения,
думаю будет еще четвертое - полноценный ЛЕД свет и все - автоматизация моей аквы покрыта на все 100%.
Могу подвести черту на сегодня
имеем бюджетный акваконтроллер
с часами реального времени
Удобным управлением - 4 кнопки
Удобным графическим дисплеем (причем очень дешевым)
на каждую нагрузку по 25 таймеров(будильников) - можно и больше но мне так удобней
Цыфтровой термометр Термостат с гистерезисом и всеми понтами (управляем нагревателем и оборотами кулера охлаждения - чем больше отклонение от заданой температуры тем быстрее вращается кулер)
Нагрузки для управления ШИМ с заданием времени наростания - тож по 25 таймеров на каждый канал (для восхода - заката)
3 канала управления пересталическими помпами для точнойй дозировки УДО - тож по 25 таймеров на каждый канал (каждый канал тарируется - и в меню задаются не условные единицы УДО а конкретное количество мл).
Связи с компом никогда не планировал и лично считаю не нужно это (IMHO).
Парадигма этого проекта выжать все из копеешно контроллера и минимума обвязки.
По поводу модернизации ATX блока питания
за основу брал статью "Как сделать зарядное устройство для 12В свинцово-кислотных аккумуляторов из компьютерного БП ATX. (http://radiokot.ru/circuit/power/charger/27/)"
Статья полезна тем, что там описаны практически все типовые ШИМ контроллеры которые устанавливаются в комповых БП.
Для переделки вам понадобится пара резисторов, ну и выкинуть лишнее :)
(цепь регулировки тока вам не нужна, в качестве примера модернизация моего БП выходное напряжение регулируется подбором делителя R6 R12)
Ну и из личного опыта - для переделки берите самый простой (дубовый, дешевый блок) его будет проще переделать.
Я брал из полу живых - соответственно шара ;) чуть привел в порядок и пашет
А что значит полноценный Лед свет?
А что значит полноценный Лед свет?
это я о ШИМ управлении светодиодами
восход закат
Возможно отдельные каналы для разноцветных светодиодов.
хотя пока планируется только один канал и тот как дополнение к моим 4х Т5
В шапке доступна новая версия скетча.
Denisios нашел баг, в этой версии он устранен.
Denisios - проверь и подтверди плз.(после обновления зайди в меню будильников и передерни все значения - чтоб они перезаписались повторно в EEPROM)
За одно раз полез в код переделал визуализацию Задач(таймеров).
Думаю так будет значительно наглядней и понятней.
В списке заданий теперь сразу видно
* время
* состояние (вкл или выкл нагрузку)
* статус (перечеркнутое задание - не активное)
Denisios
20.08.2014, 20:36
Denisios нашел баг, в этой версии он устранен.
Denisios - проверь и подтверди плз.(после обновления зайди в меню будильников и передерни все значения - чтоб они перезаписались повторно в EEPROM)
Спасибо, теперь все работает. Перед прошивкой я очистил EEPROM. Но теперь есть другой баг, после нажатия на кормление исчезает куда-то все меню.
А еще в менюшке на фото можно добавить порядковый номер. Всего 1-3 строчки кода, но как-то нагляднее.
2 Denisios.
Исчезают надписи пунктов меню, но прямоугольник вверх вниз бегает?
Возможно глупая идея, но есть мысль при первой инициализации строковой переменной сразу задать ей максимальную длину, чтобы зарезервировать под нее память и только потом уже работать с ней.
У меня версии проги с таким дефектом не сохранилось, так что проверить не могу.
Denisios
21.08.2014, 15:26
2 Denisios.
Исчезают надписи пунктов меню, но прямоугольник вверх вниз бегает?
Все верно, это в самой последней версии программы, в предыдущей такого не было.
Denisios,
AlexNT,
Таки Ваша правда, сам вчера заметил, в шапке новый скетчь.
(глючило от нехватки памяти)
вырезал стартовое лого, добавил номер таймера.
И самое главное обновил среду, кто то здесь писал новая среда компилит более компактный код.
получилось освободить более 7%.
Теперь все работает.
В новой среде пришлось править либу ЛСД
Комплект ИДЕ доступен
http://my.call-centre.pp.ua/aqua/arduino-1.5.7.rar
В чем преимущество if (b4&B00000001) перед if (b4 == 0) ?
В чем преимущество if (b4&B00000001) перед if (b4 == 0) ?
технически разницы нет, но с учетом того что в меню я инвертирую первый бит то разница огромная, особенно если EEPROM не чищен и забит мусором, с помощью меню нельзя будет очистить, вообщем это как защита от глюков
Michael_lm
25.08.2014, 21:34
Всем здрасте. Собрал контроллер, прошил, все как бы нормально и понятно. Но вот столкнулся с такой проблемой. После включения контроллера время на индикаторе показывает какое попало, хотя часы прошиты нормально. Нормальное значение времени появляется, если раза три-четыре передернуть питание контроллера. То, что работает по расписанию живет своей жизнью. Где должно включится, может включится, а может и нет. А где должно выключится, может выключится, а может и нет. Один Термометр с нагревателем точно отрабатывают. Я связал эти проблемы с одним - это какая-то проблема со связкой часов и МК. Ни кто не сталкивался с такой проблемой? Заранее спасибо.
Michael_lm,
Уточните какую версию библиотеки вы использовали? (использовали ли среду что я выкладывал)?
какая длинна проводов между ардуино и часами?
В среде вы настроили
"Инструменты"->"Плата"->"Arduino Pro or Pro mini"
"Инструменты"->"Процессор"->"Atmega328(5V, 16MHz)"
?
у меня никогда такого не было ;)
С последней версией скетча и среды, все работает очень стабильно.
Michael_lm
26.08.2014, 12:19
Michael_lm,
Уточните какую версию библиотеки вы использовали? (использовали ли среду что я выкладывал)?
какая длинна проводов между ардуино и часами?
В среде вы настроили
"Инструменты"->"Плата"->"Arduino Pro or Pro mini"
"Инструменты"->"Процессор"->"Atmega328(5V, 16MHz)"
?
у меня никогда такого не было ;)
С последней версией скетча и среды, все работает очень стабильно.
1.Библиотеки из вложения в шапке темы.
2.Среда 1.0.5. Та, что вы выкладывали не видит LPT в упор (другого программатора пока нет), причем на двух компах пробовал и разных системам - не видит LPT в упор. С 1.0.5 все нормально шьется, даже на Win7
3.Провода сантиметров 15.
4.В среде 1.5.7 (LPT не видит) настраивал и "Arduino Pro or Pro mini" и "Atmega328(5V, 16MHz)"
После нескольких раз передергивания питания и появления нормального времени, в меню и в главном окне часы показывают реальное время постоянно и без сбоев. Прошивка шьется нормально с верификацией. При чем я пробовал и предыдущую и текущую версию шить. Обе шились без проблем, но на выходе один и тот же глюк. (Клава и ЖК экран работают без косяков).
Michael_lm,
скажите какой размер скомпиленного скетча?
у меня были интерестные глюки если занято более 95-96%
прелесть новой среды более экономный компилятор
Michael_lm
26.08.2014, 18:57
https://yadi.sk/d/anU3_rpZaTux4
82,4 КБ (84*474 байт)
Попробую скомпилировать в 1.5.7 и загрузить через CodeVision.
Michael_lm,
вот мой результат
Sketch uses 28*218 bytes (91%) of program storage space. Maximum is 30*720 bytes.
Global variables use 949 bytes (46%) of dynamic memory, leaving 1*099 bytes for local variables. Maximum is 2*048 bytes.
Michael_lm
26.08.2014, 22:12
Michael_lm,
вот мой результат
Sketch uses 28*218 bytes (91%) of program storage space. Maximum is 30*720 bytes.
Global variables use 949 bytes (46%) of dynamic memory, leaving 1*099 bytes for local variables. Maximum is 2*048 bytes.
В версии 1.5.7 тоже самое пишет.
Sketch uses 28*232 bytes (91%) of program storage space. Maximum is 30*720 bytes.
Global variables use 949 bytes (46%) of dynamic memory, leaving 1*099 bytes for local variables. Maximum is 2*048 bytes.
А вот в 1.0.5 вроде по больше
Размер скетча в двоичном коде: 30*030 байт (из 30*720 байт максимум)
Denisios
27.08.2014, 17:15
Здравствуйте AlexVOK, вы рекомендовали использовать в качестве бп зарядку от айфона, скажите она у вас сильно грелась??? У меня она стоит в корпусе и жутко греется трансформатор и диод, вокруг диода даже плата почернела. Это нормально???
steals81
27.08.2014, 17:36
Конечно нет. БП работает на "пределе".
Denisios
27.08.2014, 17:47
Конечно нет. БП работает на "пределе".
Подскажите на какой заменить лучше (какой мощности)?
Размер скетча в двоичном коде: 30*030 байт (из 30*720 байт максимум)
при использовании памяти под завязку будут 100%-е глюки
Почему не выяснял, но на практике проверено!!
Конечно нет. БП работает на "пределе".
ну до предела там далеко, у меня зарядка от огрызка вообще не грелась.
Эти зарядки бывают на 1А и 2А.
я использовал на 1А - ничего не грелось! (ток потребления контроллера у меня 0,3 А)
Может у Вас силовая часть реллейного типа и запитывается от 5В?
если так - то конечно возможно -реллюхи потребляют нормально.
Замерьте ток потребления - когда все нагрузки включены и подбирайте под этот ток БП
Michael_lm
28.08.2014, 09:31
при использовании памяти под завязку будут 100%-е глюки
Почему не выяснял, но на практике проверено!!
Залил через 1.5.7, предварительно почистив контроллер. Объем - 91%. Ошибки не ушли. Похоже, что-то с железом.
Michael_lm,
будем дальше шаманить :)
Могу только предполагать.
- заниженое питание
- пульсации либо помехи по питанию
у меня это собрано на макетке
соответственно длинна проводников между ардуинкой и часами 1см
попробуйте, может в этом дело.
Вот мои старые фотки
Denisios
28.08.2014, 14:16
AlexVOK, в последнем скетче заметил такую проблему с работой второго канала света: после прошивки он сразу выключен, если ему задать таймеры то он работает, если контроллер перезагрузить, то все работает, а этот канал снова выключается (силовая часть релейного типа). Подскажите в чем может быть проблема??? На прошлой версии такого не было.
steals81
28.08.2014, 14:44
Denisios, в последнем посте Вы ответили на свой вопрос по БП: "...силовая часть релейного типа...".
Denisios
28.08.2014, 20:38
Denisios, в последнем посте Вы ответили на свой вопрос по БП: "...силовая часть релейного типа...".
Спасибо за совет, БП я уже заменил и больше ничего не греется.
Michael_lm
28.08.2014, 20:57
Michael_lm,
соответственно длинна проводников между ардуинкой и часами 1см
попробуйте, может в этом дело.
Вот мои старые фотки
Как то так. Капризный Arduino. Провода значительно укоротил и часы стали сразу нормально запускаться. Таймеры стабильней стали работать. В общем придется кросс плату делать с минимально возможной длиной проводников.
Спасибо за помощь.
Denisios,
я во время инициализации рассчитываю на самый плохой вариант
включаю первый свет и компресор.
Если вам нужно на старте включить оба светильника
замените строки
digitalWrite(EXT_LIGHT_2_PIN, LOW); // выключает
light2 = false;
на
digitalWrite(EXT_LIGHT_2_PIN, HIGH); // включает
light2 = true;
Как то так. Капризный Arduino. Провода значительно укоротил и часы стали сразу нормально запускаться. Таймеры стабильней стали работать. В общем придется кросс плату делать с минимально возможной длиной проводников.
Спасибо за помощь.
Если критично разнести контроллер и часы можете попробовать
подтянуть линию данных и синхронизации к +5В через резисторы 1к
Michael_lm
29.08.2014, 07:10
Если критично разнести контроллер и часы можете попробовать
подтянуть линию данных и синхронизации к +5В через резисторы 1к
Ну это теперь кроссплату буду делать и там размещу дополнтельно фильтрацию питания и подтяжки.
Michael_lm
30.08.2014, 00:27
Если критично разнести контроллер и часы можете попробовать
подтянуть линию данных и синхронизации к +5В через резисторы 1к
Кстати очень бюджетный малогабаритный вариант контроллера для акваса. Я даже корпусок штатный от BEYERDYNAMIC базовой станции присмотрел.
В шапке обновление скетча
Обновится ВСЕМ!!!
Обнаружил глюк в настройке таймеров ;(
после обновления нужно пройтись по задачам и пересохранить значение часов и минут.
Кстати очень бюджетный малогабаритный вариант контроллера для акваса. Я даже корпусок штатный от BEYERDYNAMIC базовой станции присмотрел.
Можно еще упростить и удешевить, если отказаться от системных часов.
есть вариант сделать точные программные часы.
но как всегда будет и минус - часы енерго зависимые будут
steals81
31.08.2014, 14:18
Енергозависимые часы это "не есть хорошо", не вижу смысла в таком удешевлении: экономим "пару копеек" и получаем вечный "гемор" (ИМХО).
steals81, абсолютно согласен, тем более цена вопроса 1 $ .
Но если кто то захочет заморочиться, пишите
Без часов получится контроллер Юсупова. :)
Ничего не имею против, но такое уже есть :)
Кстати о часах. А зачем почасовая коррекция?
А зачем почасовая коррекция?
мои часы спешили
После замены кварца все стало почти прилично но чуток уходили вперед.
Для компенсации неточности кварца предусмотрена эта компенсации,
с ней и на китайских кварцах будет все точно.
Если у вас попались точные часы выставьте значение компенсации 0, или закоментируйте кусок кода компенсации, или могу выложить версию без компенсации
Ребят, а печатку под это дело ещё никто не сделал? У меня, либо руки кривые (в данном случае скорее мозги), либо прошивальщик глючный. Собрал, подключил - всё само мигает, по меню само лазит. Плюнул, решил ошибки не искать, а собрать заново, с нуля, благо заказал запчастей на несколько контроллеров, т.к. планируется не один аквариум. В итоге вышло то же самое, да ещё и при перепрошивке висяк поймал, пришлось выдергивать без завершения, и теперь не хочет перепрошиваться. Вот смотрю я на это дело, и подозреваю что где-то что-то не так напаял, либо по кнопкам, либо по питанию, но не могу понять где, как та собака.
Нарисовать в Лайоуте я могу, но что толку, если у меня и в макетке где-то ошибка, но не могу понять где.
dimul, смотри что у тебя с кнонками
вот тестовый скетчь,
показывает значение в порту клавы
я с помощью него подбирал константы
Michael_lm
05.09.2014, 12:15
Почти собрал.
Denisios
05.09.2014, 18:31
Собрал, подключил - всё само мигает, по меню само лазит.
Здравствуйте. У меня была точно такая же проблема, оказалось просто не правильно кнопки припаял, не разобрался в принципе действия этой кнопки и получилось, что каждая кнопка запаяна, уже сразу включенной. Проверьте в первую очередь как спаяна клавиатура.
Michael_lm
06.09.2014, 14:50
Отчет.
http://picup.su/upload/140910/600_28461_82083.jpg
http://picup.su/upload/140910/600_26214_10042.jpg
http://picup.su/upload/140910/600_38972_50759.jpg
http://picup.su/upload/140910/600_14848_39896.jpg
Докупал две платы питания регулируемые выходом от 3 до 40v http://www.aliexpress.com/item/1pc-DC-DC-LM2596-Step-down-Adjustable-Power-Supply-Module-CC-CV-LED-Driver-New/1886931223.html Одну для контроллера, другую для led подсветки акваса.
Дополнительно поставил питание 220v-12v 1А от какого-то гаджета.
Управление нагрузками поставил релейное http://www.aliexpress.com/item/Free-Shipping-New-8-Channel-12V-Relay-Module-for-Arduino-AVR-ARM-DSP-PIC-Blue-Red/732049440.html
Корпус от Beyerdynamic OPUS http://cdn.riffmusic.com.ua/components/com_jshopping/files/img_products/full-beyerdynamic-opus-660-set-598-622-mhz-22520.jpeg
И уже для полной экономии места поставил разъемы на подключение нагрузок http://picup.su/upload/140910/240_86503_47179.jpg
Часы и контроллер разместил на кроссплате. Так удобней.
Прошивку переточил под себя. Взял самую последнюю и вместо Свет 2 сделал Фильтр по расписанию, при чем кормление 20 мин оставил без изменений, только реле кормление включил в разрыв цепи контактов фильтра.
Далее при выборе light on/off включались сразу light 1 и light 2 (фильтр). Изменил на включение только light 1.
Ну и все. Собрал, скрутил, спаял попробовал, ни чего не сгорело и не задымилось. Все отлично работает. Спасибо разработчику и особенно за открытый код программы. Вот вариант прошивки с моими кивиряниями. (https://yadi.sk/d/IK1hiDlWb8Wt4)
Michael_lm,
Поздравляю, молодца.
Мне как автору приятно, что творение повторяют и улучшают :)
Так держать.
Расскажи по подробней о своих лед драйверах, как они в работе? .
Раскрою тайну.. заказал еще комплект - хочу запустить мини креветочник.
будет чистый лед, без лишнего
Michael_lm
06.09.2014, 16:57
Расскажи по подробней о своих лед драйверах, как они в работе? .
Это в общем-то не драйвера, а обычные стабилизаторы с регулировкой. У меня на аквасе всего 2 метра светодиодов с общей прожорливостью в 1А. Китайцы для этих стабилизаторов гарантируют 2 ампера номинал и 3 ампера максимум. Ну может придется радиатор небольшой прилепить. Я пока только гонял прибор в холостую, чтобы проверить все алгоритмы прежде, чем к аквасу стыковать. Завтра буду запускать по полной и тогда отпишусь про китайские стабилизаторы.
Gorbounov
18.09.2014, 17:49
AlexVOK,
в чем может быть проблема: при нажатии на кнопки вверх, вниз рамка бегает нормально по экрану, но текста нет - пустая?
На главном экране время и нижняя строка с температурой - отображается нормально.
Gorbounov, читайте ветку с 156 поста, в нем есть ответ на ваш вопрос - нехватка память.
Gorbounov
19.09.2014, 01:05
Gorbounov, читайте ветку с 156 поста, в нем есть ответ на ваш вопрос - нехватка память.
Увидел, благодарю.
Пробовал скачать новую среду по ссылке - выдает ошибку. Можете еще раз выложить на какой-нибудь файлообменник?
http://my.call-centre.pp.ua/aqua/arduino-1.5.7.rar
ссылка восстановлена
Хочу прикрутить к контроллеру возможность залития параметров через COM (USB2COM) порт. И соответственно вынести интерфейс настройки таймеров на комп.
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
Кстати о допиливании. Я похоже влип.
Думал только слегка ковырнуться в коде контроллера (вывод больше инфы на главный экран, замена многих элементов интерфейса на псевдографику, упрощение граф. библиотеки, замена библиотеки часов для работы с аппаратным I2C) Визуально код изменился не сильно. Почти прямая замена функций с легкой коррекцией Что-то вроде замен
myGLCD.drawLine(0, 8, 83, 8); на
myGLCD.drawHLine(0, 8, 83);
Но в результате пришел к необходимости коренных изменений.
А именно:
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Так что буду менять идеологию таймеров. Не срабатывание On или Off в данный момент, а диапазон времени включения т.е. врубить нагрузку с 8ч30м до 12ч45м а в коде (где ALARM) проверять не наступление нужного момента включения/выключеня, а попадание в диапазон.
Результатом поделюсь.
P.S. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
Gorbounov
20.09.2014, 10:27
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
готового не встречал, но я бы обратил внимание на процессинг http://www.processing.org/ и https://ru.wikipedia.org/wiki/Processing
Среда пронраммирования ардуина именно под него и создана - они близнецы-братья.
Gorbounov
20.09.2014, 10:33
А именно:
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Так что буду менять идеологию таймеров. Не срабатывание On или Off в данный момент, а диапазон времени включения т.е. врубить нагрузку с 8ч30м до 12ч45м а в коде (где ALARM) проверять не наступление нужного момента включения/выключеня, а попадание в диапазон.
Результатом поделюсь.
P.S. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
Верное направление, ИМХО. Работа не с событиями а с состояниями. Т.е. провернка не на наступление события, а проверка "в каком состоянии должно быть сейчас то или иное внешнее устройство".
Возможно это несколько усложнит код, но контроллер выйдет на другой уровень контроля :) - повысится его защищенность от неблагоприяных событий.
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Даю идею, все намного проще
в секцие инициализации просто в цикле прокрутите код проверки событий
начиная с 00:00.00 мин до текущего времени
это займет около 1 сек но зато решит выше описанную проблему.
Если не понятна реализация - могу сделать, если это кому то нужно?
(оставляйте заявки)
Хочу прикрутить к контроллеру возможность залития параметров через COM (USB2COM) порт. И соответственно вынести интерфейс настройки таймеров на комп.
А потому вопрос: никто не встречал исходник проги наподобие Юсуповской для настройки акваконтроллера или чего-то подобного? Просто я не программист и начинать с полного нуля не слишком горю желанием. Проще слегка допилить под свои нужды.
Чужие исходники от совсем дугого контроллера вам точно не помогут - можно не искать.
Если готовы написать свой софт для управления контроллером - могу помочь в организации интерфейса со стороны контроллера.
Можно делать не через ком порт, а через блютуз.
Теперь к вам вопрос, под какую среду будете писать, виндовс или андроид или иос?
Дальше - какая среда разработки планируется ну соответственно язык программирования? (это для того, чтоб привлечь заинтересованых лиц для помощи или написания доп модулей)
Ждем ответа.
Здравствуйте. У меня была точно такая же проблема, оказалось просто не правильно кнопки припаял, не разобрался в принципе действия этой кнопки и получилось, что каждая кнопка запаяна, уже сразу включенной. Проверьте в первую очередь как спаяна клавиатура.
Спасибо, сейчас поковыряюсь. Знать бы ещё как правильно.
Отчет.
http://picup.su/upload/140910/600_28461_82083.jpg
http://picup.su/upload/140910/600_26214_10042.jpg
Часы и контроллер разместил на кроссплате. Так удобней.
Шикарно, а схемой кроссплаты не поделитесь? И ещё, у Вас датчик температуры показывает ошибку, у меня так же, в чём причина?
Даю идею, все намного проще
в секцие инициализации просто в цикле прокрутите код проверки событий
начиная с 00:00.00 мин до текущего времени
это займет около 1 сек но зато решит выше описанную проблему.
Если не понятна реализация - могу сделать, если это кому то нужно?
(оставляйте заявки)
Это первое, что пришло в голову. Только начинать надо не с 00:00 а с понедельника 00:00. У Вас же там есть срабатывание по дням недели. А вдруг я там что в понедельник включил и во вторник выключил. А в сетапе такое обязательно надо. Тем более ресурсов много не потребует. Фактически взять часть кода что у вас идет под "шапкой " ALARM. Перенести его в функцию. А затем вызывать ее в Loop() c параметрами тек часов минут и в setap() как Вы и говорите прокрутить в цикле.
Ой, тут подумалось может даже с прошлого понедельника надо, чтобы учесть все извращения... В аквасе, конечно, такие программы оченб маловероятны, но всеже...
Чужие исходники от совсем дугого контроллера вам точно не помогут - можно не искать.
Ну как сказать. Я же не собираюсь в лоб все повторять.
Если готовы написать свой софт для управления контроллером - могу помочь в организации интерфейса со стороны контроллера.
Можно делать не через ком порт, а через блютуз.
Со стороны контроллера лично мне как бы проще. У меня в мониторе при посылке в контроллер "r" в ответ выдается содержимое EEPROM. И блютуз уже купил. Кстати, со стороны контроллера его никак не надо инициализировать?
Теперь к вам вопрос, под какую среду будете писать, виндовс или андроид или иос?
Дальше - какая среда разработки планируется ну соответственно язык программирования? (это для того, чтоб привлечь заинтересованых лиц для помощи или написания доп модулей)
Ждем ответа.
Хотелось бы конечно использовать что-то переносимое... Но сильно сомневаюсь, что я настолько крут. Пока хотя-бы виндовс... там посмотрим.
Какая среда? А вот что вы можете посоветовать? Я пока чистый лист. Мне все равно с чего начинать. Язык лучше Си образный.
Хотя... при таком раскладе я бы предпочел сначала разработать простенькую прогу под Windows но с прицелом на возможное портирование в Linux\Android. iOS пока не интересует.
готового не встречал, но я бы обратил внимание на процессинг http://www.processing.org/ и https://ru.wikipedia.org/wiki/Processing
Среда пронраммирования ардуина именно под него и создана - они близнецы-братья.
Скачивал уже такое по другому поводу. Возможности впечатляют при простоте программирования. Но сама среда и отладка программы - это нечто из разряда блокнота без отладки. И самый главный вопрос - как на ЭТОМ сделать нормальный интерфейс пользователя? Рисовать квадратики вручную как на ардуинке?
Хотя... при таком раскладе я бы предпочел сначала разработать простенькую прогу под Windows но с прицелом на возможное портирование в Linux\Android. iOS пока не интересует.
расклад такой, проще делфи найти сложно.
По поводу универсального кода под все платформы можно забыть :(
С блютусом работаем как с обычным ком портом - без шнурка просто и удобно. Со стороны ардуинки согласования никакого ненужно - просто подключем напрямую линии RX и TX
AlexNT, по поводу событий абсолютно согласен
такой подход покроет даже самые извращенные настройки.
Хотя меня пока и так устраивает (я так и не пользуюсь днями недели :) )
Michael_lm
24.09.2014, 09:28
Шикарно, а схемой кроссплаты не поделитесь? И ещё, у Вас датчик температуры показывает ошибку, у меня так же, в чём причина?
Ошибка потому, что датчик не подключен на момент съемки. А кроссплата нарисована под такую ардуино
http://picup.su/upload/140924/15875_17197.jpg
и в DipTrace. Если нужна печатка, мне не жалко, вот тут (https://yadi.sk/d/4O9PCR6AbdV98). В разводке все необходимые контакты подписаны и читаются при наведении курсора. Синим цветом обозначены перемычки. Вид со стороны деталей (не перепутать сторону). Разъемы J5 - часы, J6 - LCD, J8 - питание, J9 - датчик DS, J10 - нагрузки. С контактов для программирования просто вывел шлейф, через разъем не стал городить.
В разводке все необходимые контакты подписаны и читаются при наведении курсора. Синим цветом обозначены перемычки. Вид со стороны деталей (не перепутать сторону). Разъемы J5 - часы, J6 - LCD, J8 - питание, J9 - датчик DS, J10 - нагрузки. С контактов для программирования просто вывел шлейф, через разъем не стал городить.
Спасибо! Так выглядит более упорядоченно, но появляются другие вопросы.
C1-C4, C10- это конденсаторы? Какой емкости? В изначальной схеме они вообще отсутствуют.
R1 - 4,7k, а R2 и R3?
Простите, я действительно дуб дубом в этом и многого не понимаю, но хочется разобраться.
Michael_lm
29.09.2014, 11:33
Спасибо! Так выглядит более упорядоченно, но появляются другие вопросы.
C1-C4, C10- это конденсаторы? Какой емкости? В изначальной схеме они вообще отсутствуют.
R1 - 4,7k, а R2 и R3?
Простите, я действительно дуб дубом в этом и многого не понимаю, но хочется разобраться.
Конденсаторы примерно по 100n или 0,1 мкФ (фильтрация питания). R2 и R3 http://www.aquaforum.ua/showpost.php?p=2931563&postcount=178
2 синие перемычки в Ардуино уже существующие (звонятся на плате) и их не нужно лепить в кроссплате. В печатке я их просто пририсовал для удобства отображения всего проводника при наведении курсора.
Mehannik
16.10.2014, 20:27
Ребят подскажите плиз! решил собрать ваш контроллер но на ардуино НАНО все убралось контактов хватает но что то с прошивкой чаы показывает температуру тоже , а вот когда захожу в меню шрифт вообще пропадает ! подскажите в чем дело?? на ардуино мега все работает !
Вот фото
http://s015.radikal.ru/i333/1410/7e/123df81ab138.jpg
http://s006.radikal.ru/i215/1410/c3/a1ae41899f59.jpg
Mehannik, напиши на каком контроллере твой нано?
читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.
Mehannik
16.10.2014, 21:06
Mehannik, напиши на каком контроллере твой нано?
читайте пост 156, в нем есть ответ на ваш вопрос - нехватка память.
Камень 328
Mehannik,
тогда 100% смотрим пост 156
и все будет ОК
можно конечно вырезать ненужные вам функции
но это нужно вникать, чтоб не навредить
Mehannik
16.10.2014, 21:11
а вы можите вырезать?? мне УДО вообще не нужно!!! помогите ибо из меня программист не какой))
Mehannik
16.10.2014, 21:13
Mehannik,
тогда 100% смотрим пост 156
и все будет ОК
можно конечно вырезать ненужные вам функции
но это нужно вникать, чтоб не навредить
Вот прошил программой 1 5 7 и выдало такую ошибку ! странно! на страй версии шьет а вот на новой нет
Arduino: 1.5.7 (Windows 7), Board: "Arduino Nano, ATmega328"
C:\Program Files (x86)\Arduino\libraries\LCD5110\DefaultFonts.c:12: 14: error: variable 'SmallFont' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
fontdatatype SmallFont[] PROGMEM =
^
C:\Program Files (x86)\Arduino\libraries\LCD5110\DefaultFonts.c:117 :14: error: variable 'BigNumbers' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
fontdatatype BigNumbers[] PROGMEM =
^
Ошибка компиляции.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Mehannik,
Скачивай мой вариант среды.
там встроена исправленная библиотека работы с лед экраном.
Mehannik
16.10.2014, 21:50
урра все получилося
Петко Шкодров
18.10.2014, 13:24
Привет
Очень хороший контроллер.
Я изменил код для моих потребностей.
Я сделал изменения в таймеров.Удалил Udo.Добавлено кириллицы. Изменил начальный экран и освободил место для других функций
Моя прошивка.Это может быть полезно.Нужна еще немного поправиться.
Вячеслав Сергеев
27.10.2014, 21:32
Хорошая модификация скетча, прикольнули комментарии на русском българском и английском. На мой взгляд сильно не хватает второго термодатчика для контроля температуры радиатора светодиодов и сигнализации выхода температуры за пределы нормы.
Вячеслав Сергеев
28.10.2014, 13:02
Исправил рисунок соединений - вентилятор и датчик температуры перепутаны местами. Моя плата ардуино внешне не отличима, но порты А5 и А6 переставлены местами и их маркировка с обратной стороны, таким образом и клавиатура подключается к соседнему контакту. Не понял алгоритма работы подсветки - ставлю led light на 100 и подсветка экрана в режиме меню угасает, но стоит выйти из меню или дождаться скринсавера и подсветка становится яркой. Мне кажется должно быть наоборот.
Вячеслав Сергеев,
алгоритм подсветки простой
в режиме часов подсветка выставляется в соответствии с константой DispLight_min
(0- максимальная яркость 254 - минимальная) (мне пол комнаты освещало вот и сделал так), а в режиме меню яркость подсветки = настроенной в системном меню
Вячеслав Сергеев
28.10.2014, 15:13
AlexVOK, Т.е. выставляется в прошивке?
Всё получилось! Спасибо.
AlexVOK, Т.е. выставляется в прошивке?
Да
в режиме часов - яркость подсветки выставляется в скетче
в режиме хождения по меню - яркость подсветки настраивается в системном меню
Можно добавить еще один пункт меню для настройки яркости в режиме часов.
Петко Шкодров
28.10.2014, 16:03
Если поставить датчик освещенности. Будет регулироваться автоматически.
Петко Шкодров, конечно будет если написать соответствующий кусок кода ;)
Петко Шкодров
28.10.2014, 16:17
AlexVOK,
Попробую.;)
Вячеслав Сергеев
28.10.2014, 21:46
Там памяти совсем нет! Лучше совсем убрать меню настройки времени и даты. Заранее запрограммировать модуль часов и поставить на место.
Про светодиодный свет теперь только ленивый не задумывается. Я себе сам собрал ещё три года назад - 20х1w синих, 20х1w жёлтых, 20х1w белых и 6х10w белых. И того четыре линейки собраны на led драйверах без шим. Все светики установлены на аллюминиевых пластинах общей площадью 600см без рёбер. Освещение здорово греется и охлаждается вентиляторами под управлением Юсупова.
В принципе с обычным светом перегрев только воду нагреет, но с led такое не прокатит они просто деградируют. И менно поэтому я и предлагаю отрезать лишнее и пришить охлаждение с регулировкой оборотов вентиляторов по температуре радиатора.
Вячеслав Сергеев, памяти можно достаточно много выкроить
если убрать половину шрифта - например оставить только цифры и большие буквы
убрать дозатор удо
и места будет выше крыши.
Вячеслав Сергеев
28.10.2014, 23:11
AlexVOK, Я программист никакой, могу только слепить чтото простое без меню или изменить чужой код. Вот и хочу поиздеваться над Вашим кодом. К стати у меня есть кажется библиотека для этого индикатора с кирилицей.
Развел плату под это чудо. Может кому интересно( хотя наврядли-сдесь одни ARDUINщики). Помпы не разводил. Плату подкорректировал. Перезалил.
pdv1965, отлично вышло
минималистично под дисплейчик.
Супер.
Аж захотелось свое переделать ;)
Неудобство в том , что сначало надо загрузчик прошить ну а потом программу загружать.
Вячеслав Сергеев
29.10.2014, 14:04
Присоединяюсь, Супер! Только вопросик маленький возник-травим плату, паяем рассыпуху из магазина и дальше что? уже ответили. На мой взгляд проще кросс плату под модули развести. Кстати сейчас пытаюсь сделать.
ARDUINO-7долларов, часы 7-, дисплей 7.(остальное копейки). А ATMEGA 328 -28 гривень. Я из этого исходил. Сначало тоже про кросплату думал.
http://arduino.shopium.ua/catalog
Понимаю что в китае дешевле но ждать не охота да и из Мариуполя я . Сейчас суда не все возят. А в данный момент вообще обстрел идет.
Петко Шкодров
29.10.2014, 14:39
Для кнопки можно использовать эти
http://www.ebay.com/itm/2Pcs-1x4-Key-Matrix-Membrane-Switch-Control-Panel-Slim-Keyboard-Keypad-/201145557015?pt=LH_DefaultDomain_0&hash=item2ed535a017#ht_5299wt_1027
Вячеслав Сергеев
29.10.2014, 15:22
pdv1965, Я тоже из китая заказываю.
А это подобный вашему в аквариуме. Процессор тот же но не ARDUIN/
pdv1965, можно еще пару фоток меню
или ссылку на ресурс, автора
http://c2.at.ua/load/tajmery/21-1-0-119
У него недостаток-тормозят кнопки, а автор сказал что его все устраивает.
Выскажу свое мнение
Собирать контроллер на рассыпухе и использовать Ардуино смысла не вижу (имея программатор и навыки сделать пчатку ... паять мелкие корпаса - можно писать на чистом Си++)
Да и по ценам на сам чип контроллера - даже на ибей голый чип стоит почти солько же как платка ардуино (в шапке я указывал цены)
Вот и получается, что проще делать хорошую макетку для запайки туда ардуинки и часов + силовая часть.
это сугубо мое мнение.
но я за развитие проекта, так что все варианты хороши
А я уже вытравил и спаял (пока мы с Вами общаемся). Мне так легче чем ждать с ебея. Но для тех кто не паяет ARDUINO это отличный способ сделать контроллер или еще что либо. Я за развитие проекта (сам писать программы так и не научился).
А я уже вытравил и спаял Ну покажите, что вышло :)
Когда проц защью тогда....
Вячеслав Сергеев
30.10.2014, 11:42
Выскажу свое мнение
Собирать контроллер на рассыпухе и использовать Ардуино смысла не вижу (имея программатор и навыки сделать пчатку ... паять мелкие корпаса - можно писать на чистом Си++)
Да и по ценам на сам чип контроллера - даже на ибей голый чип стоит почти солько же как платка ардуино (в шапке я указывал цены)
Вот и получается, что проще делать хорошую макетку для запайки туда ардуинки и часов + силовая часть.
это сугубо мое мнение.
но я за развитие проекта, так что все варианты хороши
Я тоже так считаю. Паять рассыпуху могу воздушной паяльной станцией поэтому размеры корпусов не имеют значения, а вот качественный ЛУТ не получается. Делать с нуля более интересно.
Вячеслав Сергеев
30.10.2014, 11:44
pdv1965, Раскройте свою технологию травления.
Вячеслав Сергеев,
расскажу как делаю я
секрет в бумаге :)
т.е. печатаем на простом (например на работе модный цветной лазерный принтер у него тонер не подходит под ЛУТ -проверял лично - все дорожки отваливаются) лазерном принтере на фотобумаге для струйного принтера!!!
Дальше все как обычно - перакатал утюгом
отмочил и соскреб бумагу
вытравил
просверлил
зачистил
залудил
Готово!
последний раз уложился в 40 мин на весь процесс
на фотобумаге для струйного принтера!!!
А не "жирно"? code13
любой глянцевый журнал code44
vBulletin версії 3.8.7, © 2000-2025, Jelsoft Enterprises Ltd.
Переклад: © Віталій Стопчанський, 2004-2010