• 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

Victor

VIP kertész
Üdv mindenkinek
Úgy gondoltam érdemes volna egy új topicot nyitni, egy , egyszerű , könnyen megépíthető akvárium vezérlőnek. Én mindig csodáltam azokat az embereket, akik egy marék elektronikai alkatrészből, különféle szerkezeteket tudnak építeni, szerencsére ilyen dolgok, már készen is kaphatóak, de azért némi munkánk nekünk is van vele, így némi ügyesség és elektromos ismeret szükséges az összeállításukhoz, és persze egy kis programozási tudás sem árt, de most az alap progit, (amivel kezdőként jó sokat kínlódtam) be fogom majd másolni a fórumra. (progit majd nyugodtan lehet kritizálni , de akkor tessék kijavítani is :sneaky: , és a fejlesztéseket sem vetjük majd meg)
Még egy korábban a növény táppumpákkal kapcsolatos beszélgetések folyamán olvastam először az Arduino-ról, akkor annyira nem is foglalkoztatott a dolog, mivel már tervezgettem a magam ki vezérlőjét PLC ből, ami az azóta el is készült, egy Omron Zen segítségével.
Mostanában egy új terven gondolkodom, és gondoltam, hogy azt miért is ne lehetne ezzel a kis microvezérlővel működtetni . ( csak halkan jegyzem meg, hogy ez a projekt egy indirekt/elektromos bojler összekötése, vezérlése vegyestűzelésű kazánnal) Mivel ez a dolog egy kicsit csúszik, így gyakorlás képen miért is ne lehetne összedobni egy rendszer akváriumhoz. Ahogy olvasom, folyamatosan probléma az időkapcsolók megbízhatósága, pontatlansága, és spec én szeretem, ha nem csúsznak szét a beállítások, mert az egyik siet a másik késik, ha van valamiféle növénytáp pumpa akkor annak meg másodperces időzítés kell stb.
Nos nézzük mire is van szükségünk, először is kell egy arduino microkontroller. Nagyvonalakban annyit érdemes róluk tudni, hogy teljesen free cucc, na nem ingyen adják :) csak maga a panel szabadon gyártható, és a hozzá való programozó szoftver is letölthető az arduino.cc oldalról, nagyon sok mintaprogival, leírásokkal, youtube oktatóvideókkal stb, szóval eléggé támogatott termék. Mivel a panel szabadon gyártható, kifejlesztője csak a nevet védte le ezért infóim szerint a világon 150 körülire tehető azok száma akik gyártják, így olcsón beszerezhető, külföldről !! Kis hazánkban sajna jóval drágább, én a nemzetközi aukciós oldalról 15,45 dollárért (durván 3300 Ft) vettem, és ebben benne volt a posta is, és ezért az árért eleve regisztrált levélként küldték, és a panel minőségében sem találni semmi kivetnivalót. Választásom az arduino uno R3-as paneljére esett, ez egyenlőre bőven elég nekünk , persze másolat így csak UNO R3-felirat van rajta , a cucc amúgy szó szerint tenyérnyi méretű.
17531585_ab5d3cad077f516743584b51dc417cad_m.jpg

A vezérlőben nincs óra, bár le tudja utánozni, de áramszünet esetén elfelejti a beállítást, így érdemes beruházni egy külső órapanelbe, ez potom 2,7 dollár kiadás
17531605_14769e27e0a65afb4544e69eddc55c90_m.jpg
 

Victor

VIP kertész
Természetesen, mivel nagy feszültséget kell kapcsolni, ezért szükség van relépanelre is, ebből is sokfajtát kapni, fontos, az arduino 5 voltos, így ilyen relépanelt választottam. Érdemes körülnézni, mert mint a Tescoban is a liszt, itt is pl 2db 4 relés olcsóbb volt mint 1db 8-as.
én ilyent vettem:
17531587_45dbad6afec6d1e65a8ed28edcf30de9_m.jpg
költség 5,37 dollár/darab (durván:1160Ft)

Szükség van még egy 230voltos tápra is. Arduinohoz 7és 12 volt között bármilyen táp jó, én megközöltem (meg ezt kimondottan ehhez ajánlották, és jó a csatija is), így 9V-ost vettem költség : 6,75$ (durván 1500Ft)
utólag már találtam olcsóbban is, bár amit én vettem 1A-t tud, az olcsóbbak meg csak 0,6A-t
17531663_3de7800c0863acebc2fc353933ccb4d5_m.jpg


