Sistema de Riego Automatizado

23
SISTEMA DE RIEGO AUTOMATIZADO PARA IMPLEMENTACIÓN EN LOS HUERTOS URBANOS INTELIGENTES ELEMENTOS UTILIZADOS: Arduino MEGA 2560 Electroválvula Sensor Higrómetro

description

Propuesta para realizar un Sistema de Riego Automatizado

Transcript of Sistema de Riego Automatizado

SISTEMA DE RIEGO AUTOMATIZADO PARAIMPLEMENTACIN EN LOS HUERTOS URBANOSINTELIGENTESELEMENTOS UTILIZADOS:Arduino MEGA 2560ElectrovlvulSen!or "i#r$%etroSen!or de Te%&ertur LM'5Sen!or Electrodo ("M$dulo de ) *el+!Microcontroldor (I,-./)550Tr0et M!ter1(ro#M$dulo ,onvertidor SerilTTL2uente de 3olt0eTr0et US4(-5SO2T6A*E UTILIZADO:Micro!o/t 3i!ul Studio 7 ,8,o%&ildor (I, ,(ro#r%dor Arduino3irtul Seril (ort DriverEn&ri%erlu#r9 !ecre$uninter/:en,8&rlco%unicci$nentrelt;let del controldor < un co%&utdor l&to&=E!t &ntll %ue!tr en tie%&o rel: lo! vlore! de lo! 6 !en!ore! de >u%edd ?>i#r$%etro!@ lo! vlore! de lo! 6 !en!ore! de te%&ertur LM'5 el dto ctul reci;ido &or &rte del (I, el vlor envido l controldor &r deter%inr !i l#un electro vlvul;re o cierr el vlor ctul del ti%er del controldor ?0unto con l o&ci$n de &oderlo%odiAcr &r cli;rrlo en c!o de l#un de!/:%iento@ un #rAc donde !e %ue!trn l! Blti%! vricione! en lo! vlore! de>u%edd < te%&erturAde%!9 cdvlorreci;idodelo!!en!ore!de>u%eddu%edd o te%&ertur9 e inver!%ente9 in/eriorreAriendo!eun vlor de >u%edd ;0o < un te%&ertur ;0@ con lo cul !e&retende deter%inr !i e! nece!rio ;rir o cerrr l vlvul de l#un c% decultivo=A continuci$n !e &re!ent el c$di#o en ,8 de e!te &ro#r%:u!in# Sredin#=T!I!Gu!in# Sredin#Gu!in# Sr crGdou;le conv K 0G!trin# *eci;irdtoG!trin# 4uLerEnvioKM0MG!trin# 4uLerInG!trin# !en!orGc>r inde5Gc>r inde52G&u;lic 2or%-?@JInitili:e,o%&onent?@Gi/ ?N!eril(ort-=I!O&en@Jtr ?SoH?e5=ToStrin#?@@GO!eril(ort-=Dt*eceived PK neH SGcr K *eci;irdtoT*eci;irdto=Len#t> 1 -UGtr ?E5ce&tion e5@Jinde5 K V,VGinde52 K V,VGO l;el.=Te5t K inde52=ToStrin#?@P*eci;irdto=Len#t>=ToStrin#?@ P *eci;irdtoGi/ ?*eci;irdto=Len#t> Q .@J*eci;irdto K MMGO*eci;irdto K *e#e5=*e&lce?*eci;irdto9MTW01XUPM9!trin#=E%&t QK -@Jint te%& K ,onvert=ToInt'2?*eci;irdto@G!Hitc> ?te%&@ Jc!e 0:4uLerEnvio K M0MG;reIGc!e -:4uLerEnvio K M-MG;reIGc!e 2:4uLerEnvio K M2MG;reIGc!e ':4uLerEnvio K M'MG;reIGc!e ):4uLerEnvio K M)MG;reIGc!e 5:4uLerEnvio K M5MG;reIGc!e 6:4uLerEnvio K M6MG;reIGc!e Z:4uLerEnvio K MZMG;reIGc!e .:4uLerEnvio K M.MG;reIGc!e X:4uLerEnvio K MXMG;reIGde/ult:;reIGO!en!or K MSen!or -MGte%& K 0GOYR!Hitc> ?inde5@Jc!e VAV:tr?E5ce&tion e5@JO;reIGde/ult:;reIGc!e VTV:!Hitc> ?inde52@Jc!e VSV:l;l"or=Te5t K *eci;irdtoG;reIGc!e V,V:t;5Sen!orT-=Te5t K *eci;irdtoGi/ ?,onvert=ToInt-6?*eci;irdto@ [ nu%T%in-=3lue@Jt;5Sen!orT-=4cI,olor K ,olor=Li#>t4lueGOel!e i/ ?,onvert=ToInt-6?*eci;irdto@ Q nu%T%5-=3lue@Jt;5Sen!orT-=4cI,olor K ,olor=Orn#e*edGOel!eJt;5Sen!orT-=4cI,olor K ,olor=\elloHGreenGO;reIGc!e VAV:conv K ?,onvert=ToDou;le?*eci;irdto@ Y 5=Z@ R -0=2)GRRconv K ,onvert=ToDou;le?*eci;irdto@Gt;5Sen!orT'=Te5t K conv=ToStrin#?@Gi/ ?,onvert=ToInt-6?conv@ [ nu%T%in'=3lue@Jt;5Sen!orT'=4cI,olor K ,olor=Li#>t4lueG4uLerEnvio K M0MGOel!e i/ ?,onvert=ToInt-6?conv@ Q nu%T%5'=3lue@Jt;5Sen!orT'=4cI,olor K ,olor=Orn#e*edG4uLerEnvio K M-MGOel!eJt;5Sen!orT'=4cI,olor K ,olor=\elloHGreenG4uLerEnvio K M0MGO;reIGde/ult:;reIGO;reIGRYc!e V"V:!Hitc> ?inde52@Jc!e V,V:t;5Sen!or"-=Te5t K *eci;irdtoGRYi/ ?,onvert=ToInt-6?*eci;irdto@ [ nu%T%in-=3lue@Jt;5Sen!orT-=4cI,olor K ,olor=Li#>t4lueGOel!e i/ ?,onvert=ToInt-6?*eci;irdto@ Q nu%T%5-=3lue@Jt;5Sen!orT-=4cI,olor K ,olor=Orn#e*edGOel!eJt;5Sen!orT-=4cI,olor K ,olor=\elloHGreenGO;reIGc!e VAV:conv K ?,onvert=ToDou;le?*eci;irdto@ Y =5Z@ R -0=2)GRRconv K ,onvert=ToDou;le?*eci;irdto@Gt;5Sen!or"'=Te5t K conv=ToStrin#?@Gi/ ?,onvert=ToInt-6?conv@ [ nu%"%in'=3lue@Jt;5Sen!or"'=4cI,olor K ,olor=Li#>t4lueG4uLerEnvio K M2MGOel!e i/ ?,onvert=ToInt-6?conv@ Q nu%"%5'=3lue@Jt;5Sen!or"'=4cI,olor K ,olor=Orn#e*edG4uLerEnvio K M'MGOel!eJt;5Sen!or"'=4cI,olor K ,olor=\elloHGreenG4uLerEnvio K M2MGO;reIGde/ult:;reIGO;reIGde/ult:;reIGYR

OMonitor=Te5t K MMGMonitor=Te5t PK *eci;irdtoPM]r]nMP4uLerEnvioPM 11Q MPinde52Gc>rt-=Serie!TMTe%&erturMU=(oint!=,ler?@Gc>rt-=Serie!TMTe%&erturMU=(oint!=AddS\?MMP!en!orPMM9 MMP*eci;irdtoPMM@Gc>rt-=U&dte?@GRR!eril(ort-=Di!crdOut4uLer?@GRR!eril(ort-=6rite?4uLerEnvio@G*eci;irdto K MMGO&rivte void ;tnSlir^,licI?o;0ect !ender9 EventAr#! e@J,lo!e?@GO&rivte void ;tnSendTi%e^,licI?o;0ect !ender9 EventAr#! e@J!trin# >or9 %inu9 !e#uGi/?nu%"or=3lue=ToStrin#?@=Len#t>[2@J>orKM0MPnu%"or=3lue=ToStrin#?@GOel!eJ>or K nu%"or=3lue=ToStrin#?@GOi/ ?nu%Minu=3lue=ToStrin#?@=Len#t> [ 2@J%inu K M0M P nu%Minu=3lue=ToStrin#?@GOel!eJ%inu K nu%Minu=3lue=ToStrin#?@GOi/ ?nu%Se#u=3lue=ToStrin#?@=Len#t> [ 2@J!e#u K M0M P nu%Se#u=3lue=ToStrin#?@GOel!eJ!e#u K nu%Se#u=3lue=ToStrin#?@GOl;l"orEnvio=Te5t K >orPM:MP%inuPM:MP!e#uG4uLerEnvio K MSSMP>orP%inuP!e#uG!eril(ort-=Di!crdOut4uLer?@G!eril(ort-=6rite?4uLerEnvio@GOOOSe utili:$ el !o/tHre 3irtul Seril (ort Driver &r e%ulr lo! &uerto! ,OM l%o%entodel!!i%ulcione!con(roteu!&rlcorrectco%unicci$nu%edd9 !e le! !oldronlrededor de Z %etro! de c;le UT(?&r cu;rir l di!tnci del centro de lc% de cultivol ;Euelit donde e!t; in!tldo elcontroldor@ < !e i!lron contr el #u l#un! &rte!e5&ue!t!= Ade%!9 !etuvoEuein!tlr un;Euelconc&citore! &r reducir l! inter/erenci! cu!d!&rinci&l%ente &or l! di!tnci! tn lr#! de lo! c;le!=Se utili:$ un t;let Arduino Me# 2560 &r reli:r l! &ri%er!de%o!trcione! del !i!te% de rie#o9 de;ido!u !encill < r&idconA#urci$n tnto de &uerto! de !lid! < entrd! co%o de co%unicci$n!eril= Ae!tt;let!eleconect$el %$dulode)rel+!&rcontrolrl!electrovlvul! in!tld! en l! c%! de cultivo < l ;Euel de c&citore!de lo! !en!ore!=Durnte l! &ri%er! &rue;!9 !e e%&leron Bnic%ente un !en!or de>u%edd < uno de te%&ertur= El !en!or de >u%edd deter%in;9&rtirde cierto vlor de volt0e9 !i l tierr ;0o rie#o >;F lcn:do un vlor de>u%edd ce&t;le ?lo Eue cerr; el &!o de #u@9 < en c!o contrrio9 !i lo!vlore! de >u%edd ern %u< ;0o! ?lo cul &er%itF el &!o de #u &r elrie#o@= Se!ercior$ Eueel vlor dete%&ertur e!tuvie!ere#i!trndolo!c%;io! corre!&ondiente!lo lr#o del rie#o=De!&u+!9 %edinte el u!o de te%&ori:doe!9 !e &ro#r%$ el controldorArduino &r Euelo lr#o deldF !e >iciern do! !e!ione! de rie#o en l!c%! de cultivo9 unl! Z de l %_n9 < otrl! X de l noc>e= De;ido l! vricione! en l &re!i$n >idrulic9 !e con!ider$ evitr Eue %! de unelectrovlvul !e ;rie!en l %i!%o tie%&o9 &r lo cul !e le! diocd unun tie%&o de 5 %inuto! &r ;rir!e9 < cerrr!e l t+r%ino de e!te tie%&o o l%o%ento en Eue el !en!or >i#ro%+trico lo deter%in!e9 e!to con l Anliddde !e#urr Eue cd cultivo reci;ier l !uAciente cntidd de #u=Ade%!9 &r&revenir c!o!de/llenel !u%ini!troel+ctricode,2E9 !econ!ider$ Eue el vlor de l! vri;le! del te%&ori:dor !e l%cen!en en l%e%ori EE(*OM del controldor= Si ;ien9 e!to no &reviene lo! de!/:%iento!9l %eno! lo! &odrF reducirvlore! %! ce&t;le! ?vricione! en %inuto!en lu#r de >or!@=A continuci$n !e &re!ent el c$di#o e!crito &r el Arduino MEGA 2560:8include [EE(*OM=>QRR vr1li;c li;rr< include!8include [vrRio=>Q8include [vrRinterru&t=>Q 8deAne 3AL3(IN- 28deAne 3AL3(IN2 '8deAne 3AL3(IN' )8deAne 3AL3(IN) 5int !/K0Gint !!K-Gint !%K2Gint !>K'Gint `#Gint !econd!K0Gint %inute!K0Gint >our!KZGStrin# envioGvoid !etu&?@J&inMode?3AL3(IN-9 OUT(UT@G&inMode?3AL3(IN29 OUT(UT@G&inMode?3AL3(IN'9 OUT(UT@G&inMode?3AL3(IN)9 OUT(UT@G

di#itl6rite?3AL3(IN-9"IG"@Gdi#itl6rite?3AL3(IN29"IG"@Gdi#itl6rite?3AL3(IN'9"IG"@Gdi#itl6rite?3AL3(IN)9"IG"@G

`# K EE(*OM=red?!/@Gi/?`#KK0@J!econd! K EE(*OM=red?!!@G%inute! K EE(*OM=red?!%@G>our! K EE(*OM=red?!>@GO

RR initili:e Ti%er-cli?@GRR di!;le #lo;l interru&t!T,,*-A K 0G RR !et entire T,,*-A re#i!ter to 0T,,*-4 K 0G RR !%e /or T,,*-4 RR !et co%&re %tc> re#i!ter to de!ired ti%er count:O,*-A K -562)GRR turn on ,T, %ode:T,,*-4 aK ?- [[ 6GM-2@GRR Set ,S-0 nd ,S-2 ;it! /or -02) &re!cler:T,,*-4 aK ?- [[ ,S-0@GT,,*-4 aK ?- [[ ,S-2@GRR en;le ti%er co%&re interru&t:TIMSb- aK ?- [[ O,IE-A@GRR en;le #lo;l interru&t!:!ei?@GSeril=;e#in?X600@GO void loo&?@J

Seril=&rintln?%inute!@G

RR*IEGO DE LA MAcANAi/??%inute!QK0 dd %inute![5@ dd >our!KKZ@Jdi#itl6rite?3AL3(IN-9LO6@GO

i/??%inute!QK5 dd %inute![-0@ dd >our!KKZ@Jdi#itl6rite?3AL3(IN29LO6@Gdi#itl6rite?3AL3(IN-9"IG"@GO

i/??%inute!QK-0 dd %inute![-5@ dd >our!KKZ@Jdi#itl6rite?3AL3(IN'9LO6@Gdi#itl6rite?3AL3(IN29"IG"@GO

i/??%inute!QK-5 dd %inute![20@ dd >our!KKZ@Jdi#itl6rite?3AL3(IN)9LO6@Gdi#itl6rite?3AL3(IN'9"IG"@GO

i/?%inute!QK20 dd >our!KKZ@Jdi#itl6rite?3AL3(IN)9"IG"@GO

RR*IEGO DE LA NO,"Ei/??%inute!QK0 dd %inute![5@ dd >our!KK2-@Jdi#itl6rite?3AL3(IN-9LO6@GO

i/??%inute!QK5 dd %inute![-0@ dd >our!KK2-@Jdi#itl6rite?3AL3(IN29LO6@Gdi#itl6rite?3AL3(IN-9"IG"@GO

i/??%inute!QK-0 dd %inute![-5@ dd >our!KK2-@Jdi#itl6rite?3AL3(IN'9LO6@Gdi#itl6rite?3AL3(IN29"IG"@GO

i/??%inute!QK-5 dd %inute![20@ dd >our!KK2-@Jdi#itl6rite?3AL3(IN)9LO6@Gdi#itl6rite?3AL3(IN'9"IG"@GO

i/?%inute!QK20 dd >our!KK2-@Jdi#itl6rite?3AL3(IN)9"IG"@GOO IS*?TIME*-^,OM(A^vect@J!econd!PPGi/ ?!econd! QK 60@J!econd! K 0G%inute!PPGOi/?%inute! QK 60@J%inute!K0G>our!PPGOi/?>our! QK 2)@J>our!K0GOEE(*OM=Hrite?!!9!econd!@GEE(*OM=Hrite?!%9 %inute!@GEE(*OM=Hrite?!>9 >our!@GEE(*OM=Hrite?!/9 0@GRRdi#itl6rite?LED(IN9 Ndi#itl*ed?LED(IN@@GYROEnlet&Anl del &ro