Download - Instalación de Riego Tecnificado
-
8/16/2019 Instalación de Riego Tecnificado
1/4
INSTALACIÓN DE RIEGO TECNIFICADOCON ARDUINO Y PHYTON
Según nuestra tesis el sistema miltila!"rma se #asa en el $"ntr"l %m"nit"ri&a$i'n (el rieg" te$ni!i$a(") % este m"nit"re" tiene *n!asis en la
+ume(a( si !alta " n" agua en la lantas (e t"("s l"s rega(,"s) si (eseas$"ntr"lar tam#i*n la salini(a() temeratura) a$i(es) et$- se ue(en $"mrartam#i*n es"s sens"res .ue ue(en ser r"grama#les % a(+eri("s al ar(uin""r l" r"nt" s"l" +arem"s rue#a $"n el (e la +ume(a( % su a$ti/a$i'n %a seamanual " aut"m0ti$a % es $"m" sigue1
Plan"
Des$argam"s a la $ el IDE (e ar(uin" % l" r"gramam"s (e la siguientemanera) si el ni/el (e + " +ume(a( es alt" $ierra el $ual agregarem"s al ser/"" lla/e el siguiente $'(ig" en la li#rer,a
// incluimos la librería Caño o servo#include ;// establecemos los pinesconst int sensorPin = 2;// pin para el led indicadorconst int ledPin = 12;// iniciamos en estado ceroint estado = 0;
int estadoOff =0;// estado del sensor inicia en ceroint sensorState = 0;Servo mservo;
void setup!"//Confi$uraci%n de los pinespin&ode!ledPin' O()P()";pin&ode!sensorPin' *+P()";mservo,attac-!.";void loop!"// verificamos constantemente el pin del sensorsensorState = di$italead!sensorPin";
if !sensorState == O"
-
8/16/2019 Instalación de Riego Tecnificado
2/4
// si el suelo esta -umedo in$resa a3uíif!estado == 0"// iniciamos el servomservo,attac-!.";// movemos el servomservo,4rite!120";dela!500";
// detenemos el servo sin ener$íamservo,detac-!";estado = 1;estadoOff = 0;// combiamos el estado para 3ue efectue el cierre de la v6lvulaelse if!estadoOff == 0"// sentido opuesto no -a -umedad abrimos la v6lvulamservo,attac-!.";mservo,4rite!0";dela!500";mservo,detac-!";estadoOff = 1;estado = 0;
Si tienes e2erien$ia $"n el ar(uin" ues ue(es agregar la li#rer,a al lengua3e(e r"grama$i'n .ue (esees %a sea +) P%t+"n) et$) ara "(er gra#ar l"s(at"s (e l"s sens"res) % (e all, "(er $"man(ar uest" .ue %a te (i las/aria#les % mientras se agregue esta li#rer,a ue(en in!luir en el sistema) a+"ratrat0n("se (e un sistema multilata!"rma) 4'sea .ue ue(e ser $"man(a(" "r internet ten(r,am"s .ue agregar una tar3eta (e re( al ar(uin" " un et+ernet
s+iel(5-
P"r e3eml" si (eseas $aturar l"s (at"s (e l"s sens"res en + % m%s.l % latar3eta (e re( 4tenem"s .ue tener an"ta(a la ma$ (e la tar3eta (e re( uest".ue n"s ser/ir0 $"m" i(enti!i$a("r5In$lu%e la li#rer,a ini$ialmente % el s6et$+ (esu*s e3eml"1
Usarem"s el siguiente s6et$+
#include 7SP*,-8#include 79t-ernet,-8
// &ac unica de cada 9t-ernetS-ield !deben cambiarla"bte mac: = 0
-
8/16/2019 Instalación de Riego Tecnificado
3/4
// >atos del sensorfloat P-C; // Dumedad o P-int &E5 = 0; // Pin 0 del rduino
void setup!" // *nicialiAa puerto serial Serial,be$in!.F00";
Serial,println!B#### rie$otecnificado,pe ####B"; Serial,println!BSensor de Dumedad &E5/ 4ebB"; // 9spera 1 se$undo para 3ue se inicie la tarGeta 9t-ernet dela!1000";// *nicialiAa la tarGeta et-ernet mediante >DCP 9t-ernet,be$in!mac"; // *mprime la direccion *P de la tarGeta Serial,print!B>ireccion *PH B"; Serial,println!9t-ernet,local*P!"";// oop principalvoid loop!" // ee la Dumedad desde el sensor P-C = analo$ead!&E5"; // Convierte el valor leido a Dumedad P-C = !5,0 I P-C I 100,0"/102?,0;
// Si -a datos 3ue lle$an por la cone
-
8/16/2019 Instalación de Riego Tecnificado
4/4
ultimaConeesconectando,,,B"; client,stop!";
Para guar(ar l"s (at"s se $rea una ta#la (e tal !"rma .ue nuestr" sistema se$"n/ierte en (in0mi$" $ream"s la ta#la en m%s.l
C9)9 )R9 *N +O) 9L*S)S variable ! fec-a datetime +O) +(' id varc-ar!E0" +O) +(' nombre varc-ar!100" +O) +(' valor float +O) +(" 9+*+9=&*S& >9N() CDS9)=latin1;
Y el s$rit en + se en$argara (e e3e$uta l"s GET
7Qp-p// Parametros de base de datosTms3lUservidor = Blocal-ostB;Tms3lUbase = Brie$oB;Tms3lUusuario = BtecnicoB;Tms3lUclave = BcontraseñaB;
Tid = -tmlspecialc-ars!TU9):BidB'9+)UV(O)9S";Tnombre = -tmlspecialc-ars!TU9):BnombreB'9+)UV(O)9S";
Tvalor = -tmlspecialc-ars!TU9):BvalorB'9+)UV(O)9S";
// alida 3ue esten presente todos los parametrosif !!TidJ=BB" and !TnombreJ=BB" and !TvalorJ=BB""
ms3lUconnect!Tms3lUservidor'Tms3lUusuario'Tms3lUclave" ordie!B*mposible conectarse al servidor,B";
ms3lUselectUdb!Tms3lUbase" or die!B*mposible abrir Rase de datosB";Ts3l = Binsert into variable !fec-a' id' nombre' valor" values
!+O!"'WTidW'WTnombreW'WTvalorW"B;ms3lU3uer!Ts3l";
Q8
Tienes .ue /eri!i$ar si el ar(uin" lle/ara ("s $"ntr"les (e alimenta$i'n (eenerg,a) me re!ier" a el*$tri$a " s"lar) ue(es /er .ue e2isten sens"resinal0m#ri$"s