Az arduino eredetileg egyfajta tanuló-hobbipanel, a panelnak, és a hozzá csatlakoztatható elemeinek is többnyire rádugós csatlakoztatása van, jól jöhet 1-2 készlet direkt hozzá készített kábel, a reléhez kimondottan szüksége lehet „apa-anya” kábelre. De persze lehet improvizálni megmaradt IDE winyó kábellel, vagy vékony de merev közepű vezetékkel, ha nem akar az ember szórakozni, akkor 3 dollár(természetesen postával) körül beszerezhető
17548889_4d2c2bc4544b3dce18a448ae39228b62_m.jpg
17548887_5536db3fca9402624595e485ad0e4596_m.jpg

Felvetődött még bennem egy kis dilemma, mégpedig, hogy a reléknek valószínűleg elég nagy a fogyasztása, próbák alatt csak 1-2 órára volt, 2 relé huzamosabb ideig működtetve( világítás, CO2), de az arduino feszültségszabályzó része így is eléggé bemelegedett, ezért rendeltem egy ilyent potom 1,73 dollárért (391Ft)
LM2596HV LM2596S DC-DC Step Down CC-CV Adjustable Power Supply Module
terveim szerint ez csinál majd a 9 voltból, 5 voltot
17548941_2787d5d95db58c16fdf18b12dc18e18a_m.jpg

Első körben csak a Co2 illetve a világítás időkapcsolását tudtam leprogramozni, valamint lesz egy „etetőgomb” is ami meghatározott időre lekapcsolja a szűrőt. illetve, hogy a külső reaktor ne teljen meg addig gázzal, így erre az időre az a relé is kikapcsol.

Szóval szükség lesz még egy nyomógombra, és egy 10K ohm-os ellenállásra is
Valamint kell egy USB kábel, de ez jó esetben van is otthon(pl nyomtatóból addig ki kell húzni :) )

Ez így összköltségben 7-8 ezer forint kiadás, ismétlen nem magyarországi , hanem kínai beszerzés esetén, így a dollár árfolyam miatt változhat az ár.

Hamarosan folytatom az összeállítással
 

Beni

VIP kertész
Nagyon irigylem azokat, akiknek mond valamit ez a két poszt. Én végigolvastam, de olyan szintű hiányosságaim vannak, hogy legalább annyira kínai Nekem az írásod, mint a beszerzett alkatrészeid.
Ettől függetlenül kívánok sok sikert, remélem meg tudsz majd oldani minden felmerülő problémát, és sokaknak tudsz majd egy olcsó, de megbízható megoldást mutatni! (y)
 

Victor

VIP kertész
Nagyon irigylem azokat, akiknek mond valamit ez a két poszt. Én végigolvastam, de olyan szintű hiányosságaim vannak, hogy legalább annyira kínai Nekem az írásod, mint a beszerzett alkatrészeid.
Ettől függetlenül kívánok sok sikert, remélem meg tudsz majd oldani minden felmerülő problémát, és sokaknak tudsz majd egy olcsó, de megbízható megoldást mutatni! (y)
Kösz szépen a biztatást! Ha megnyugtat nekem sem villamossági végzettségem van, de úgy hiszem ez a vezérlés dolog is olyan mint az akvarisztika, ha az embert érdekli és van kitartása akkor szép sikereket lehet vele elérni, szerencsére az interneten sok leírást lehet találni, bár sajnos pont olyan programot ami nekünk kell, nem találtam így magamnak kellett "összeollózni" kikísérletezni. A leírást is igyekszem elég részletesen megcsinálni. Minden téren egyszerűbb lenne komplett(PLC) vezérlőből csinálni, de azt 30 ezer alatt nem ússza meg az ember.
Korábbi művem:
Akvárium elektromos vezérlő kicsit másképp | Page 2 | Magyar Akvakertész Fórum
 

Victor

VIP kertész
Első lépések...

