• Most regisztráltál, de nem tudsz privát üzenetet küldeni?

    Kérjük olvasd el milyen korlátozások vonatkoznak rád, miután regisztrációd jóvá lett hagyva.
    Regisztrációs korlátozások

Építsünk akváriumvezérlőt Arduino-ból

Köszi, én most elgondolkodtam egy kis RGB ledszalagos karácsonyi kivilágítás vezérlésen ezeken a MOSFETes témákon felbuzdulva :))
Van RGB szalagom, lehet lesz valami játék belőle nálam is. Egyenlőre nincs egy szabad délutánom összedobni... :(
 
Persze, nem kerül semmibe, bár csak akkor van jelentősége, amikor bekapcsolod az arduinót. Ha nincs ellenállás felvillanhat a lámpád egy-kétszer amig bootol az ardu és a láb nincs egyértelmű logikai állapotban.

Módosítanám korábbi kijelentésem: inkább minenképp tegyél lehúzó ellenállást, mert MOSFET esetén ha elveszti a MOSFET az összeköttetést a vezérlővel (arduinóval) és az utolsó állapot bekapcsolt volt, akkor a kapu kapacitiv volta miatt bizonytalan ideig bekapcsolt állapotban maradhat a kapcsolt áramkör. Ez világításnál is kellemetlen de egy tápadagoló pumpánál meg méginkább.
 
Módosítanám korábbi kijelentésem: inkább minenképp tegyél lehúzó ellenállást, mert MOSFET esetén ha elveszti a MOSFET az összeköttetést a vezérlővel (arduinóval) és az utolsó állapot bekapcsolt volt, akkor a kapu kapacitiv volta miatt bizonytalan ideig bekapcsolt állapotban maradhat a kapcsolt áramkör. Ez világításnál is kellemetlen de egy tápadagoló pumpánál meg méginkább.
Naugye :D

Egybekent az én vezérlőm is arduinos, most ilyen állapotban van.
Sajnos nem hibátlan (leginkább elírás, helyesírás) a dolgozat de igyekeztem... (Leadás után meg már nem tudtam módosítani...:()
Kedden eredményhirdetés, drukkoljatok ;)
 
Nagyon jó kis anyag!
Amennyiben a nem okoz problémát én is szívesen megtekinteném a titkos arduinos kódot! Ha átküldenéd megköszönném!
Nem semmi rendszert sikerült összehozni! Gratulálok hozzá!
Esetleg nekem is át tudnád küldeni az arduinos kódot, ha tényleg nem annyira titkos?! :)
Nem a legfrissebb, de ment egy régebbi változat ;) Komment nincs, próbáltam öndokumentálóra írni :whistle:
De kiindulási alapnak bárkinek jó és ha lesz befejezett/bugtalanított/tesztelt akkor azt is megoszthatom ha lesz rá igény.
Sajnos suli mellett lassan halad, de halad :(:D
 
Utoljára módosított:
Nem a legfrissebb, de ment egy régebbi változat ;) Komment nincs, próbáltam öndokumentálóra írni :whistle:
De kiindulási alapnak bárkinek jó és ha lesz befejezett/bugtalanított/tesztelt akkor azt is megoszthatom ha lesz rá igény.
Sajnos suli mellett lassan halad, de halad :(:D

Köszi szépen!! :-D
 
Nem a legfrissebb, de ment egy régebbi változat ;) Komment nincs, próbáltam öndokumentálóra írni :whistle:
De kiindulási alapnak bárkinek jó és ha lesz befejezett/bugtalanított/tesztelt akkor azt is megoszthatom ha lesz rá igény.
Sajnos suli mellett lassan halad, de halad :(:D

Köszönöm én is!
 
Naugye :D

Egybekent az én vezérlőm is arduinos, most ilyen állapotban van.
Sajnos nem hibátlan (leginkább elírás, helyesírás) a dolgozat de igyekeztem... (Leadás után meg már nem tudtam módosítani...:()
Kedden eredményhirdetés, drukkoljatok ;)

Kérhetek én is egy példányt a titkos kódból? A vezérlőm és programom ugyan 95%-on van, de nem dobozoltam még, és ez a kékfogas beállítás nagyon felcsigázott. Ha így haladok soha nem készül el, mert mindig jön egy új ötlet, amivel ki kell egészíteni a cuccot.... :)

Egyébkén kiváló munka, sok sikert a folytatáshoz!
 
