Berenice Montalvo Lezama
Berenice Montalvo Lezama
Berenice Montalvo Lezama
TESIS
PARA OBTENER EL TITULO DE:
Ingeniera en Comunicaciones y Electronica
(Especialidad Computacion)
PRESENTA
Berenice Montalvo Lezama
ASESORES:
M. en C. Genaro Zavala Mejia
Ing. Karla Sandra Arellano Garcia
2013
Indice general
Resumen 4
Indice de figuras 5
1. Antecedentes 9
1.1. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1. Monitoreo de una estacion meteorologica va internet . . . . . . . . 10
1.5.2. Estacion Meteorologica Vantage Pro2 . . . . . . . . . . . . . . . . . 11
1.5.3. Estacion Meteorologica Crystal Moments CW101 . . . . . . . . . . 12
2. Marco Teorico 15
2.1. Estaciones Meteorologcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Origen de la Meteorologa . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2. Estacion Meteorologica . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3. Variables Meteorologicas . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4. Clasificacion de las Estaciones Meteorologicas . . . . . . . . . . . . 16
2.1.5. Componentes de una Estacion Meteorologica . . . . . . . . . . . . . 18
2.1.6. Veleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2. Tecnologas de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1. Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3. Sensores Meteorologicos . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3. Tecnologas de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1. Sistemas de gestion de bases de datos . . . . . . . . . . . . . . . . . 25
2.3.2. Plataforma de programacion . . . . . . . . . . . . . . . . . . . . . . 25
3. Desarrollo 29
3.1. Desarrollo del Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.1. Anemometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.2. Veleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.3. Termometro e higrometro . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.4. Tarjeta Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.5. Proteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1.6. Base para la Estacion Meteorologica . . . . . . . . . . . . . . . . . 42
3
Indice general
4. Pruebas y resultados 51
4.1. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3. Estimacion de costos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5. Conclusiones 55
Anexos 55
6. Anexos 57
6.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1.1. Especificaciones CNY70 . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1.2. Especificaciones HEF40106 . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.3. Especificaciones HMZ433A . . . . . . . . . . . . . . . . . . . . . . . 63
6.1.4. Especificaciones LM35 . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2. Codigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2.1. Clase Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2.2. Clase MeasureDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2.3. Clase MeasureDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3. C++ Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4
Resumen
Este proyecto consistio en el diseno y construccion de una estacion meteorologica la cual
es monitoreada de forma remota.El software para el monitoreo permite dar a conocer las
variables meteorologicas medidas por la estacion las cuales son temperatura, humedad,
velocidad y direccion del viento.
5
Indice de figuras
1.1. Estacion meteorologica Vantage Pro2. . . . . . . . . . . . . . . . . . . . . . 11
1.2. Consola de la estacion meteorologica Vantage Pro2. . . . . . . . . . . . . . 12
1.3. Estacion Meteorologica Crystal Moments CW101. . . . . . . . . . . . . . . 13
7
Indice de figuras
8
1 Antecedentes
El conocimiento de las variaciones climaticas es de suma importancia en la agricultura,
la navegacion y la vida en general.
La meteorologa estudia los cambios atmosfericos que se producen a cada momento
utilizando parametros como: temperatura del aire, humedad, presion atmosferica y preci-
pitaciones pluviales.
El clima es un conjunto de fenomenos meteorologicos que caracterizan las condicio-
nes habituales o mas probables de un punto determinado de la superficie terrestre. Las
estaciones meteorologicas son instalaciones cuyo proposito es medir y registrar variables
meteorologicas las cuales son temperatura, presion atmosferica, humedad relativa del aire,
pluviosidad, velocidad y direccion del viento . Los instrumentos mediante los cuales se
obtiene la medicion de las variables antes mencionadas son los siguientes, el termometro,
el barometro, pluviometro, anemometro y la veleta.
Las estaciones meteorologicas pueden ser: manuales o automaticas. Las primeras son
monitoreadas por personal altamente capacitado, mientras que las estaciones meteorologi-
cas automaticas nos permiten monitorearlas a distancia, en este tipo de instalaciones la
senal se procesa mediante la tecnologa de microcontroladores y microprocesadores para
ser enviada a traves de un sistema de comunicacion.
Las estaciones meteorologicas tienen un amplio campo de aplicacion como lo es en
aeronautica, agricultura, navegacion y en deportes al aire libre. Dependiendo del uso se
pueden configurar las estaciones instalaciones con distintos niveles de equipamiento.
En este escrito, se presenta la construccion de un prototipo de estacion meteorologica
la cual sera monitoreada a distancia.
9
1 Antecedentes
1.4. Justificacion
La estacion meteorologica brindara datos del clima especficamente en el lugar donde sea
implementada. La importancia de estos datos es vital, dado que los microclimas generados
en cada lugar por montes, montanas, sierras, lagos y lagunas, no necesariamente se ven
reflejados en los informes del clima para zonas en general. A traves de su exclusivo software
de procesamiento de datos, la estacion meteorologica proporcionara informacion relevante
con la que se podra tomar decisiones y acciones de forma mas certera.
El desarrollo del prototipo de la estacion meteorologica con monitoreo remoto, permi-
tira aplicar los conocimientos adquiridos a lo largo de la carrera de Ingeniera en Comuni-
caciones y Electronica. En el desarrollo de la estacion meteorologica se aplicaran conoci-
mientos de ciertas asignaturas, las cuales forman parte fundamental para el desarrollo del
proyecto como son Fsica, Maquinas Electricas, Microprocesadores, Programacion, Elec-
tricidad y Magnetismo, Teoremas de circuitos, Electronica digital, Sistemas en Tiempo
Real, Lenguajes de Internet y Rede.
10
1.5 Estado del Arte
Las variables meteorologicas que se obtienen mediante esta estacion son las siguientes:
Intensidad de lluvia.
11
1 Antecedentes
Pronostico meteorologico.
En la pantalla de esta estacion se muestran los graficos con datos de las ultimas 24
horas, das o meses.
12
1.5 Estado del Arte
13
2 Marco Teorico
En este capitulo se abordaran de manera general los aspectos considerados para desa-
rrollo de este proyecto. En la primera seccion se describe la teora relacionada a las esta-
ciones meteorologicas. En siguientes secciones se describen las herramientas de hardware
y software utilizadas para el desarrollo e implementacion.
15
2 Marco Teorico
Temperatura
La temperatura es una de las magnitudes mas utilizadas para describir el estado de la
atmosfera, vara entre el da y la noche, entre una estacion y otra, y tambien entre una
ubicacion geografica y otra.
Es una magnitud relacionada con la rapidez del movimiento de las partculas que cons-
tituyen la materia. Cuanta mayor agitacion presenten estas, mayor sera la temperatura.
El instrumento que se utiliza para medir la temperatura se llama termometro y fue
inventado por Galileo en 1593.
Humedad
La humedad ambiental se define como la cantidad de vapor de agua presente en el aire.
Es muy importante medir la humedad atmosferica debido a que esta afecta en el efecto
invernadero y fenomenos como sublimacion y condensacion, para realizar la medicion de
esta variable meteorologica es empleado el higrografo [breneselementos1995].
Presion Atmosferica
La presion armosferica es el peso que ejerce el aire en la Tierra y por lo cual tambien
ejerce una fuerza sobre todos los cuerpos debidos a la accion de la gravedad. La presion
atmosferica depende de muchas variables, sobre todo de la altitud. Cuanto mas arriba en
la atmosfera nos encontremos, la cantidad de aire por encima de nosotros sera menor.
16
2.1 Estaciones Meteorologcas
Climatologicas
Una estacion climatologica es un area destinada a la obtencion y medicion de los datos
generados por instrumentos que registran los distintos fenomenos meteorologicos que se
producen en la atmosfera.
Las observaciones que se efectuan se realizan en forma horaria remitiendolas inmedia-
tamente a un centro recolector de datos, mediante mensajes codificados, por la va de
comunicacion mas rapida disponible. Estas observaciones se utilizan para una gran canti-
dad de fines meteorologicos, en general en tiempo real y especialmente para la elaboracion
de mapas meteorologicos.
Este tipo de estacion meteorologica se puede encontrar en hogares, casas de campo,
ranchos escuelas, etc.
Agrcolas
Una estacion agroclimatica tiene como objetivo el proporcionar datos que permitan un
conocimiento de las condiciones del clima en relacion con el desarrollo y crecimiento de
los cultivos y su manejo.
El desarrollo tecnologico ha permitido demostrar que la variacion del clima afecta la
mayora de los procesos fsicos y biologicos que determinan la calidad y cantidad de la
produccion agrcola. Conocer el clima oportunamente o con anticipacion suficiente es
necesario para mejorar la produccion o reducir efectos adversos para el cultivo.
El utilizar de manera oportuna y apropiada los registros climatologicos permite los
siguientes beneficios agrcolas:
Estos beneficios representan para el agricultor mayor produccion, menor costo de cul-
tivo, mayor superficie cultivable, producto de mayor calidad, todo lo cual significa en
terminos finales, mayor ganancia, menores gastos o menos problemas para el productor
agrcola y la poblacion en general.
Especiales
Este tipo de estaciones meteorologicas son las encargadas de medir variables en mares
y oceanos. Estas instalaciones son mas especializadas ya que poseen instrumentos de
sondeo como radares meteorologicos para medir la turbulencia atmosferica y la actividad
de tormentas, perfiladores de viento y sistemas acusticos de sondeo de la estructura vertical
de temperaturas.
Aeronauticas
Las estaciones aeronauticas tienen su aplicacion en aeropuertos y aerodromos civiles o
militares, estas realizan mediciones climaticas las cuales se efectuan en varias horas del
da y son enviadas inmediatamente a un centro recolector de datos, estas observaciones
17
2 Marco Teorico
Satelitales
Un satelite meteorologico es un tipo de satelite artificial que se utiliza principalmente
para supervisar el tiempo atmosferico y el clima de la Tierra. La configuracion basica de
un satelite meteorologico, consiste en una camara con la funcion de fotografiar electroni-
camente los sistemas nubosos. La informacion recibida es enviada rapidamente a la Tierra,
debido a que las condiciones meteorologicas pueden variar en poco tiempo. La transmision
de estas imagenes, permiten la suficiente resolucion para el trabajo meteorologico.
Los dos tipos basicos de satelites meteorologicos, dependiendo de su orbita son los
geoestacionarios y los polares.
Anemometro
Es un instrumento que forma parte de una estacion meteorologica el cual esta destinado
a medir la velocidad del viento. Los diferentes tipos de anemometros son los siguientes:
De efecto Doppler
De empuje.
De rotacion o de Robinson.
Anemometro de Empuje
El funcionamiento de este tipo de anemometro es el siguiente una superficie colocada
en la punta de un pendulo se coloca de frente al viento, el empuje producido por este,
levantara el pendulo de acuerdo a la velocidad del viento. Una escala apropiada, grabada
18
2.1 Estaciones Meteorologcas
en una superficie paralela al movimiento del pendulo servira como indicador usando el
propio pendulo como aguja indicadora [hidyvientos1960].
Anemometro Doppler
Los anemometros Doppler de laser utilizan un haz de luz laser dividido en dos haces.
Las partculas de aire cerca de la salida del haz se reflejan de nuevo en un detector en
el que se mide contra el haz de luz original. Cuando las moleculas del aire se mueven,
crean un desplazamiento Doppler, que puede ser utilizado para medir la velocidad del
viento y luego se calcula el movimiento o la velocidad de las partculas del aire cerca del
anemometro [vallinainstalaciones2010].
19
2 Marco Teorico
Anemometro de Rotacion
Este anemometro es tambien llamado de copa o de cazoletas, fue inventado en 1846 por
John T. Robinson y mide la velocidad del viento. Se compone de cuatro semiesferas que
giran cualquiera que sea la direccion del viento [iniecoprogramacion2011]. Este movi-
miento puede ir a un sensor dedicado a contar el numero de vuelta o mediante un pequeno
generador que de un voltaje que es proporcional a lo velocidad de giro. El primer sistema
nos dara el recorrido del viento, mientras que el segundo dara la velocidad instantanea,
como lo hace el indicador de velocidad de un automovil. Este tipo de anemometro es el
mas utilizado debido a su simplicidad y exactitud.
La cruz de cazoletas ABCD imprime un movimiento de rotacion al arbol EF el cual
transmite mediante un tornillo F la rueda dentada H se encarga de hacer mover la aguja
indicadora K.
2.1.6. Veleta
La veleta es un dispositivo el cual nos indica la direccion del viento [castilloagrometeorologi2001],
en su inicio tenan fines decorativos.
La direccion del viento se determina cuando la veleta gira y apunta la direccion de
donde proviene el viento.
20
2.2 Tecnologas de Hardware
Ornamento. Es la parte mas visible del a veleta esta la puede o no llevar ya que es
el adorno decorativo.
Varilla. Es la pieza central de una veleta y todas las demas partes de se conectan a
ella.
2.2.1. Microcontrolador
Un microcontrolador es un circuito integrado que posee memoria en la cual se puede
grabar programas para despues ejecutarlos. El microcontrolador ejecuta el programa car-
gado en la memoria Flash. Esto se denomina el codigo ejecutable y esta compuesto por
una serie de ceros y unos, es decir, codigo binario. Dependiendo de la arquitectura del
21
2 Marco Teorico
Plataforma Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcon-
trolador y un entorno de desarrollo, disenada para facilitar el uso de la electronica en
proyectos multidisciplinares.
El Arduino Mega es una version de esta plataforma basada en el microcontrolador
ATmeg1280. Sus caracteristicas principales son:
Voltaje de funcionamiento: 5V
EEPROM : 4 KB
22
2.2 Tecnologas de Hardware
LINK: Indica cuando existe un enlace de red y parpadea cuando la shield enva o
recibe datos
2.2.2. Sensores
Un sensor es un dispositivo el cual es capaz de detectar magnitudes fsicas o qumicas,
y transformarlas en variables electricas.
23
2 Marco Teorico
Sensor de Temperatura
Los sensores de temperatura son dispositivos que transforman los cambios de tempera-
tura en cambios en senales electricas que son procesados por equipo electrico o electronico.
Sensor de Humedad
Sensor Optico
Los sensores opticos son dispositivos que funcionan con luz, este tipo de sensores poseen
tanto el emisor como el receptor en un mismo encapsulado.
Trabajan por reflexion de la luz, es decir, el emisor emite y si esta luz es reflejada por
un objeto, el receptor lo detecta.
Este tipo de sensor se caracteriza por ser muy sensible.
Este motor conocido tambien como brushlessse caracteriza por no usar escobillas
para realizar el cambio de polaridad del rotor. El motor brushless al no poseer escobillas
no produce rozamiento ni genera friccion tampoco producen calor o ruido al contrario
aumentan su rendimiento y no requieren de mucho mantenimiento.
24
2.3 Tecnologas de Software
MySQL
Plataforma Java
Java es un lenguaje de programacion que fue creado por James Gosling de Sun Mi-
crosystems y publicado en el 1995 como un componente fundamental de la plataforma
Java de Sun Microsystems [diazjava2003].
Los caractersticas mas importantes de Java son cinco, la programacion orientada a
objetos, la posibilidad de ejecutar un mismo programa en diversos sistemas operativos, la
inclusion por defecto de soporte para trabajo en red, la opcion de ejecutar el codigo en
sistemas remotos de manera segura y la facilidad de uso.
Java cuenta con una manera sencilla para acceder y comunicarse con un SGBD, lla-
mada JDBC. JDBC es una API de Java para ejecutar sentencias SQL, consta de un
conjunto de clases e interfaces las cuales estan escritas en lenguaje de programacion Java
[speeglejdbc:2002].
Para el desarrollo de aplicaciones complejas que cuenten por naturaleza con una arqui-
tectura Cliente - Servidor, Java nos provee de su plataforma. Java Platform Enterprise
Edition o Java EE es una plataforma de programacion para desarrollar y ejecutar softwa-
re de aplicaciones que permite utilizar arquitecturas de N capas distribuidas y se apoya
ampliamente en componentes de software modulares ejecutandose sobre un servidor de
aplicaciones. Esta plataforma esta orientada principalmente al desarrollo de aplicaciones
web.
Las aplicaciones desarrolladas usando JEE, hacen uso de un servidor aplicaciones. Uno
de los servidores de aplicaciones mas populares es TomEE, ya que sus principales carac-
teristicas son la sencillez y velocidad.
25
2 Marco Teorico
Plataforma Web
HTML es el acronimo de HyperText Markup Language.Es un lenguaje de hipertexto, es
otras palabras permite escribir texto de forma estructurada.Esta compuesto por etiquetas,
que marcan el inicio y fin de cada elemento del documento.
Con el paso del tiempo han surgido diferentes versiones, a las cuales se han incorporado
y suprimido caractersticas, con el fin de hacerlo mas eficiente y facilitar el desarrollo de
paginas web compatibles con distintos navegadores y plataformas.
Javascript es un lenguaje de programacion que se utiliza para la creacion de paginas
web dinamica [mazajavascript2012], gracias a su compatibilidad con la mayora de los
navegadores modernos, es un lenguaje de programacion muy utilizado.
Ajax es una forma de desarrollo web para crear aplicaciones interactivas.El desarrollo
de aplicaciones web siguiendo el esquema AJAX se basa en realizar la interfaz con el
cliente mediante paginas web e interactuar de forma asncrona con el servidor en segun-
do plano sin necesidad de recargar las paginas, como ocurra en el modelo tradicional
[olsonajax2007].
Ajax es una tecnica valida para multiples plataformas y utilizable en muchos sistemas
operativos y navegadores dado que esta basado en estandares abiertos como JavaScript y
Document Object Model.
26
2.3 Tecnologas de Software
Jquery fue creado por John Resig, es un framework de JavaScript.Es decir es un pro-
ducto que sirve como base para la programacion avanzada de aplicaciones, que aporta
una serie de funciones o codigos para realizar tareas habituales. Un framework son un
conjunto de libreras de codigo que contienen procesos o rutinas ya listos para usar. Se
emplean los frameworks para as no tener que desarrollar las tareas mas basicas, puesto
que en el propio framework ya hay implementaciones que estan probadas, funcionan y no
se necesitan volver a programar.
RGraph es una biblioteca basada en JavaScript gratuita y construida para graficos web.
RGraph crea los graficos de HTML5 en el navegador web utilizando JavaScript, lo que
significa paginas web mas rapidas y con menos carga del servidor web. Esto lleva a los
pequenos tamanos de pagina, menores costos y sitios web mas rapidos.
Herramientas de Software
Eclipse es una plataforma de desarrollo compuesta por un conjunto de herramientas de
programacion de codigo abierto multiplataforma. Esta plataforma, tpicamente ha sido
usada para desarrollar entornos de desarrollo integrados (del ingles IDE), como el IDE
de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega
como parte de Eclipse (y que son usados tambien para desarrollar el mismo Eclipse).
Mercurial es un sistema de versiones distribuido libre y gratuito, orientado a desarro-
lladores de software. Fue escrito para funcionar en Linux pero ha sido adaptado para
Windows, Mac OS y la mayora de otros sistemas tipo Unix.
27
3 Desarrollo
En este apartado se describe el desarrollo hardware y software del prototipo de la
estacion meteorologica.
3.1.1. Anemometro
Como ya se menciono el anemometro esta encargado de medir la velocidad del viento.
Para el desarrollo del proyecto se eligio el anemometro de Robinson pues posee buena
exactitud y no requiere de una orientacion.
29
3 Desarrollo
La eleccion de los materiales fue crucial en la construccion del dispositivo ya que estan
directamente relacionados con su buen funcionamiento, es decir, deben ser muy ligeros.
La construccion los elementos que componen el anemometro se describe continuacion:
Cazoletas: Fueron construidas por la mitad de un flotador plastico ver figura 3.2.
Varillas: Son las encargadas de soportar las cazoletas, se disenaron con aluminio esto
debido a su baja densidad.Fue necesario realizar cuerda en ambas orillas de estas,
para con ello poder fijar un extremo al eje del anemometro y el otro a las cazoletas.
Eje: Este fue fabricado con un motor brushless el cual no posee escobillas, por lo
que se reduce la friccion y el calor, a este motor se le realizaron 4 orificios ver figura
3.4.
Figura 3.4. Motor con orificios para los soportes de las cazoletas.
El motor fue fijado a una tapa de PVC cuyo diametro es de 12cm ver figura 3.5.
30
3.1 Desarrollo del Hardware
Cada uno de los componentes mencionados anteriormente fueron fijados como se mues-
tra en la siguiente figura.
En la parte inferior del motor fue fijado una circunferencia disenada de carton blanco
con 8 franjas negras como se muestra en la figura 3.7. Mediante esta circunferencia se
activaran los sensores para medir la velocidad del viento.
31
3 Desarrollo
32
3.1 Desarrollo del Hardware
Puesto que la salida del sensor es proporcional con la cantidad de rayo reflectado por el
objeto; se conecto a esta un buffer trigger-schmitt (ver 6.1.2) con el objetivo de obtener
una salida logica, es decir, este sistema se encarga de distinguir entre blanco y negro.
El diagrama esquematico es mostrado en la figura 3.10
33
3 Desarrollo
La alimentacion de la tarjeta mostrada en la figura 3.11 se realizo con un jack rj45, esto
34
3.1 Desarrollo del Hardware
3.1.2. Veleta
La veleta es el dispositivo que indica la direccion del viento por lo que una de sus
caractersticas primordiales es que al igual forma que el anemometro los materiales deben
ser muy ligeros.
La construccion de los elementos que componen la veleta es descrita continuacion:
Varilla: Esta posee una dimension es de 60.5 cm y fue disenada de material plastico.
Eje: Para esta parte de la veleta fue empleado un motor brushless, el cual se fijo a
una tapa de PVC de 12 cm de diametro.
35
3 Desarrollo
6 cm 13.5 cm 53 cm 20 cm
30 cm 2 cm 20 cm
37.5 cm
92.5 cm
Para fijar la veleta al eje fue necesario encontrar el centro de masa, es decir su punto
de equilibrio.El centro de masa se puede apreciar como un punto gris en la figura 3.14.
Cada uno de los elementos anteriormente descritos fueron ensamblados como se muestra
en la figura 3.15.
36
3.1 Desarrollo del Hardware
De igual forma que en el anemometro se diseno una circunferencia pero esta vez con
solo una franja negra, esta circunferencia fue fijada en la parte inferior del motor con el
37
3 Desarrollo
objetivo de que mediante el paso de la linea negra se activen los sensores CNY70 y con
ello poder determinar orientacion de esta.
Las principales caractersticas que presenta este sensor son las siguientes:
Alimentacion 4-30 V
Rango configurable
Bajo costo
De acuerdo a la conexion del sensor lm35 es posible configurar el rango. Para este
proyecto es necesario el rango completo que ofrece el sensor, es decir de -55 a 150 grados,
por lo que se configuro de la siguiente manera.
38
3.1 Desarrollo del Hardware
Figura 3.19. Diagrama de configuracion para rango completo del sensor de temperatura
V cc
R= (3.1)
,00005A
Sustituyendo valores
5
R= = 10000ohms (3.2)
,00005A
Por lo tanto la resistencia adecuada para la configuracion deseada es de 10kilo ohms.
Figura 3.20. Configuracion del LM35 con un rango de -55 a 155 grados centgrados.
39
3 Desarrollo
Alimentacion 5 V
40
3.1 Desarrollo del Hardware
41
3 Desarrollo
3.1.5. Proteccion
El modulo de proteccion fue disenado con el objetivo de resguardar el microcontrolador,
la tarjeta para medir la humedad y temperatura as como tambien para resguardar el
router.
42
3.1 Desarrollo del Hardware
funcionamiento por lo que para conseguir esto se emplearon patas ajustables, ver figura
3.27.
Mediante las patas ajustables es posible balancear la tabla y con ayuda de 4 niveles de
burbuja adheridos a la tabla es posible verificar que la estacion se encuentre en condiciones
necesarias para su buen funcionamiento.
Se fijo a la base de la estacion meteorologica una brujula, debido a que para comenzar
a realizar las mediciones es indispensable que la veleta apunte al norte.
43
3 Desarrollo
44
3.2 Desarrollo del Software
45
3 Desarrollo
Base de Datos
Measure y MeasureDB son las clases que proporcionan acceso a la base de datos, su
diagrama de clases se muestra en el figura 3.33.
46
3.2 Desarrollo del Software
Interfaz de Servicios
Los siguientes servicios son expuestos utilizando una arquitectura REST y el formato
JSON:
47
3 Desarrollo
48
3.2 Desarrollo del Software
En la segunda pestana se presenta una grafica que muestra los promedios de las medi-
ciones.
.
Figura 3.38. Grafica de promedios de temperatura.
49
4 Pruebas y resultados
En este apartado se muestran las pruebas y resultados realizados para comprobar la
fiabilidad del proyecto.
4.1. Funcionamiento
El diagrama que muestra el funcionamiento del prototipo didactico de la estacion me-
teorologica se puede observar en la figura 4.1
51
4 Pruebas y resultados
4.2. Pruebas
Se realizo una comparativa entre las mediciones representativas generadas por el pro-
totipo y mediciones de un servicio meteorologico publico llamado OpenWeatherMap.
En la figura 4.2 se muestra grafica comparativa de las mediciones de humedad.
La grafica en azul nos muestra las mediciones obtenidas por OpenWeatherMap mientras
que la grafica en rojo nos muestra las mediciones obtenidas de la estacion.
En la figura 4.3 se muestra grafica comparativa de las mediciones de temperatura.
52
4.3 Estimacion de costos
En las pruebas mencionadas anteriormente, se puede apreciar que las mediciones produ-
cidas por el prototipo son confiables, ya que al comparar sus mediciones con las otorgadas
por el servicio meteorologico OpenWeatherMap son muy similares.
El costo estimado del hardware del proyecto se resume mediante la siguiente tabla.
53
4 Pruebas y resultados
54
5 Conclusiones
Una vez concluido el proyecto, los resultados que podemos sintetizar son los siguientes:
Fue posible disenar e implementar un software que por medio de un sitio web que
permite monitorear e interpretar de manera remota los resultados producidos por
los componentes de hardware.
Finalmente podemos concluir que fue posible alcanzar el objetivo general del proyecto,
es decir, construir un prototipo de estacion meteorologica midiendo las cuatro variables
propuestas: humedad relativa, temperatura, direccion y velocidad del viento.
55
6 Anexos
6.1. Hardware
6.1.1. Especificaciones CNY70
57
CNY70
www.vishay.com
Vishay Semiconductors
Reflective Optical Sensor with Transistor Output
FEATURES
Marking area
Package type: leaded
Detector type: phototransistor
Dimensions (L x W x H in mm): 7 x 7 x 6
E D Peak operating distance: < 0.5 mm
Operating range within > 20 % relative
collector current: 0 mm to 5 mm
21835 Top view
19158_1
Typical output current under test: IC = 1 mA
Emitter wavelength: 950 nm
DESCRIPTION Daylight blocking filter
The CNY70 is a reflective sensor that includes an infrared Lead (Pb)-free soldering released
emitter and phototransistor in a leaded package which Material categorization: For definitions of compliance
blocks visible light. please see www.vishay.com/doc?99912
APPLICATIONS
Optoelectronic scanning and switching devices i.e., index
sensing, coded disk scanning etc. (optoelectronic
encoder assemblies).
PRODUCT SUMMARY
DISTANCE FOR DISTANCE RANGE FOR TYPICAL OUTPUT DAYLIGHT
PART NUMBER MAXIMUM CTRrel (1) RELATIVE Iout > 20 % CURRENT UNDER TEST (2) BLOCKING FILTER
(mm) (mm) (mA) INTEGRATED
CNY70 0 0 to 5 1 Yes
Notes
(1) CTR: current transfere ratio, I /I
out in
(2) Conditions like in table basic charactristics/sensors
ORDERING INFORMATION
ORDERING CODE PACKAGING VOLUME (1) REMARKS
CNY70 Tube MOQ: 4000 pcs, 80 pcs/tube -
Note
(1) MOQ: minimum order quantity
300
P - Power Dissipation (mW)
Coupled device
200
Phototransistor
100
IR - diode
0
0 25 50 75 100
95 11071 Tamb - Ambient Temperature (C)
60
HEF40106B
Hex inverting Schmitt trigger
Rev. 7 21 November 2011 Product data sheet
1. General description
The HEF40106B provides six inverting buffers. Each input has a Schmitt trigger circuit.
The inverting buffer switches at different points for positive-going and negative-going
signals. The difference between the positive voltage (VT+) and the negative voltage (VT)
is defined as hysteresis voltage (VH).
The HEF40106B may be used for enhanced noise immunity or to square up slowly
changing waveforms.
3. Applications
Wave and pulse shapers
Astable multivibrators
Monostable multivibrators
4. Ordering information
Table 1. Ordering information
All types operate from 40 C to +125 C
Type number Package
Name Description Version
HEF40106BP DIP14 plastic dual in-line package; 14 leads (300 mil) SOT27-1
HEF40106BT SO14 plastic small outline package; 14 leads; body width 3.9 mm SOT108-1
HEF40106BTT TSSOP14 plastic thin shrink small outline package; 14 leads; body width 4.4 mm SOT402-1
NXP Semiconductors HEF40106B
Hex inverting Schmitt trigger
5. Functional diagram
1A 1Y
1 2
2A 2Y
3 4
3A 3Y
5 6
4A 4Y
9 8
5A 5Y
11 10
6A 6Y
13 12 A Y
mna204 mna025
6. Pinning information
6.1 Pinning
HEF40106B
1A 1 14 VDD
1Y 2 13 6A
2A 3 12 6Y
2Y 4 11 5A
3A 5 10 5Y
3Y 6 9 4A
VSS 7 8 4Y
001aal174
HEF40106B All information provided in this document is subject to legal disclaimers. NXP B.V. 2011. All rights reserved.
63
HUMIDITYCAPACITORS
CERAMIC & TEMPERATURE MODULE
MA Series: Multilayer Surface Mount
HMZ-433A
INTRODUCTION FEATURES
The HMZ-433A is a humidity and Wide humidity operation range
temperature sensing module that can Linear DC output
be installed in a wide range of Long term stability
applications. This module requires no Small and economical
additional engineering and has Temperature sensing included
specified inputs and outputs. RoHS Compliant
APPLICATIONS
Airconditioner, Humidifier, Dehumidifier
Humidity Controller, Humidity transmitter
Hygrometer, Hygro-recorder
Copy machines, Data Equipment
Appliance
Weather forecast Equipment
DIMENSIONS
ELECTRICAL CHARACTERISTICS
C7B03
RFE International Tel:(949) 833-1988 Fax:(949) 833-1788 E-Mail Sales@rfeinc.com
REV2006.09.13
HUMIDITY & TEMPERATURE MODULE
HMZ-433A
FIGURE A
Humidity Output 0~3.3V characteristics
3.00
15C 20C 25C 30C 35C 40C
2.50 30% RH 1.23 1.09 1.02 0.94 0.83 0.78
Output Voltage (V)
FIGURE B
Thermistor R-T curve
180
160
140
Resistance (K ohms)
120
100
80
60
40
20
0
0 5 10 15 20 25 30 35 40 45 50 55 60
Temperature (C)
C7B03
RFE International Tel:(949) 833-1988 Fax:(949) 833-1788 E-Mail Sales@rfeinc.com
REV2006.09.13
6 Anexos
66
Precision Centigrade Temperature Sensors
LM35/LM35A/LM35C/LM35CA/LM35D
December 1994
LM35/LM35A/LM35C/LM35CA/LM35D
Precision Centigrade Temperature Sensors
General Description
The LM35 series are precision integrated-circuit tempera- available packaged in hermetic TO-46 transistor packages,
ture sensors, whose output voltage is linearly proportional to while the LM35C, LM35CA, and LM35D are also available in
the Celsius (Centigrade) temperature. The LM35 thus has the plastic TO-92 transistor package. The LM35D is also
an advantage over linear temperature sensors calibrated in available in an 8-lead surface mount small outline package
Kelvin, as the user is not required to subtract a large con- and a plastic TO-202 package.
stant voltage from its output to obtain convenient Centi-
grade scaling. The LM35 does not require any external cali- Features
bration or trimming to provide typical accuracies of g (/4 C Y Calibrated directly in Celsius (Centigrade)
at room temperature and g */4 C over a full b55 to a 150 C Y Linear a 10.0 mV/ C scale factor
temperature range. Low cost is assured by trimming and Y 0.5 C accuracy guaranteeable (at a 25 C)
calibration at the wafer level. The LM35s low output imped-
ance, linear output, and precise inherent calibration make
Y Rated for full b55 to a 150 C range
interfacing to readout or control circuitry especially easy. It Y Suitable for remote applications
can be used with single power supplies, or with plus and Y Low cost due to wafer-level trimming
minus supplies. As it draws only 60 mA from its supply, it has Y Operates from 4 to 30 volts
very low self-heating, less than 0.1 C in still air. The LM35 is Y Less than 60 mA current drain
rated to operate over a b55 to a 150 C temperature Y Low self-heating, 0.08 C in still air
range, while the LM35C is rated for a b40 to a 110 C Y Nonlinearity only g (/4 C typical
range (b10 with improved accuracy). The LM35 series is Y Low impedance output, 0.1 X for 1 mA load
Connection Diagrams
TO-46 TO-92 SO-8
Metal Can Package* Plastic Package Small Outline Molded Package
TL/H/5516 2
TL/H/5516 1 TL/H/5516 21
*Case is connected to negative pin (GND) Order Number LM35CZ, Top View
LM35CAZ or LM35DZ N.C. e No Connection
Order Number LM35H, LM35AH, See NS Package Number Z03A
LM35CH, LM35CAH or LM35DH Order Number LM35DM
See NS Package Number H03H See NS Package Number M08A
TO-202
Plastic Package
Typical Applications
TL/H/5516 3
TL/H/5516 4
FIGURE 1. Basic Centigrade
Temperature Choose R1 e b VS/50 mA
Sensor ( a 2 C to a 150 C)
VOUT e a 1,500 mV at a 150 C
e a 250 mV at a 25 C
eb 550 mV at b 55 C
TL/H/5516 24
FIGURE 2. Full-Range Centigrade
Order Number LM35DP Temperature Sensor
See NS Package Number P03A
TRI-STATE is a registered trademark of National Semiconductor Corporation.
Note 1: Unless otherwise noted, these specifications apply: b 55 C s TJ s a 150 C for the LM35 and LM35A; b 40 s TJ s a 110 C for the LM35C and LM35CA; and
0 s TJ s a 100 C for the LM35D. VS e a 5Vdc and ILOAD e 50 mA, in the circuit of Figure 2. These specifications also apply from a 2 C to TMAX in the circuit of
Figure 1 . Specifications in boldface apply over the full rated temperature range.
Note 2: Thermal resistance of the TO-46 package is 400 C/W, junction to ambient, and 24 C/W junction to case. Thermal resistance of the TO-92 package is
180 C/W junction to ambient. Thermal resistance of the small outline molded package is 220 C/W junction to ambient. Thermal resistance of the TO-202 package
is 85 C/W junction to ambient. For additional thermal resistance information see table in the Applications section.
2
Electrical Characteristics (Note 1) (Note 6) (Continued)
Note 3: Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating effects can be
computed by multiplying the internal dissipation by the thermal resistance.
Note 4: Tested Limits are guaranteed and 100% tested in production.
Note 5: Design Limits are guaranteed (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are not used to
calculate outgoing quality levels.
Note 6: Specifications in boldface apply over the full rated temperature range.
Note 7: Accuracy is defined as the error between the output voltage and 10mv/ C times the devices case temperature, at specified conditions of voltage, current,
and temperature (expressed in C).
Note 8: Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the devices rated temperature
range.
Note 9: Quiescent current is defined in the circuit of Figure 1 .
Note 10: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not apply when
operating the device beyond its rated operating conditions. See Note 1.
Note 11: Human body model, 100 pF discharged through a 1.5 kX resistor.
Note 12: See AN-450 Surface Mounting Methods and Their Effect on Product Reliability or the section titled Surface Mount found in a current National
Semiconductor Linear Data Book for other methods of soldering surface mount devices.
3
Typical Performance Characteristics
Thermal Resistance Thermal Response
Junction to Air Thermal Time Constant in Still Air
Quiescent Current
Thermal Response in Minimum Supply vs. Temperature
Stirred Oil Bath Voltage vs. Temperature (In Circuit of Figure 1 .)
TL/H/5516 17
Quiescent Current
vs. Temperature Accuracy vs. Temperature Accuracy vs. Temperature
(In Circuit of Figure 2 .) (Guaranteed) (Guaranteed)
TL/H/5516 18
Noise Voltage Start-Up Response
TL/H/5516 22
4
6.2 Codigos
6.2. Codigos
6.2.1. Clase Measure
package pdem.model;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Measure {
71
6 Anexos
package pdem.persistence;
import java.sql.Connection;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Logger;
72
6.2 Codigos
import pdem.model.Measure;
73
6 Anexos
m.setRelativeHumidity(rst.getFloat("relative_humidity"));
m.setTemperature(rst.getFloat("temperature"));
m.setWindDirection(rst.getInt("wind_direction"));
m.setWindSpeed(rst.getFloat("wind_speed"));
measures.add(m);
}
closeResultSet(rst);
closeStatement(stm);
closeConection();
} catch (SQLException e) {
log.severe(e.getMessage());
}
return measures;
}
74
6.2 Codigos
75
6 Anexos
76
6.2 Codigos
measure.setCreatedOn(new Date());
measure.setRelativeHumidity(88.0f);
measure.setTemperature(12.0f);
measure.setWindDirection(1);
measure.setWindSpeed(0.0f);
MeasureDB measureDB = new MeasureDB();
measureDB.save(measure);
}
try {
Date start=formatter.parse(startString);
//Date end = formatter.parse(endString);
Date end = new Date();
import java.sql.Connection;
77
6 Anexos
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Logger;
import pdem.model.Measure;
78
6.2 Codigos
79
6 Anexos
m.setWindSpeed(rst.getFloat("wind_speed"));
measures.add(m);
}
closeResultSet(rst);
closeStatement(stm);
closeConection();
} catch (SQLException e) {
log.severe(e.getMessage());
}
return measures;
}
80
6.2 Codigos
closeConection();
} catch (SQLException e) {
log.severe(e.getMessage());
}
}
81
6 Anexos
try {
Date start=formatter.parse(startString);
//Date end = formatter.parse(endString);
Date end = new Date();
82
6.3 C++ Arduino
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
83
6 Anexos
EthernetClient client;
// last time there was a successful send, in milliseconds
unsigned long lastSuccessfulSend = 0;
void setup() {
// pin configuration
pinMode(PIN_RELATIVE_HUMIDITY, INPUT);
pinMode(PIN_TEMPERATURE1, INPUT);
pinMode(PIN_TEMPERATURE2, INPUT);
pinMode(PIN_WIND_SPEED, INPUT);
pinMode(PIN_ES, INPUT);
pinMode(PIN_NE, INPUT);
pinMode(PIN_NO, INPUT);
pinMode(PIN_NW, INPUT);
pinMode(PIN_WE, INPUT);
pinMode(PIN_SW, INPUT);
pinMode(PIN_SO, INPUT);
pinMode(PIN_SE, INPUT);
84
6.3 C++ Arduino
delay(1000);
if(SEND_REQUEST) {
// start the Ethernet connection
Ethernet.begin(MAC);
// print the Ethernet board/shields IP address:
print("Arduino ");
println(Ethernet.localIP());
println();
}
}
void loop() {
// response could return at any moment
if(PRINT_RESPONSE)
printResponse();
// WIND DIRECTION
detectWindDirection();
}
void takeMeasure() {
// RELATIVE HUMIDITY & TEMPERATURE
float avgRh = 0, avgT = 0;
for(int i = 0; i < MEASURES_FOR_AVG; i++) {
avgRh += analogRead(PIN_RELATIVE_HUMIDITY);
avgT += analogRead(PIN_TEMPERATURE1);
avgT += analogRead(PIN_TEMPERATURE2);
detectWindDirection();
}
relativeHumidity = (avgRh / MEASURES_FOR_AVG) * 500.0 / 3.3 / 1024;
temperature = (avgT / (2.0 * MEASURES_FOR_AVG)) * 500.0 / 1024;
// WIND SPEED
//measure.windSpeed = random(0, 10000) / 100.0;
int ticks = 0;
85
6 Anexos
void detectWindDirection() {
//windDirection = (int) random(0, 8);
if(digitalRead(PIN_ES))
windDirection = DIR_ES;
else if(digitalRead(PIN_NE))
windDirection = DIR_NE;
else if(digitalRead(PIN_NO))
windDirection = DIR_NO;
else if(digitalRead(PIN_NW))
windDirection = DIR_NW;
else if(digitalRead(PIN_WE))
windDirection = DIR_WE;
else if(digitalRead(PIN_SW))
windDirection = DIR_SW;
else if(digitalRead(PIN_SO))
windDirection = DIR_SO;
else if(digitalRead(PIN_SE))
windDirection = DIR_SE;
}
void sendMeasure() {
String request = buildRequest();
if(SEND_REQUEST) {
// if theres a successful connection
println("connecting to server...");
if (client.connect(SERVER, PORT)) {
86
6.3 C++ Arduino
println("sending request");
// send the HTTP PUT request
if(PRINT_REQUEST)
println(request);
client.println(request);
// take the time of this send
lastSuccessfulSend = millis();
client.stop();
} else {
// if you couldnt make a connection
println("connection failed, stopping");
client.stop();
}
} else {
lastSuccessfulSend = millis();
}
}
String buildRequest() {
// rouding to two decimals
relativeHumidity = floor(relativeHumidity * 100) / 100.0;
temperature = floor(temperature * 100) / 100.0;
windSpeed = floor(windSpeed * 100) / 100.0;
if(PRINT_MEASURE)
println(data);
87
6 Anexos
req += data.length();
req += NEW_LINE + NEW_LINE;
req += data;
req += NEW_LINE;
return req;
}
void printResponse() {
if(client.available()) {
println("response");
String res = "";
while(client.available())
res += (char) client.read();
print(res);
}
}
88