Elsőként töltsük le, és csomagoljuk ki a a vezérlőnk fordító, feltöltő szoftverét a gyártó oldaláról:
Arduino - Software
A program tartalmazza a vezérlő driverét is, így ha a PC-hez való csatlakozás után reklamálna a gépünk akkor a program drivers könyvtárában van hozzá szoftver.
Szükséges lehet még beállítani a panelunk típusát, de ha jól emlékszem alapban az UNO van beállítva
USB kábelen keresztül vezérlőnk tápot is kap így egyszerűbb programokkal akár így is kisérletehetünk

Szoftveres rész egyenlőre ennyi , kötözgessünk egy kicsit, kezdjük a nyomógomb bekötésével, ami majd a szűrőt fogja az általunk beállított időre lekapcsolni
Nyomógombot bekötéséről a gyártó oldalán elég jó rajzot találni, (vezérlő felirata ne zavarjon senkit) , a gombon kívül szükségünk lesz egy 10Kohm-os ellenállásra is.
Arduino - Button

Nem tudom feltűnik-e a weboldalon, hogy a felső kép, és az alsó sematikus ábra nem egyforma, a negatív, GND egyiken az alsó, míg a másikon a felső részben van bekötve, ez itt egy érdekes dolog mert nekem van, hogy csak akkor működik ha az alsóba dugom be

Puding próbája az evés :)
A letöltött arduino szoftverünk tartalmaz egy csomó mintaprogramot, ezt a file menü- minták részben találjuk ezen belül nekünk a digital/button program kell, ezt feltöltve a vezérlőnkre, ha mindent jól csináltunk akkor a panelon a L jelű LED, a gombot megnyomva világítani fog.
Természetesen a végső programban nem a LED-et fogjuk kapcsolni, de ellenőrzésnek jó, és siker esetén megvan az első sikerélményünk is(y)
 

feinadam

Főkertész
Szia!
Én is egy hasonló projekten vacilálok már egy ideje. Az alktatrészeim is megvannak leszámíta a clock modul-t. A relék megtáplálásához a plusz táp nem egészen tiszta számomra. Azt nem tudom hány voltos a relé paneled, de pont az a lényege ezeknek a paneloknak hogy le van a relé választva egy optocsatolóval, így nem terheli a mikrovezérlőt, tehát közvetlen rá lehet kötni. A relé panelnak pedig kell egy külső táp. Célszerű olyat választani aminek megegyezik a feszűltsége a mikrovezérlő tápforrásáéval így mehet arról. Én pl 5v-os atmega128- hoz egy 5 voltos relé panelt vettem így a tápforrás ugyan az.
 

Victor

VIP kertész
Szia!
Én is egy hasonló projekten vacilálok már egy ideje. Az alktatrészeim is megvannak leszámíta a clock modul-t. A relék megtáplálásához a plusz táp nem egészen tiszta számomra. Azt nem tudom hány voltos a relé paneled, de pont az a lényege ezeknek a paneloknak hogy le van a relé választva egy optocsatolóval, így nem terheli a mikrovezérlőt, tehát közvetlen rá lehet kötni. A relé panelnak pedig kell egy külső táp. Célszerű olyat választani aminek megegyezik a feszűltsége a mikrovezérlő tápforrásáéval így mehet arról. Én pl 5v-os atmega128- hoz egy 5 voltos relé panelt vettem így a tápforrás ugyan az.
Szia!

Nem lesz plusz táp, az UNO R3-asban van feszültségátalakító ezért lehet 7-12Volt közötti tápot használni, eredetileg magáról az alappanelről tápláltam a relépaneleket is, amik 5 voltosak mint az arduino. Csak a tesztek alatt vettem észre, hogy a relék eléggé megterhelhetik a panel ezen részét, így utólag vettem ezt az átalakítót, ami a héten meg is jött, ez kicsit masszívabb alkatrészekkel rendelkezik, mint az arduinon lévők, bemenetere 4,75-35 voltig lehet kötni, kimenet pedig 1,25-26 voltig állítható, max. 3A tud az egész úgy 2x6centis kis panel. Ilyesmi bekötésben gondolkodom
17659847_d00dcfaca7601b20f8e0899d33552ec7_m.jpg
Amúgy köszönöm szépen, hogy jelezted ezt a kis bakit, ezért jó ezt a fórum :) , igazad van abban, hogy jobb lett volna 5 voltos tápot vennem, csak mikor keresgéltem az aukciós oldalon, arduinohoz való tápokhoz ezt a 9 voltos tápot dobta ki a kereső, és nem is gondoltam akkor más tápra, hiszen a panel leírásánál ,meg 7-12voltos tápot írtak.
Lehet, megpróbálom, hogy a tápcsatira kötve mükszik-e 5 voltról is a panel, ez lenne a jó, mert a panel automatikusan vált tápforrást, az USB-ről jövő tápról, a külső tápra, ha azt bedugom mellé.
Nem tudom, nem-e gond, ha a fenti bekötés mellett be van dugva az USB is
 