Kérhetek én is egy példányt a titkos kódból? A vezérlőm és programom ugyan 95%-on van, de nem dobozoltam még, és ez a kékfogas beállítás nagyon felcsigázott. Ha így haladok soha nem készül el, mert mindig jön egy új ötlet, amivel ki kell egészíteni a cuccot.... :)
természetesen megy, egy változat.
Bluetooth csak sima USART amúgy.
Nekem is lassan halad, sok terv van amit még kellene kódolni + pár eszközt venni.
Egyébkén kiváló munka, sok sikert a folytatáshoz!
Köszi! Igyekszem, de természetesen mindig van valami más is :S
 
Halihó! Na végre tesztüzemben van a cucc :) Egyelőre csak 3 pumpával. Előre szólok, nem egy szépségdíjas termék, de nem is ez volt a célom :) Feketére lefújva biztos lépne egy nagyságrendet kinézet terén is.

A hozzávalók, pár kép a munka fázisairól és a kód:
1x arduino
1x ds3231 óramodul elemmel
4x IRLZ44n N-channel MOSFET
4x 1k Ohm ellenállás
4x 100k Ohm ellenállás
4x valami sima dióda
4x perisztaltikus dózispumpa
4x kis üvegecska a tápoknak
12V táp a pumpáknak (nekem a LED világítást szipolyozzák)
1x USB kábel amit adtak az arduinóhoz + androidos USB-s telefontöltő amitől kapja az 5V áramot
- némi vezeték összekötni a dolgokat
- lyukacsos nyák amibe beleforrasztottam a FETeket és az ellenállásokat. A lábakat simán forrasztóónnal húztam össze
- kb 3-4m 4/2mm vastag szilikoncső
- egy kevés hulladék bútorlap és lemez

Képek:
A bútorlapok méretrevágva
Pumpák helyei lyukfűrészel fúrva
A fetek és ellenállások kettesével a motorok közé rögzítve, a diódák pedig a motrok lábai közé kerültek
A tápos üvegek tartója

Ilyen az összkép:
IMG_20141204_224314.jpg


Egy kezdetleges kód, ami 15:10kor tápoz minden nap.
- a korrekciós tényezőt minden pumpánál kimértem külön-külön. (Pl.: ha 5 mp alatt csak 4,5 ml-t ad, akkor 5/4.5 = 1100 stb.)
- ha fut a kód akkor a fedélzeti led (13mas digitális láb) egyet villan másodpercenként, jelezve, hogy minden OK.
- ha az arduino elvesztette a kapcsolatot az óramodullal, de még van beállított ideje, ami szerint működhet, akkor kettőt villan gyorsan egymás után az egy helyett, minden másodpercben (tehát ez egy figyelmeztetés, ilyenkor még működik a program, csak az idő lehet, hogy el van kicsit csúszva.)
- a három villanás azt jelzi, hogy nincs normális beállított idő, ilyenkor nem is fog tápozni, innen csak resettel lehet kihozni

Kód beillesztése:
#include <DS3232RTC.h>
#include <Time.h>
#include <Wire.h>

//set dosing ammounts:
float micro = 7.5; //5 ml profito, 2,5 ml ferro
float macro = 15; //10 ml DIY PO4, 5 ml DIY NO3+K
float carbo = 5; //5 ml easycarbo

//set dosing time:
int doseHour = 15; //0-23
int doseMinute = 10; //0-59

//set correction rates:
int corrRateMicro = 1380; //ms for 1 ml dose
int corrRateMacro = 1270; //ms for 1 ml dose
int corrRateCarbo = 1120; //ms for 1 ml dose

