Българска Аквариумна Енциклопедия

АКВАРИУМИ И ОБОРУДВАНЕ => Оборудване => Направи си сам => Темата е започната от: Sentinel - 26.05.2016 22:09

Заглавие: Самоделен контролер за аквариум. /ARDUINO/
Публикувано от: Sentinel - 26.05.2016 22:09
Здравейте. От близо година се занимавам с акваристика.Всичко започна на шега с 30л. аквариум с няколко живородки. Оказа се че акваристиката е голяма краста и само цената на оборудването и теснотията вкъщи ме ограничават да се спра само до 4 аквариума :) Въпреки огромното ми желание да осигуря добри условия за живот на рибетата все още се случва някоя да обърне корема :( . Желанието ми да направя хабитата в локвичките максимално близък до естествения за рибките както и да намеря начин за по-лесна смяна на водата се запознах с един страхотен оупън сорс проект а именно ARDUINO. Идеята е хора които никога не са се занимавали с микроконтролери и електроника бързо и лесно да създадат свои проекти благодарения на огромното количество споделена информация от други ентусиасти и не на последно място заради достъпният език чрез който се програмира микроконтролера. Всичко това е необходимо за да могат да се създават автоматизирани устройства които всъщност управляват процесите в аквариумите ми :)

След дългата интродукция дойде време за съществената част.
Функции изпълнявани от устройството
1. Контролиране на 3 LED канала /изгрев залез, плавно димиране за период от 2 часа/
2. Пускане и спиране на помпа според нивото на водата/ за да мога да сифонирам използвам помпата само за пълнене,
но с малка промяна по кода може да се добави втора помпа за източване/
3. Глезотийки - показване на вътрешна/в кутията/ и външна температура, влажност на въздуха, нива на осветеност/в проценти/ на всеки канал, отстояние на ултразвуковият датчик до водата/
За да събера всичко това на малкия дисплей съм разделил информацията на две групи и съм написал символи, които пестят доста място.
Списък с компонените които съм използвал
1. Arduino pro mini /китайски аналог :)/сърце не ми даде са загробя UNO или MEGA в кутията.
2. I2C 16x2 Display / този вариант на дисплея пести доста пинове на ардуиното.
3. RTC 3231 /часовник за ардуино/
4. HC-SR04 /ултразвуков сензор, използвам го за отчитане нивото на водата при пълнене на аквариума.
5. DHT22 /сензор за температура и влажност, DHT11 също върши работа но е по-неточен на сметка на по-ниската цена.
6. Relay Board /платка с 4 релета за ардуино, може да се ползват всякакъв вид подходящи релета.
Ел. компоненти
Транзистор TIP122 - 3бр. /използват се за управление на трите канала ЛЕД осветление.
Радиаторчетата към транзисторите.
Резистор 330ома - 3бр.
Резистор 10килоома -3 бр.
Светлодиоди- червен зелен и жълт
Вентилатор 12в - за охлаждане на кутията тъй като когато са натоварени транзисторите греят
Диафрагмена помпа 2л/мин. /Използвам я за пълнене на аквариумите. Избрал съм този тип помпа защото за разлика от  фонтанните помпи тази освен напор има и сила на засмукване.
Захранващ блок 12в/4А /в моя случай захранването се оказа достатъчно за моите нужди.
Кутия подходяща да събере калабалъка както и кабели, бутони и ключета по желание на клиента.

Кода е изцяло оупън сорс. Използвал съм библиотеки и кодове на други ентусиасти. Част от кода е писан от мен, не претендирам за елегантност но при положение че съм начинаещ и всичко работи мисля че съм се справил добре :). За разлика от комерсиалните проекти при този промяна на настройките се извършват само след закачане към компютъра, за тази цел съм извел всички необходими букси на едната страна на кутията.

Схема и скица за ардуино:



(https://aquariumbg.com/forum/proxy.php?request=http%3A%2F%2Fs33.postimg.cc%2Fx01ofl7hr%2FAqua_Control_3.jpg&hash=cec280651f66db013499786e6a9594b1d4b53c05) (http://postimage.org/)
https://codebender.cc/sketch:316240 (https://codebender.cc/sketch:316240)

Няколко снимки на крайния резултат :)


(https://aquariumbg.com/forum/proxy.php?request=http%3A%2F%2Fs33.postimg.cc%2Foubg3rrcf%2FWP_20160505_21_16_21_Pro.jpg&hash=cda9cd4e05f4807f5eff1b4f5e8adbbbac67753c) (http://postimage.org/)

(https://aquariumbg.com/forum/proxy.php?request=http%3A%2F%2Fs33.postimg.cc%2F5iuhqx3jj%2FWP_20160506_19_03_12_Pro.jpg&hash=af95a789ae4208de1f9f4e513c00d32c890f4063) (http://postimage.org/)

(https://aquariumbg.com/forum/proxy.php?request=http%3A%2F%2Fs33.postimg.cc%2Fc0deafdwv%2FWP_20160526_20_25_28_Pro.jpg&hash=ef2c4db833f5cf8b7d8da65b6bffd7cfe4eb2594) (http://postimage.org/)

(https://aquariumbg.com/forum/proxy.php?request=http%3A%2F%2Fs33.postimg.cc%2Fd03p64t2n%2FWP_20160526_20_26_24_Pro.jpg&hash=577d50b8be00530000addcbcb204011b3ee31043) (http://postimage.org/)
Заглавие: Re: Самоделен контролер за аквариум. /ARDUINO/
Публикувано от: Penta - 27.05.2016 08:25
Много добре си се справил, браво.
Имам само обща представа за ARDUINO и малко повече за LED, та да те попитам от любопитство какво общо имат резисторите със обработката на PWM сигнала  и кой всъщост генерира управляващия сигнал, самия микроконтролер ли ?
Заглавие: Re: Самоделен контролер за аквариум. /ARDUINO/
Публикувано от: Sentinel - 27.05.2016 08:49
Резисторите са PULL UP и служат по-скоро да няма връзка между масата и порта на ардуино. Тъй като и аз съм лаик в много отношения свързани с ардуиното не съм съвсем сигурен защо са нужни но опитно установих че без тях нещата не се получават. PWM сигнала се генерира от микроконтролера но тъй като товара който може да понесе е малък се използва транзистор. Реално ардуино управлява пропускливоста на транзистора, а чрез него могат да се управляват големи товари с различни напрежения. В този случай 12в са идеални защото с един захранващ блок се захранва цялото устройство заедно с периферията.