gberecz

Kertész szaki
Nagyon jó kis projekt, sok sikert hozzá!

Én beszereztem egy Raspberry PI-t és első körben csak a hőmérséklet és ph mérésen gondolkodtam, de ezek után meg kell fontolnom majd a te tapasztalataid felhasználását is (y)
 

tsava

Kertész tanonc
Szia mérd meg egy multiméterrel hogy az USB földje össze van e kötve a tápcsati földjével. Ha igen akkor mehet egyszerre ha nem, akkor lehetnek meglepetések.
 

hectorvti

Kertész szaki
Szia mérd meg egy multiméterrel hogy az USB földje össze van e kötve a tápcsati földjével. Ha igen akkor mehet egyszerre ha nem, akkor lehetnek meglepetések.
A Duemilanove-nél összevan, szerintem az R3-nál is!!!
 

attibva

Legenda
Legjobb napló
Le a kalappal! ;) Én még 1995-ben végeztem elektronikai műszerész technikuskén a Kolosban, de ez már nekem is kínai... szégyenszemre... ;) kíváncsi vagyok mit kerekítesz ki belőle!
 

Victor

VIP kertész
Le a kalappal! ;) Én még 1995-ben végeztem elektronikai műszerész technikuskén a Kolosban, de ez már nekem is kínai... szégyenszemre... ;) kíváncsi vagyok mit kerekítesz ki belőle!
Én meg 1993-ban esztergályos szakmunkásként itt Várpalotán a Fallerban ;) , ez még nem is bonyolult, csak vezetékezünk:sneaky: , ha lesz időm, délután megírom az óramodulra vonatkozó rész , az már kicsit trükkösebb.
 

Victor

VIP kertész
Bekötöttem a rendszert 5 voltal, és a fenti ábra szerint bekötve, vagyis nem a tápcsatin kapja a feszültséget. Szépen működik, és az USB csatit is rá lehet dugni közben és rátölteni a progit vagy lekérdezni az óraállást. (itt ugye az a szitu,, hogy az USB 5 voltjáról is műkszik, de automatikusan átvált ha külső tápot dugunk be, csak ezt a részt valószínűleg ezzel a módszerrel megkerüljük)
Viszont ha az 5voltot a tápcsatiján keresztül kapja az már nemigazán szereti, nincs ereje működtetni a reléket.
Aki kíváncsi mi is lesz belőle, annak elárulom, jó nagy kábeldzsunbuj ;) persze végleges verzióban, dobozoláskor szépen el lehet mindent rendezni. Már korábban, hetekkel ezelőtt is összeraktam, de most hagyom, had menjen folyamatosan pár napig. Most kapcsolt le 19-kor a "világítás" :)
17666475_65a2daa76c50783726f6cf6a942ae647_m.jpg
 

TZ

VIP kertész
Victor, ez szenzációs!

Köszi, hogy megosztottad velünk! Mindig ilyen cuccokra vágytam, de elég analóg vagyok, így magamtól nem bukkantam rá. Sajnos a jelenleg készülő akváriumhoz már mindent beszereztem, más megoldással lesznek vezérelve a dolgok. Ha kész, beszámolok majd róla, de rögtön utána beszerzem ezeket arduino kütyüket. ;)
 

Victor

VIP kertész
Köszönöm mindenkinek a dicséreteket, akkor jöjjön a következő lépés kössük és üzemeljük be a óramodult.

