Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TESIS
PARA OBTENER EL TÍTULO DE:
Ingeniera en Comunicaciones y Electrónica
(Especialidad Computación)
PRESENTA
Berenice Montalvo Lezama
ASESORES:
M. en C. Genaro Zavala Mejia
Ing. Karla Sandra Arellano Garcia
2013
Índice general
Resumen 4
Índice de figuras 5
1. Antecedentes 9
1.1. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1. Monitoreo de una estación meteorológica vı́a internet . . . . . . . . 10
1.5.2. Estación Meteorológica Vantage Pro2 . . . . . . . . . . . . . . . . . 11
1.5.3. Estación Meteorológica Crystal Moments CW101 . . . . . . . . . . 12
2. Marco Teórico 15
2.1. Estaciones Meteorologı́cas . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Origen de la Meteorologı́a . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2. Estación Meteorológica . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3. Variables Meteorológicas . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4. Clasificación de las Estaciones Meteorológicas . . . . . . . . . . . . 16
2.1.5. Componentes de una Estación Meteorológica . . . . . . . . . . . . . 18
2.1.6. Veleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2. Tecnologı́as de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1. Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3. Sensores Meteorológicos . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3. Tecnologı́as de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1. Sistemas de gestión de bases de datos . . . . . . . . . . . . . . . . . 25
2.3.2. Plataforma de programación . . . . . . . . . . . . . . . . . . . . . . 25
3. Desarrollo 29
3.1. Desarrollo del Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.1. Anemómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.2. Veleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.3. Termómetro e higrómetro . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.4. Tarjeta Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.5. Protección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1.6. Base para la Estación Meteorológica . . . . . . . . . . . . . . . . . 42
3
Índice general
4. Pruebas y resultados 51
4.1. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3. Estimación 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. Códigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 consistió en el diseño y construcción de una estación meteorológica la cual
es monitoreada de forma remota.El software para el monitoreo permite dar a conocer las
variables meteorológicas medidas por la estación las cuales son temperatura, humedad,
velocidad y dirección del viento.
5
Índice de figuras
1.1. Estación meteorológica Vantage Pro2. . . . . . . . . . . . . . . . . . . . . . 11
1.2. Consola de la estación meteorológica Vantage Pro2. . . . . . . . . . . . . . 12
1.3. Estación Meteorológica Crystal Moments CW101. . . . . . . . . . . . . . . 13
7
Índice de figuras
8
1 Antecedentes
El conocimiento de las variaciones climáticas es de suma importancia en la agricultura,
la navegación y la vida en general.
La meteorologı́a estudia los cambios atmosféricos que se producen a cada momento
utilizando parámetros como: temperatura del aire, humedad, presión atmosférica y preci-
pitaciones pluviales.
El clima es un conjunto de fenómenos meteorológicos que caracterizan las condicio-
nes habituales o más probables de un punto determinado de la superficie terrestre. Las
estaciones meteorológicas son instalaciones cuyo propósito es medir y registrar variables
meteorológicas las cuales son temperatura, presión atmosférica, humedad relativa del aire,
pluviosidad, velocidad y dirección del viento . Los instrumentos mediante los cuales se
obtiene la medición de las variables antes mencionadas son los siguientes, el termómetro,
el barómetro, pluviómetro, anemómetro y la veleta.
Las estaciones meteorológicas pueden ser: manuales o automáticas. Las primeras son
monitoreadas por personal altamente capacitado, mientras que las estaciones meteorológi-
cas automáticas nos permiten monitorearlas a distancia, en este tipo de instalaciones la
señal se procesa mediante la tecnologı́a de microcontroladores y microprocesadores para
ser enviada a través de un sistema de comunicación.
Las estaciones meteorológicas tienen un amplio campo de aplicación como lo es en
aeronáutica, agricultura, navegación 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 construcción de un prototipo de estación meteorológica
la cual será monitoreada a distancia.
9
1 Antecedentes
1.4. Justificación
La estación meteorológica brindará datos del clima especı́ficamente en el lugar donde sea
implementada. La importancia de estos datos es vital, dado que los microclimas generados
en cada lugar por montes, montañas, sierras, lagos y lagunas, no necesariamente se ven
reflejados en los informes del clima para zonas en general. A través de su exclusivo software
de procesamiento de datos, la estación meteorológica proporcionara información relevante
con la que se podrá tomar decisiones y acciones de forma más certera.
El desarrollo del prototipo de la estación meteorológica con monitoreo remoto, permi-
tirá aplicar los conocimientos adquiridos a lo largo de la carrera de Ingenierı́a en Comuni-
caciones y Electrónica. En el desarrollo de la estación meteorológica se aplicarán conoci-
mientos de ciertas asignaturas, las cuales forman parte fundamental para el desarrollo del
proyecto como son Fı́sica, Máquinas Eléctricas, Microprocesadores, Programación, Elec-
tricidad y Magnetismo, Teoremas de circuitos, Electrónica digital, Sistemas en Tiempo
Real, Lenguajes de Internet y Rede.
10
1.5 Estado del Arte
Las variables meteorológicas que se obtienen mediante esta estación son las siguientes:
Intensidad de lluvia.
11
1 Antecedentes
Pronóstico meteorológico.
En la pantalla de esta estación se muestran los gráficos con datos de las últimas 24
horas, dı́as o meses.
12
1.5 Estado del Arte
13
2 Marco Teórico
En este capitulo se abordaran de manera general los aspectos considerados para desa-
rrollo de este proyecto. En la primera sección se describe la teorı́a relacionada a las esta-
ciones meteorológicas. En siguientes secciones se describen las herramientas de hardware
y software utilizadas para el desarrollo e implementación.
15
2 Marco Teórico
Temperatura
La temperatura es una de las magnitudes más utilizadas para describir el estado de la
atmósfera, varı́a entre el dı́a y la noche, entre una estación y otra, y también entre una
ubicación geográfica y otra.
Es una magnitud relacionada con la rapidez del movimiento de las partı́culas que cons-
tituyen la materia. Cuanta mayor agitación presenten éstas, mayor será la temperatura.
El instrumento que se utiliza para medir la temperatura se llama termómetro 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 atmosférica debido a que esta afecta en el efecto
invernadero y fenómenos como sublimación y condensación, para realizar la medición de
esta variable meteorológica es empleado el higrógrafo [brenes˙elementos˙1995].
Presión Atmosférica
La presión armosférica es el peso que ejerce el aire en la Tierra y por lo cual también
ejerce una fuerza sobre todos los cuerpos debidos a la acción de la gravedad. La presión
atmosférica depende de muchas variables, sobre todo de la altitud. Cuanto más arriba en
la atmósfera nos encontremos, la cantidad de aire por encima de nosotros será menor.
16
2.1 Estaciones Meteorologı́cas
Climatológicas
Una estación climatológica es un área destinada a la obtención y medición de los datos
generados por instrumentos que registran los distintos fenómenos meteorológicos que se
producen en la atmósfera.
Las observaciones que se efectúan se realizan en forma horaria remitiéndolas inmedia-
tamente a un centro recolector de datos, mediante mensajes codificados, por la vı́a de
comunicación más rápida disponible. Estas observaciones se utilizan para una gran canti-
dad de fines meteorológicos, en general en tiempo real y especialmente para la elaboración
de mapas meteorológicos.
Este tipo de estación meteorológica se puede encontrar en hogares, casas de campo,
ranchos escuelas, etc.
Agrı́colas
Una estación agroclimática tiene como objetivo el proporcionar datos que permitan un
conocimiento de las condiciones del clima en relación con el desarrollo y crecimiento de
los cultivos y su manejo.
El desarrollo tecnológico ha permitido demostrar que la variación del clima afecta la
mayorı́a de los procesos fı́sicos y biológicos que determinan la calidad y cantidad de la
producción agrı́cola. Conocer el clima oportunamente o con anticipación suficiente es
necesario para mejorar la producción o reducir efectos adversos para el cultivo.
El utilizar de manera oportuna y apropiada los registros climatológicos permite los
siguientes beneficios agrı́colas:
Estos beneficios representan para el agricultor mayor producción, menor costo de cul-
tivo, mayor superficie cultivable, producto de mayor calidad, todo lo cual significa en
términos finales, mayor ganancia, menores gastos o menos problemas para el productor
agrı́cola y la población en general.
Especiales
Este tipo de estaciones meteorológicas son las encargadas de medir variables en mares
y océanos. Estas instalaciones son mas especializadas ya que poseen instrumentos de
sondeo como radares meteorológicos para medir la turbulencia atmosférica y la actividad
de tormentas, perfiladores de viento y sistemas acústicos de sondeo de la estructura vertical
de temperaturas.
Aeronáuticas
Las estaciones aeronáuticas tienen su aplicación en aeropuertos y aeródromos civiles o
militares, estas realizan mediciones climáticas las cuales se efectúan en varias horas del
dı́a y son enviadas inmediatamente a un centro recolector de datos, estas observaciones
17
2 Marco Teórico
Satelitales
Un satélite meteorológico es un tipo de satélite artificial que se utiliza principalmente
para supervisar el tiempo atmosférico y el clima de la Tierra. La configuración básica de
un satélite meteorológico, consiste en una cámara con la función de fotografiar electróni-
camente los sistemas nubosos. La información recibida es enviada rápidamente a la Tierra,
debido a que las condiciones meteorológicas pueden variar en poco tiempo. La transmisión
de estas imágenes, permiten la suficiente resolución para el trabajo meteorológico.
Los dos tipos básicos de satélites meteorológicos, dependiendo de su órbita son los
geoestacionarios y los polares.
Anemómetro
Es un instrumento que forma parte de una estación meteorológica el cual está destinado
a medir la velocidad del viento. Los diferentes tipos de anemómetros son los siguientes:
De efecto Doppler
De empuje.
De rotación o de Robinson.
Anemómetro de Empuje
El funcionamiento de este tipo de anemómetro es el siguiente una superficie colocada
en la punta de un péndulo se coloca de frente al viento, el empuje producido por este,
levantara el péndulo de acuerdo a la velocidad del viento. Una escala apropiada, grabada
18
2.1 Estaciones Meteorologı́cas
en una superficie paralela al movimiento del péndulo servirá como indicador usando el
propio péndulo como aguja indicadora [hidy˙vientos˙1960].
Anemómetro Doppler
Los anemómetros Doppler de láser utilizan un haz de luz láser dividido en dos haces.
Las partı́culas 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 moléculas 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 partı́culas del aire cerca del
anemómetro [vallina˙instalaciones˙2010].
19
2 Marco Teórico
Anemómetro de Rotación
Este anemómetro es también 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 dirección del viento [inieco˙programacion˙2011]. Este movi-
miento puede ir a un sensor dedicado a contar el numero de vuelta o mediante un pequeño
generador que de un voltaje que es proporcional a lo velocidad de giro. El primer sistema
nos dará el recorrido del viento, mientras que el segundo dará la velocidad instantánea,
como lo hace el indicador de velocidad de un automóvil. Este tipo de anemómetro es el
más utilizado debido a su simplicidad y exactitud.
La cruz de cazoletas ABCD imprime un movimiento de rotación al árbol 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 dirección del viento [castillo˙agrometeorologi˙2001],
en su inicio tenı́an fines decorativos.
La dirección del viento se determina cuando la veleta gira y apunta la dirección de
donde proviene el viento.
20
2.2 Tecnologı́as de Hardware
Ornamento. Es la parte más 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 demás 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 después ejecutarlos. El microcontrolador ejecuta el programa car-
gado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por
una serie de ceros y unos, es decir, código binario. Dependiendo de la arquitectura del
21
2 Marco Teórico
Plataforma Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcon-
trolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en
proyectos multidisciplinares.
El Arduino Mega es una versión de esta plataforma basada en el microcontrolador
ATmeg1280. Sus caracteristicas principales son:
Voltaje de funcionamiento: 5V
EEPROM : 4 KB
22
2.2 Tecnologı́as de Hardware
LINK: Indica cuando existe un enlace de red y parpadea cuando la shield envı́a o
recibe datos
2.2.2. Sensores
Un sensor es un dispositivo el cual es capaz de detectar magnitudes fı́sicas o quı́micas,
y transformarlas en variables eléctricas.
23
2 Marco Teórico
Sensor de Temperatura
Los sensores de temperatura son dispositivos que transforman los cambios de tempera-
tura en cambios en señales eléctricas que son procesados por equipo eléctrico o electrónico.
Sensor de Humedad
Sensor Óptico
Los sensores ópticos son dispositivos que funcionan con luz, este tipo de sensores poseen
tanto el emisor como el receptor en un mismo encapsulado.
Trabajan por reflexión 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 también como ”brushless”se 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 fricción tampoco producen calor o ruido al contrario
aumentan su rendimiento y no requieren de mucho mantenimiento.
24
2.3 Tecnologı́as de Software
MySQL
Plataforma Java
Java es un lenguaje de programación 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 [diaz˙java˙2003].
Los caracterı́sticas mas importantes de Java son cinco, la programación orientada a
objetos, la posibilidad de ejecutar un mismo programa en diversos sistemas operativos, la
inclusión por defecto de soporte para trabajo en red, la opción de ejecutar el código 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 están escritas en lenguaje de programación Java
[speegle˙jdbc:˙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 programación 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 ejecutándose 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 Teórico
Plataforma Web
HTML es el acrónimo 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 caracterı́sticas, con el fin de hacerlo más eficiente y facilitar el desarrollo de
páginas web compatibles con distintos navegadores y plataformas.
Javascript es un lenguaje de programación que se utiliza para la creación de paginas
web dinámica [maza˙javascript˙2012], gracias a su compatibilidad con la mayorı́a de los
navegadores modernos, es un lenguaje de programación 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 páginas web e interactuar de forma ası́ncrona con el servidor en segun-
do plano sin necesidad de recargar las páginas, como ocurrı́a en el modelo tradicional
[olson˙ajax˙2007].
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas
operativos y navegadores dado que está basado en estándares abiertos como JavaScript y
Document Object Model.
26
2.3 Tecnologı́as 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 programación avanzada de aplicaciones, que aporta
una serie de funciones o códigos para realizar tareas habituales. Un framework son un
conjunto de librerı́as de código que contienen procesos o rutinas ya listos para usar. Se
emplean los frameworks para ası́ no tener que desarrollar las tareas más básicas, puesto
que en el propio framework ya hay implementaciones que están probadas, funcionan y no
se necesitan volver a programar.
RGraph es una biblioteca basada en JavaScript gratuita y construida para gráficos web.
RGraph crea los graficos de HTML5 en el navegador web utilizando JavaScript, lo que
significa páginas web más rápidas y con menos carga del servidor web. Esto lleva a los
pequeños tamaños de página, menores costos y sitios web más rápidos.
Herramientas de Software
Eclipse es una plataforma de desarrollo compuesta por un conjunto de herramientas de
programación de código abierto multiplataforma. Esta plataforma, tı́picamente ha sido
usada para desarrollar entornos de desarrollo integrados (del inglés 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 también 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 mayorı́a de otros sistemas tipo Unix.
27
3 Desarrollo
En este apartado se describe el desarrollo hardware y software del prototipo de la
estación meteorológica.
3.1.1. Anemómetro
Como ya se mencionó el anemómetro esta encargado de medir la velocidad del viento.
Para el desarrollo del proyecto se eligió el anemómetro de Robinson pues posee buena
exactitud y no requiere de una orientación.
29
3 Desarrollo
La elección de los materiales fue crucial en la construcción del dispositivo ya que están
directamente relacionados con su buen funcionamiento, es decir, deben ser muy ligeros.
La construcción los elementos que componen el anemómetro se describe continuación:
Cazoletas: Fueron construidas por la mitad de un flotador plástico ver figura 3.2.
Varillas: Son las encargadas de soportar las cazoletas, se diseñaron 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 anemómetro y el otro a las cazoletas.
Eje: Este fué fabricado con un motor brushless el cual no posee escobillas, por lo
que se reduce la fricción 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 fué fijado a una tapa de PVC cuyo diámetro 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 diseñada de cartón 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 lógica, es decir, este sistema se encarga de distinguir entre blanco y negro.
El diagrama esquemático es mostrado en la figura 3.10
33
3 Desarrollo
La alimentación de la tarjeta mostrada en la figura 3.11 se realizó con un jack rj45, esto
34
3.1 Desarrollo del Hardware
3.1.2. Veleta
La veleta es el dispositivo que indica la dirección del viento por lo que una de sus
caracterı́sticas primordiales es que al igual forma que el anemómetro los materiales deben
ser muy ligeros.
La construcción de los elementos que componen la veleta es descrita continuación:
Varilla: Esta posee una dimensión es de 60.5 cm y fue diseñada de material plástico.
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 diámetro.
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 anemómetro se diseño 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 orientación de esta.
Las principales caracterı́sticas que presenta este sensor son las siguientes:
Alimentación 4-30 V
Rango configurable
Bajo costo
De acuerdo a la conexión 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 configuración 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 configuración deseada es de 10kilo ohms.
Figura 3.20. Configuración del LM35 con un rango de -55 a 155 grados centı́grados.
39
3 Desarrollo
Alimentación 5 V
40
3.1 Desarrollo del Hardware
41
3 Desarrollo
3.1.5. Protección
El modulo de protección fue diseñado con el objetivo de resguardar el microcontrolador,
la tarjeta para medir la humedad y temperatura ası́ como también 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 estación se encuentre en condiciones
necesarias para su buen funcionamiento.
Se fijo a la base de la estación meteorológica una brújula, 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 pestaña se presenta una gráfica que muestra los promedios de las medi-
ciones.
.
Figura 3.38. Gráfica 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 didáctico de la estación me-
teorológica se puede observar en la figura 4.1
51
4 Pruebas y resultados
4.2. Pruebas
Se realizó una comparativa entre las mediciones representativas generadas por el pro-
totipo y mediciones de un servicio meteorológico publico llamado OpenWeatherMap.
En la figura 4.2 se muestra gráfica comparativa de las mediciones de humedad.
La gráfica en azul nos muestra las mediciones obtenidas por OpenWeatherMap mientras
que la gráfica en rojo nos muestra las mediciones obtenidas de la estación.
En la figura 4.3 se muestra gráfica comparativa de las mediciones de temperatura.
52
4.3 Estimación 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 meteorológico 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 diseñar 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 estación meteorológica midiendo las cuatro variables
propuestas: humedad relativa, temperatura, dirección 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
15°C 20°C 25°C 30°C 35°C 40°C
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 LM35’s 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 device’s 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 device’s 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 Códigos
6.2. Códigos
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 Códigos
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 Códigos
75
6 Anexos
76
6.2 Códigos
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 Códigos
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 Códigos
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/shield’s 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 there’s 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 couldn’t 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