1. Control de válvulas solenoides para Agua El sistema estará controlado a través de un sistema arduino
Arduino Mega
Es una placa microcontrolador basada ATmeg128 Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida P!"# 1$ entradas digitales# 4 %A&T' (puertos serie por ard)are"# un cristal oscilador de 1$!*+# cone,i-n %'.# entrada de corriente# conector 0'P bot-n de reset 0ontiene todo lo necesario para acer 3uncionar el microcontrolador Características
!icrocontrolador
ATmega128
6olta7e de 3uncionamiento
56
6olta7e de entrada (recomendado"
9126
6olta7e de entrada (limite"
$926
Pines E/' digitales
54 (14 proporcionan salida P!"
Pines de entrada anal-gica
1$
ntensidad por pin
4 mA
ntensidad en pin ::6
5 mA
!emoria ;las '&A!
128 <. de las cuales 4 <. las l as usa el gestor de arran=ue(bootloader" 8 <.
EEP&>!
4 <.
6elocidad de relo7
1$ !*+
Alimentación
El Arduino !ega puede ser alimentado v?a la cone,i-n %'. o con una 3uente de alimentaci-n e,terna El origen de la alimentaci-n se selecciona automáticamente
@as 3uentes de alimentaci-n e,ternas (no9%'." pueden ser tanto un trans3ormador o una bater?a El trans3ormador se puede conectar usando un conector maco de 21mm con centro positivo en el conector embra de la placa @os cables de la bater?a pueden conectarse a los pines nd 6in en los conectores de alimentaci-n (P>E&" @a placa puede traba7ar con una alimentaci-n e,terna de entre $ a 2 voltios 'i el volta7e suministrado es in3erior a 6 el pin de 56 puede proporcionar menos de 5 6oltios la placa puede volverse inestable# si se usan mas de 126 los reguladores de volta7e se pueden sobrecalentar daBar la placa El rango recomendado es de a 12 voltios
Los pines de alimentación son los siguientes: VIN @a entrada de volta7e a la placa Arduino cando se esta usando una 3uente e,terna de alimentaci-n (en opuesto a los 5 voltios de la cone,i-n %'." 'e puede proporcionar volta7e a través de este pin# o# si se esta alimentado a través de la cone,i-n de 21mm# acceder a ella a través de este pin 5V @a 3uente de volta7e estabili+ado usado para alimentar el microcontrolador otros componentes de la placa Esta puede provenir de 6C a través de un regulador integrado en la placa# o proporcionada directamente por el %'. o otra 3uente estabili+ada de 56 V %na 3uente de volta7e a :: voltios generada en el cip ;TD integrado en la placa @a corriente má,ima soportada 5mA !N" Pines de toma de tierra Memoria
El ATmega128 tiene 128<. de memoria as para almacenar c-digo (4<. son usados para el arran=ue del sistema (bootloader"El ATmega128 tiene 8 <. de memoria '&A!
El ATmega128 tiene 4<. de EEP&>!# =ue puede a la cual se puede acceder para leer o escribir con la F&e3erence/EEP&>! Glibrer?a EEP&>!HH #ntradas $ %alidas
0ada uno de los 54 pines digitales en el Duemilanove pueden utili+arse como entradas o como salidas usando las 3unciones pin!ode("# digitalrite("# digital&ead(" @as E/' operan a 5 voltios 0ada pin puede proporcionar o recibir una intensidad ma,ima de 4mA tiene una resistencia interna (desconectada por de3ecto" de 29 5I>ms Además# algunos pines tienen 3unciones especiali+adasJ %erie: & '()* $ 1 '+)*, %erie 1: 1- '()* $ 1 '+)*/ %erie 0: 1 '()* $ 12 '+)*/ %erie : 15 '()* $ 13 '+)*. %sado para recibir (&K" transmitir (TK" datos a través de puerto serie TT@ @os pines 'erieJ (&K" 1 (TK" están conectados a los pines correspondientes del cip ;TD %'.9to9TT@ Interrupciones #4ternas: 2 (interrupci-n "# : (interrupci-n 1"# 18 (interrupci-n 5"# 1L (interrupci-n 4"# 2 (interrupci-n :"# 21 (interrupci-n 2" Estos pines se pueden conMgurar para lan+ar una interrupci-n en un valor @> 6# en ancos de subida o ba7ada (cambio de @> a **(56" o viceversa"# o en cambios de valor 6er la 3unci-n attac nterrupt(" para as detalles 6M: de a 1: Proporciona una salida P! (Pulse ave !odulation# modulaci-n de onda por pulsos" de 8 bits de resoluci-n (valores de a 255" a través de la 3unci-n analogrite(" %I: 5 (''"# 51 (!>'"# 52 (!'>"# 5: ('0<" Estos pines proporcionan comunicaci-n 'P# =ue a pesar de =ue el ard)are la proporcione actualmente no está incluido en el lengua7e Arduino L#": 1: *a un @ED integrado en la placa conectado al pin digital 1:# cuando este pin tiene un valor **(56" el @ED se enciende cuando este tiene un valor @>(6" este se apaga
El !ega tiene 1$ entradas anal-gicas# cada una de ellas proporciona una resoluci-n de 1bits (124 valores" Por de3ecto se mide de tierra a 5 voltios# aun=ue es posible cambiar la cota superior de este rango usando el pin A&E; la 3unci-n analog&e3erence(" Además algunos pines tienen 3unciones especiali+adasJ 20J 2 ('DA" 21 ('0@" 'oporte del protocolo de comunicaciones 20 (T" usando la librer?a ire *a unos otros pines en la placaJ A(#7 6olta7e de re3erencia para las entradas anal-gicas
(eset. 'uministrar un valor @>(6" para reiniciar el micro controlador T?picamente usado para aBadir un bot-n de reset a los sields =ue no de7an acceso a este bot-n en la placa
0omunicaciones E@ Arduino !ega 3acilita en varios aspectos la comunicaci-n con el ordenador# otro Arduino o otros microcontroladores El ATmega128 proporciona cuatro puertos de comunicaci-n v?a serie %A&T TT@ (56" %n cip ;TD ;T2:2&@ integrado en la placa canali+a esta comunicaci-n serie a traes del %'. los drivers ;TD (incluidos en el so3t)are de Arduino" proporcionan un puerto serie virtual en el ordenador El so3t)are inclue un monitor de puerto serie =ue permite enviar recibir in3ormaci-n te,tual de la placa Arduino @os @ED' &K TK de la placa parpadearan cuando se detecte comunicaci-n transmitida través del cip ;TD la cone,i-n %'. (no parpadearan si se usa la comunicaci-n serie a través de los pines 1" @a librer?a 'o3t)are 'erial permite comunicaci-n serie por cual=uier par de pines digitales del !ega El ATmega128 también soporta la comunicaci-n 20 (T" 'P El so3t)are de Arduino inclue una librer?a ire para simpliMcar el uso el bus 20# ver la documentaci-n para más detalles
%o8t9are
El Arduino !ega se puede programar con el so3t)are propio del Arduino =ue e,iste en la )eb el cual puede ser descargado gratuitamente El ATmega128 en el Arduino !ega viene precargado con un gestor de arran=ue (bootloader" =ue permite cargar nuevo c-digo sin necesidad de un programador por ard)are e,terno 'e comunica utili+ando el protocolo 'T<5 original(re3erencia# arcivo de cabecera 0" &einicio Automático por 'o3t)are En ve+ de necesitar reiniciar presionando 3?sicamente el bot-n de reset antes de cargar# el Arduino !ega está diseBado de manera =ue es posible reiniciar por so3t)are desde el ordenador donde esté conectado %na de las l?neas de control de u7o(DT&" del ;T2:2&@ está conectada a la l?nea de reinicio del ATmega128 a través de un condensador de 1 nano 3aradios 0uando la l?nea se pone a @>(6"# la l?nea de reinicio también se pone a @> el tiempo suMciente para reiniciar el cip Esta conMguraci-n tiene otras implicaciones 0uando el !ega se conecta a un ordenador con !ac >' K o @inu,# esto reinicia la placa cada ve+ =ue se reali+a una cone,i-n desde el so3t)are (via %'." El medio segundo apro,imadamente posterior# el gestor de arran=ue se está e7ecutando A pesar de estar programado para ignorar datos mal 3ormateados (e7
cual=uier cosa =ue la carga de un programa nuevo" intercepta los primeros btes =ue se env?an a la placa 7usto después de =ue se abra la cone,i-n 'i un sIetc e7ecutándose en la placa recibe algNn tipo de conMguraci-n inicial o otro tipo de in3ormaci-n al inicio del programa# asegNrate =ue el so3t)are con el cual se comunica espera un segundo después de abrir la cone,i-n antes de enviar los datos El !ega contiene una pista =ue puede ser cortada para desabilitar el auto9 reset @as terminaciones a cada lado pueden ser soldadas entre ellas para reabilitarlo Están eti=uetadas con O&E'ET9ECO También podéis desabilitar el auto9reset conectando una resistencia de 11 oms desde el pin 56 al pin de reset mirar este ilo del 3oro para más detalles Para el proecto se reali+ara a través del 6isual c Protecci-n contra sobretensiones en %'. El Arduino !ega tiene un multi3usible reiniciali+able =ue protege la cone,i-n %'. de tu ordenador de cortocircuitos sobretensiones A aparte =ue la maor?a de ordenadores proporcionan su propia protecci-n interna# el 3usible proporciona una capa e,tra de protecci-n 'i mas de 5mA son detectados en el puerto %'.# el 3usible automáticamente corta la cone,i-n asta =ue el cortocircuito o la sobretensi-n desaparecen 0aracter?sticas ;?sicas 0ompatibilidad de 'ields @a longitud amplitud má,ima de la placa Duemilanove es de 4 21 pulgadas respectivamente# con el conector %'. la cone,i-n de alimentaci-n sobresaliendo de estas dimensiones Tres agu7eros para M7aci-n con tornillos permiten colocar la placa en superMcies ca7as Ten en cuenta =ue la distancia entre los pines digitales 8 es 1$ mil (#1$O"# no es mNltiple de la separaci-n de 1 mil entre los otros pines El !ega está diseBado para se compatible con la maor?a de sields diseBados para el Diecimila o Duemilanove @os pines digitales de a 2: ( los pines A&E; CD adacentes"# las entradas anal-gicas de a 5# los conectores de alimentaci-n lo conectores 0P' están todos ubicados en posiciones e=uivalentes Además el puerto serie principal esta ubicado en los mismos pines ( 1"# asi como las interrupciones 1 (pines 2 : respectivamente" 'P esta disponible en los conectores 0'P tanto en el mega como en el Duemilanove/Diecimila Atenci-n# los pines 20 no esta ubicado en la misma posici-n en el !ega (2 21" =ue en el Duemilanove/Diecimila (entradas anal-gicas 4 5"
#l %o8t9are rograma será atreves de C :
0. #nlace de control a distancia
El control estamos evaluando en usar enlaces de comunicaci-n como el bloetoot o iM Pero por distancia será a través del enlace de comunicaci-n iM por medio del sistema android con cuenta una tablet Para lo cual estamos evaluando utili+ar este m-dulo también acoplable a la Arduino Aun=ue utili+a otra librer?a los métodos son e=uivalentes al del m-dulo Eternet @a 3recuencia de la seBal ronda los 24*+
Módulo #t;ernet Es una placa =ue se acopla encima de la Arduino permite establecer cone,iones a internet mediante el estándar Eternet =ue utili+a el protocolo T0P/P Podemos conectarla a un router utili+ando un cable &Q45 le asignará una direcci-n P 0on esta direcci-n podremos abrir cone,iones entre el servidor la placa o de placa a placa para enviar u7os de datos *a distintos cips cada uno utili+a sus propias librer?as En nuestro caso emos traba7ado con el cip 28Q$ =ue gasta las librer?as eter'ield ET*E&R28Q$ Es importante tener en cuenta =ue en el c-digo de la placa la conMguraci-n de la Eternet 'ield a de ser correcta Debemos asignarle la direcci-n P =ue le proporcione el router en caso de =ue utilice D*0P También a =ue poner una direcci-n !A0 Nnica para =ue el router cono+ca los distintos dispositivos conectados Además podremos abrir un puerto mediante el =ue escucará peticiones Esta conMguraci-n se a de reali+ar en la 3unci-n setup("# es decir en la 3ase de inicio de la placa
@a 3unci-n principal de la Eternet 'ield va a ser leer peticiones# en nuestro caso *TTP (puerto 8" @as peticiones en *TTP tienen el siguiente 3ormatoJ
ET /rutaRdelRob7eto *TTP/11 Para tomar la petici-n nos basaremos en la 3unci-n service&e=uest(" =ue nos devolverá una cadena con toda la parte del protocolo a tratada# es decir# obtendremos s-lo la ruta del ob7eto