A DS1307-es RTC (Real Time Clock) panelt a következő ábra szerint kell bekötni, annyi különbséggel, hogy nekünk a DS/ digital 2-es(szaggatott vonallal összekötött) kapcsolatot nem kell megcsinálni, ez egy kis quarcóra lelke, így van benne ébresztés is, na arra nekünk nincs szükségünk, 2-es bemenetre amúgy is az etetőgombot kötjük :)


Amikor végeztünk a bekötéssel, akkor ugye be kellene állítani a pontos időt, amihez szükségünk van a testRTC nevű programra, sajnos ez nincs az arduino mintaprogramjai között (file menü/minták) viszont innen letölthető egy zippel csomag pár kiegészítő mintaprogrammal, köztük az előbb említett progi is :
arduinolibs/libraries/RTC at master · rweather/arduinolibs · GitHub
Az arduinolibs-master.zip file letöltéséhez az alábbi gombra kell kattintani:

(előfordulhat, hogy nem jelenik meg a letöltőgomb, akkor katt a "Files" )
Miután kicsomagoltuk, akkor a "libraries" könyvtár tartalmát másoljuk be az arduino programunk szintén ugyanilyen nevű könyvtárába. Ezután a mintaprogramok új elemekkel bővülnek, töltsük be innen a Test RTC programot (file/minták/RTC).
A programot töltsük fel a vezérlőnkre, miután feltöltődött, kattintsunk a keretprogramunk jobb felső részében, a nagyítóra emlékeztető ikonra, ekkor az alábbi ablak jelenik meg:

Itt tudjuk beállítani az órát, és a dátumot, valamint az ébresztést, de ezt ugye most nem használjuk, igazából a dátumot sem muszáj :)
Fontos! Mindet az ott látott formában, de nagy zárójelek nélkül kell beírni, pl: TEMP 15:00:00
Ha jól csináltuk akkor a következő szöveget olvassuk "Time has been set to: 15:00:00"
Miután beállítottuk az órát, és aki akarta a dátumot, NVRAM paranccsal mentsük el a beállítást az órapanelbe.
Ha jól csináltunk mindent akkor egy új ablakba bemásolva, és feltöltve az alábbi programot, majd szintén a kis nagyítóikonra kattintva szépen másodpercenként frissítve láthatjuk az aktuális időt:

Kód beillesztése:
#include <Wire.h>
 
int hour;
int minute;
int second;
int month;
int day_of_week;
int day;
int year;
int relPin = 9;
 