void setup(void)
{
    Serial.begin(9600);
    setSyncProvider(RTC.get);
    setSyncInterval(180);
    pinMode(13, OUTPUT);
    pinMode(2, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(7, OUTPUT);
    digitalWrite(2, LOW);
    digitalWrite(4, LOW);
    digitalWrite(7, LOW);
    if (timeStatus() != timeSet)
      blinkLED(3, true); //3 blinks: ERROR
}

void loop(void)
{
  if (timeStatus() == timeNotSet)
    blinkLED(3, true); //3 blinks: ERROR
  if (timeStatus() == timeNeedsSync)
    blinkLED(2, false); //2 blinks: WARNING
  else
    blinkLED(1, false); //1 blink: STATUS OK

  delay(1000);
  if (year() >= 2014 && year() <= 2017 && hour() == doseHour && minute() == doseMinute && second() >= 1 && second() <= 3) {
    blinkLED(20, false); //20 blinks: dosing is coming!
    digitalWrite(2, HIGH);
    delay(micro*corrRateMicro);
    digitalWrite(2, LOW);
    delay(1000);

    digitalWrite(4, HIGH);
    delay(macro*corrRateMacro);
    digitalWrite(4, LOW);
    delay(1000);

    digitalWrite(7, HIGH);
    delay(carbo*corrRateCarbo);
    digitalWrite(7, LOW);
    delay(1000);
  }
  else {
    digitalWrite(2, LOW);
    digitalWrite(4, LOW);
    digitalWrite(7, LOW);
  }
}

void blinkLED(int errNumber, boolean infinite) {
  do {
    for (int i=1; i<=errNumber; i++) {
      digitalWrite(13, HIGH);
      delay(200);
      digitalWrite(13, LOW);
      delay(200);
    }
    delay(600);
  } while (infinite);
}
 
Utoljára módosított:
Nincs valakinek véletlenül elfekvőben 3db 24-voltos táppumpája? Ne keljen kivárni a szállítási időt.
 
Sziasztok!

Igaz, hogy a projekt még nagyon a kezdeti stádiumban van, de gondoltam megosztom veletek a jelenlegi helyzetet.
A terv egy akvárium vezérlő építése, ami automatikusan adagolja a tápot, kapcsol lámpát, CO2 mágnesszelepét, felszíntisztítót, figyeli az akva hőmérsékletét és szükség esetén bekapcsolja a hűtést, kapcsolja a szekrény világítást.
A vezérlőt az egyik kollégám segít megépíteni, Ő mondhatni otthon van a témában. Szép dolog mikor két hobbi találkozik és valami közös jó dolog születik belőle. :)
Pár szó a vezérlőről: Arduino mini vezérlés, FET-es dózispumpák, valós idejű óra, sd kártya író, olvasó, 4 csatornás relé tábla, 20x4 karakteres LCD kijelző, kétirányú kommunikáció egy windowsos programmal. Továbbá tervezett automatikus és kézi üzemmód is vissza jelző ledekkel.
Végül egy látványterv, hogy is fog kinézni ha egyszer elkészül.

Aqua_vez._6_www.kepfeltoltes.hu_.png

Aqua_vez._7_www.kepfeltoltes.hu_.png

Aqua_vez._10_www.kepfeltoltes.hu_.png
 
Tök jól hangzik!

kétirányú kommunikáció egy windowsos programmal.

Nem tudom erre pontosan miért van szükség, de gondolom logolni akarsz pár dolgot vagy megjeleníteni. E helyett vagy mellé ajánlanám a Internet Of Things - ThingSpeak oldalt, egész egyszerűen lehet adatokat felküldeni amit bárhonnan online tudsz monitorozni vagy később visszakeresni stb.
 
Tök jól hangzik!



Nem tudom erre pontosan miért van szükség, de gondolom logolni akarsz pár dolgot vagy megjeleníteni. E helyett vagy mellé ajánlanám a Internet Of Things - ThingSpeak oldalt, egész egyszerűen lehet adatokat felküldeni amit bárhonnan online tudsz monitorozni vagy később visszakeresni stb.

Offline-ra van tervezve a dolog. A program segítségével lehetne beállítani hogy mikor mi és hogyan működjön. Esetleg a hőmérsékletet grafikonon nyomon követni.
 
ezeket a ki-be kapcsolókat nem zavarja össze az arduino a háttérből? pl ha az arduino lekapcsolja pl a világitást, de te kézzel felkapcsolod, majd az arduino megint közbelép és lekapcsol, mert pl valami ütemezés jön épp, akkor az offline fizikai kapcsoló "fel" állapotban van.
 
ezeket a ki-be kapcsolókat nem zavarja össze az arduino a háttérből? pl ha az arduino lekapcsolja pl a világitást, de te kézzel felkapcsolod, majd az arduino megint közbelép és lekapcsol, mert pl valami ütemezés jön épp, akkor az offline fizikai kapcsoló "fel" állapotban van.

A kapcsolók 3 állásúak lesznek, on-off-on.
Úgy találtuk ki, hogy felső állapotban az arduinoból kapott jelet továbbítja, off az egyértelmű, az alsó on állásban pedig kézi állapotban van. Szóval ha az arduino vált is, egyszerűen nem jut el pl a világításig a jel, mert nem abban a helyzetben van a kapcsoló.
Aztán lehet hogy ez nem jó ötlet, minden tanácsot, ötletet szívesen látok. (y)
 
én olyan kapcsolót/gombot használnék ami "nem ragad be", megnyomod, és akkor történik valami :)

rnd093219718

például ilyet, a fizikai kapcsolón nem látszik az állapot, de arra ugye ott a visszajelző led :)
 
Back
Oldal tetejére