char* dow[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
 
void setup()
{
  Serial.begin(9600);
  Wire.begin();
  digitalWrite(relPin, LOW);
  pinMode(relPin,OUTPUT);
}
 
void loop()
{
  // Below required to reset the register address to 0.
  Wire.beginTransmission(104); // transmit to device #104, the ds 1307
  Wire.write(0x00);
  Wire.endTransmission();    // stop transmitting
 
  Wire.requestFrom(104, 7);    // request 7 bytes from slave ds1307, we'll assume it'll send them all even though it doesn't have to
  second = Wire.read();
  minute = Wire.read();
  hour = Wire.read();
  day_of_week=Wire.read();
  day = Wire.read();
  month = Wire.read();
  year = Wire.read();
 
  // Convert all the BCD values that might have "tens" to decimal.  Most arduino folks do this w/shifts but this just looks easier to me.
  hour=hour/16 * 10 + hour % 16;
  minute=minute/16 * 10 + minute % 16;
  second=second/16 * 10 + second % 16;
  day=day/16 * 10 + day % 16;
  month=month/16 * 10 + month % 16;
  year=2000 + year/16 * 10 + year % 16;
 
  Serial.print(hour);
  Serial.print(":");
  if (minute < 10) { Serial.print("0"); }
  Serial.print(minute);
  Serial.print(":");
  if (second < 10) { Serial.print("0"); }
  Serial.print(second);
  Serial.print(" ");
  Serial.print(dow[day_of_week-1]);  // array is 0-6, but the dow register holds 1-7, so subtract 1.
  Serial.print(", ");
  Serial.print(month);
  Serial.print("/");
  Serial.print(day);
  Serial.print("/");
  Serial.print(year);
  Serial.print("\n");
 
  delay(1000);
}
Ezzel az óra bekötése, beállítása meg is van, már csak a relépanelt kell csatlakoztatni, feltölteni a végleges progit
 

Victor

VIP kertész
Relépanel

Nemzetközi aukciós oldalon rákeresve (arduino relay) nagyon sok találatot dob ki a kereső, direkt ezekhez a vezérlőkhöz ajánlva árulnak, különböző relészámmal rendelkező relépaneleket. Korábban is elhangzott, hogy érdemes ebből 5 voltosat választani, mivel a vezérlőnk is ilyen feszültségen működik. bekötésnél a panelt direktben is meg kell táplálni. Egy ilyen bekötést egy korábbi hozzászólásomnál is láthattok, persze a bemenetek elhelyezkedése ettől eltérhet, nálam pl. elöl van a pozitív (VCC) illetve a negatív(GND) csatlakozása.
17682939_e3247e289f91ef57143c935eb0687726_m.jpg
Az általam szerkesztett progamnál egyenlőre csak 3 relét fogunk használni, ki melyik relét köti be az szabadon választott, arduino panelon a kimenetekre programozott funkciók a következők:
2-es kimeneten van a nyomógomb
3-ason a szűrő, értelem szerűen itt az ide tartozó relé, alapban zárt ágát kell bekötni
4-esen a világítás
5-ösön pedig a CO2

Még maradt egy relénk erre lehetne éjszakára légpumpát kötni, de ez egyenlőre még nincs a programba, valamint , mivel van még bőven szabad kimenetünk, így abban szeretném majd programozáshoz értő (azt hiszem az arduino alapja C++) akvarista társak segítségét kérni, hogy egy adott időben hogyan lehet x másodpercre bekapcsolni egy kimenetet, ez jól jönne növénytáppumpák kapcsolásásnál. de sajna egyenlőre nem tudom hogy is kellene kinéznie egy ilyen programrésznek .
Sajnos nem nagyon találtam ilyen órakapcsolással kapcsolatos mintaprogramokat se, de sikerült nagy nehezen kikönyörögni egy kis segítséget, hogy az egy esetleges áramszünet után is működjön.
Igyekeztem meg kommentezni a programot, de azért leírom itt is a beállítást. Az adott kimenet beállítását egy egyszerű matematikai művelet értékét kell módosítani
Ha azt szeretnénk, hogy a világítás reggel 8 és 20 között működjön, akkor ezt a következő matematikai egyenletbe foglaljuk bele
kapcsoljon be a kimenet, ha az aktuális óra x60 hozzáadva a percet nagyobb mint 480, DE kisebb mint 1200
Ez leprogramozva:
if (hour*60+minute>480 and hour*60+minute<1200)
Szóval a megfelelő be és kikapcsolási időt ennek a két vastagon kiemelt értéknek a változtatásával lehet beállítani.
Remélem sikerült mindenki számára érthetően leírni :)

Akkor a program:
Kód beillesztése:
#include <Wire.h>
 
int hour;
int minute;
int second;
int buttonPin = 2; //nyomogomb bemenet
int rel2Pin = 3;  // "etetogomb" szűrőstop a beállított ideig
int relPin = 4;//vilagitas kimenet
int relco2Pin = 5; //CO2 vezerles
int buttonState = 0; 
 
void setup()
{
  Serial.begin(9600);
  Wire.begin();
  digitalWrite(relPin, LOW);
  pinMode(relPin,OUTPUT);
  pinMode(rel2Pin, OUTPUT);
  pinMode(relco2Pin, OUTPUT);
  pinMode(buttonPin, INPUT);
}
 
void loop()
{
 
 
Wire.beginTransmission(104);
Wire.write(0x00);
Wire.endTransmission();   
Wire.requestFrom(104, 7); 
second = Wire.read();
minute = Wire.read();
hour = Wire.read();
 
hour=hour/16 * 10 + hour % 16;
minute=minute/16 * 10 + minute % 16;
second=second/16 * 10 + second % 16;
 
 
Serial.print(hour);
Serial.print(":");
if (minute < 10) { Serial.print("0"); }
Serial.print(minute);
Serial.print(":");
if (second < 10) { Serial.print("0"); }
Serial.print(second);
Serial.print("\n");
delay(1000);
 
//Etetogomb
  buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{   
digitalWrite(rel2Pin, HIGH);
digitalWrite (relco2Pin, LOW);
delay(120000);  //etetogomb idozitese millisekundumban
}
else
{
digitalWrite(rel2Pin, LOW);
}
 
// Vilagitás (be) and (ki) ha 10:10 kor szeretned bekapcsolni, akkor 10x60+10=610, ezt ird be, hasonló az eljárás, a kikapcsolási idővel
 
  if (hour*60+minute>540 and hour*60+minute<1140)
{
digitalWrite (relPin, HIGH);
}
else
{
digitalWrite (relPin, LOW);
}
 
//CO2 vezerles, kapcsolás, az etetőgomb megnyomásakor felfüggesztődik, hogy a reaktor ne teljen meg gázzal
 
if (hour*60+minute>480 and hour*60+minute<1080)
{
digitalWrite (relco2Pin, HIGH);
}
else
{
digitalWrite (relco2Pin, LOW);
}
 
 
 
}
 

rodenj

Tapasztalt kertész
Relépanel
Még maradt egy relénk erre lehetne éjszakára légpumpát kötni, de ez egyenlőre még nincs a programba, valamint , mivel van még bőven szabad kimenetünk, így abban szeretném majd programozáshoz értő (azt hiszem az arduino alapja C++) akvarista társak segítségét kérni, hogy egy adott időben hogyan lehet x másodpercre bekapcsolni egy kimenetet, ez jól jönne növénytáppumpák kapcsolásásnál. de sajna egyenlőre nem tudom hogy is kellene kinéznie egy ilyen programrésznek .
Sajnos nem nagyon találtam ilyen órakapcsolással kapcsolatos mintaprogramokat se, de sikerült nagy nehezen kikönyörögni egy kis segítséget, hogy az egy esetleges áramszünet után is működjön.
[/code]
Szia, az ardunio hivatalos oldalán van erre megoldás, pl. a relé modulnál, alul van program részlet, x másodpercre bekapcsolás:

TinkerKit Relay Module [T010010] - €8.90 : Arduino Store - community and electronics
 

Victor

VIP kertész
Szia, az ardunio hivatalos oldalán van erre megoldás, pl. a relé modulnál, alul van program részlet, x másodpercre bekapcsolás:

TinkerKit Relay Module [T010010] - €8.90 : Arduino Store - community and electronics
Köszi a linket, de ez nekünk nem jó, mivel csak másodpercenként ki-be kapcsolgatja a relét, nekünk viszont olyan parancs kell, hogy egy bizonyos időpontban kapcsoljon be pár másodpercre egy kimenetet, de aznap többet ne,(esetleg carbo-nál még 1x ha valaki két részre osztja a napi adagot) ez ugye a növénytáppumpákhoz kellene , amik, pl ami nekem van, 1ml-t nyom másodpercenként. Ablakmosó szivattyús megoldásnál, pedig még rövidebb időzítés kell.
 

soosgy

Nézelődő
Köszi a linket, de ez nekünk nem jó, mivel csak másodpercenként ki-be kapcsolgatja a relét, nekünk viszont olyan parancs kell, hogy egy bizonyos időpontban kapcsoljon be pár másodpercre egy kimenetet, de aznap többet ne,(esetleg carbo-nál még 1x ha valaki két részre osztja a napi adagot) ez ugye a növénytáppumpákhoz kellene , amik, pl ami nekem van, 1ml-t nyom másodpercenként. Ablakmosó szivattyús megoldásnál, pedig még rövidebb időzítés kell.
Szia Victor,

Tetszik ez a projekted, arduino szerintem nagyon jó ilyen célra.

A problémádra nagyon egyszerű a megoldás: ugyanaz kell Neked a tápadagoláshoz, mint amit a fentebbi kódban már szépen megvalósítottál :)

A tápadagolásra használhatod ugyanazt a módszert, mint a lámpa és a co2 esetében: adott időintervallumban kell bekapcsolni a pumpát, csak itt másodpercekkel számolsz. Ha ez túl hosszú, akkor az etetőgombnál használt megoldással tudod ötvözni: ha eljött az idő, akkor bekapcsolja a pumpát, majd a delay() függvénnyel millisec-re tudsz időzíteni, utána lekapcsolod.
 
Oldal tetejére