integradora3
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Universidad Tecnológica de San Luis Potosí<br />
Construcción de Centro Meteorológico a escala.<br />
Materia:<br />
Integradora<br />
Nombre del profesor(a): José Luis Viramontes Reyna<br />
Alumnos:<br />
Juan Diego Álvarez Torres<br />
Lilia Carolina García Villanueva<br />
Erick Noel Manzanares Hdz.<br />
José Ramón Hernández Hdz.<br />
MTA 5.1<br />
08/Abril/2016<br />
Edificio F<br />
INDICE.
1. INTRODUCCIÓN…………………………………….1<br />
2. INFORMACION GENERAL DEL PROYECTO…..2<br />
2.1 NOMBRE DEL PROYECTO<br />
2.2 OBJETIVO<br />
2.3 JUSTIFICACIÓN<br />
2.4 AVANCES<br />
2.5 LIMITACIONES<br />
3. MARCO TEORICO……………………………………3<br />
3. DESARROLLO DEL PROYECTO…………………4<br />
3.1 CRONOGRAMA<br />
4. CONCLUSIÓN…………………………………………5<br />
5. REFERENCIAS………………………………………..6
1.- INTRODUCCIÓN:<br />
Este documento tiene como objetivo dar a conocer la información que se utilizó<br />
para llevar a cabo el proyecto de un “Centro Meteorológico”.<br />
Un centro meteorológico que contara con sensores, estos nos enviarán datos de<br />
mediación que serán visualizados en la pantalla de una laptop.<br />
El documento también contendrá datos de la institución a la cual nosotros<br />
ofreceremos nuestro proyecto, explicando a grandes rangos información de la<br />
misma y como se puede incorporar nuestro proyecto a un área especial.<br />
Contar con un marco teórico será necesario para explicar cualquier tecnicismo que<br />
fuera difícil de comprender o se desconociera, por eso se incluirá para reforzar y<br />
dar a conocer todos los conocimientos empleados a lo largo de la elaboración del<br />
proyecto.<br />
Para finalizar se agregara al documento un cronograma para llevar el seguimiento<br />
de las actividades que se desarrollaran a lo largo del cuatrimestre, explicando<br />
detalladamente cada actividad y la fecha en que debe ser realizada.
3.- INFORMACION GENERAL DEL PROYECTO<br />
3.1.-Nombre del proyecto:<br />
3.2.-Objetivo:<br />
“Centro Meteorológico”<br />
Desarrollar una estación meteorológica funcional que mida las variables de<br />
temperatura, humedad, velocidad del viento, presión atmosférica y lluvia.<br />
Esta información será monitoreada por un arduino 1. El sistema contara con un<br />
enlace con Visual Basic en dicho enlace se mostraran los datos adquiridos para<br />
hacer la interfaz un poco más amable con el usuario.<br />
3.3.-Justificación:<br />
Una estación meteorológica es una instalación destinada a medir y registrar<br />
regularmente diversas variables meteorológicas. Estos datos se utilizan tanto para<br />
la elaboración de predicciones meteorológicas a partir de modelos numéricos como<br />
para estudios climáticos.<br />
Existen observatorios meteorológicos sinópticos, que sí cuentan con personal<br />
(observadores de meteorología), de forma que además de los datos anteriormente<br />
señalados se pueden recoger aquellos relativos a nubes (cantidad, altura, tipo),<br />
visibilidad y tiempo presente y pasado. La recogida de estos datos se denomina<br />
observación sinóptica. Esto implica más trabajo y en dados caso las mediciones que<br />
se realizan llegan a hacer inexactas ya que los fenómenos naturales son<br />
impredecibles.<br />
La mayor parte de las estaciones meteorológicas están automatizadas (E.M.A.)<br />
requiriendo un mantenimiento ocasional. Además de reducir las inexactitudes y<br />
facilitando el trabajo de llegar a medir erróneamente.<br />
3.4.- Alcances:<br />
<br />
<br />
El presente proyecto explorara la comunicación que se puede realizar entre<br />
los sensores, microcontroladores y su programación.<br />
El proyecto se enfocará en solo cinco variables que nos emitirán los datos<br />
necesarios para realizar las conversiones para su lectura en la interfaz<br />
3.5.- Limitaciones:<br />
No incluir más sensores que realicen mediciones diferentes a las<br />
mencionadas por su costo o no poder encontrarlos en el momento necesario.
4.- MARCO TEÓRICO<br />
¿Qué es un sistema automatizado?<br />
La automatización es un sistema donde se trasfieren tareas de producción,<br />
realizadas habitualmente por operadores humanos a un conjunto de elementos<br />
tecnológicos.<br />
Un sistema automatizado consta de dos partes principales:<br />
-Parte de Mando<br />
-Parte Operativa<br />
La Parte Operativa es la parte que actúa directamente sobre la máquina. Son los<br />
elementos que hacen que la máquina se mueva y realice la operación deseada. Los<br />
elementos que forman la parte operativa son los accionadores de las máquinas<br />
como motores, cilindros, compresores y los captadores como fotodiodos, finales de<br />
carrera.<br />
La Parte de Mando suele ser un autómata programable (tecnología programada),<br />
aunque hasta hace bien poco se utilizaban relés electromagnéticos, tarjetas<br />
electrónicas o módulos lógicos neumáticos (tecnología cableada). En un sistema de<br />
fabricación automatizado el autómata programable está en el centro del sistema.<br />
Este debe ser capaz de comunicarse con todos los constituyentes de sistema<br />
automatizado<br />
¿Qué es la meteorología?<br />
La Meteorología es la ciencia encargada del estudio de la atmósfera, de sus<br />
propiedades y de los fenómenos que en ella tienen lugar, los llamados meteoros. El<br />
estudio de la atmósfera se basa en el conocimiento de una serie de magnitudes, o<br />
variables meteorológicas, como la temperatura, la presión atmosférica o la<br />
humedad, las cuales varían tanto en el espacio como en el tiempo.<br />
El comienzo de un centro meteorológico.<br />
La historia de la meteorología está muy relacionada con la evolución de las ciencias<br />
físicas y químicas, así como con el avance de la astronomía y la tecnología, pues<br />
en el caso particular de la investigación de la atmósfera esta se ha basado en el<br />
registro y observación desde diversas plataformas y sensores remotos.<br />
.La historia de la meteorología se puede subdividir en tres grandes etapas: 1) la<br />
etapa prehistórica, mitológica y de la edad media, en la que el hombre creía que los<br />
fenómenos naturales eran mensajes y castigos de los dioses; 2) la etapa de la<br />
observación y descubrimientos científicos, en la que el hombre logró superar las<br />
creencias religiosas y filosóficas, para basar su conocimiento en la observación y<br />
análisis detallado de los fenómenos naturales y 3) la etapa de modernización
tecnológica, en la que el hombre se apoya en los avances de la tecnología, para<br />
investigar las causas de los fenómenos meteorológicos, así como los posibles<br />
escenarios futuros.<br />
Emplazamiento:<br />
Las estaciones se deben emplazar en lugares cuyo clima sea representativo de las<br />
condiciones de la zona. Así, por ejemplo, se evitarán hondonadas cuya temperatura,<br />
viento, etc. puede ser diferente a la de su entorno. Las estaciones meteorológicas<br />
deben estar situadas en un lugar llano y libre de obstáculos que puedan afectar a<br />
las observaciones. Siempre que sea posible, el suelo deberá estar cubierto de<br />
césped en una superficie de 10x10 m. (en el caso de Sort se dispone de dos<br />
superficies de 11x10 m.) y el recinto deberá estar acotado para evitar la entrada de<br />
personas ajenas. En cuanto al lugar de emplazamiento de los instrumentos de la<br />
estación, no hay unas normas establecidas al respeto, y es esencial que no se<br />
afecten entre sí (por ejemplo, que no se proyecte sombra sobre el instrumento<br />
medidor de la radiación -tanto global como difusa- o evitar obstáculos que afecten<br />
a la recogida de lluvia por el pluviómetro o a la velocidad del viento). Dentro de las<br />
estaciones podemos distinguir las tradicionales, que requieren la existencia de un<br />
observador que las visite diariamente a horas fijas para la toma de medidas (1), y<br />
las automáticas, que son las que se van imponiendo en la actualidad y en la que el<br />
registro de datos se hace automáticamente y prácticamente de forma continua. A<br />
partir de los registros obtenidos en estas estaciones se irán formando<br />
sucesivamente las series de datos horarios, diarios, semanales, mensuales y<br />
anuales en los que nos basaremos para nuestro estudio climático.<br />
Sensor de humedad y temperatura DTH11<br />
El sensor DTH11 es un sensor acoplado a un circuito integrado que nos permite<br />
medir la humedad relativa y temperatura ambiental. Posee una resolución de 1°C y<br />
un rango de operación que va de los 0°C a 50°C para la temperatura, y resolución<br />
de 1% con un rango un rango de operación desde el 20% hasta el 95% de humedad<br />
relativa.<br />
Este sensor opera con un volate de alimentación que va desde los 3.3Vcd a los<br />
5Vcd, Los coeficientes de calibración de este sensor se almacenar como programas<br />
OTP en la memoria interna del sensor.<br />
Este sensor solo usa un cable para transmisión de datos y dos de alimentación lo<br />
que lo hace pequeño pero poderoso y es fácil de acoplar a diversas aplicaciones<br />
tales como:<br />
-Centrales de clima
-Medición de humedad y temperatura en procesos especifico<br />
-Aplicaciones de HVAC<br />
Sensor bpm180<br />
El bmp 180 es un sensor de presión barométrica que no solo nos mide esta variable,<br />
también tiene la capacidad de medir la temperatura ambiente en un rango de los –<br />
40 a los 110°C.<br />
Basándose en estos cálculos y con la librería desarrollada, este sensor es capaz de<br />
determinar la altura relativa de donde se encuentra. En general es un sensor digital<br />
de precisión para aplicaciones de bajo consumo de energía, como PDA´s<br />
dispositivos GPS Y equipo al aire libre.<br />
Su interfaz La interfaz I2C permite una fácil la integración del sistema con un<br />
microcontrolador.<br />
El BMP180 se basa en la tecnología piezo-resistivo para la robustez de EMC, alta<br />
precisión y linealidad así como la estabilidad a largo plazo.<br />
Pluviómetro:<br />
El pluviómetro es un instrumento que se emplea en las estaciones<br />
meteorológicas para la recogida y medición de la precipitación. Se usa para medir<br />
la cantidad de precipitaciones caídas en un lugar durante un tiempo determinado.<br />
La cantidad de agua caída se expresa en milímetros de altura (o equivalentemente<br />
en litros por metro cuadrado). El diseño básico de un pluviómetro consiste en una<br />
abertura superior (de área conocida) de entrada de agua al recipiente, que luego es<br />
dirigida a través de un embudo hacia un colector donde se recoge y puede medirse<br />
visualmente con una regla graduada o mediante el peso del agua depositada.<br />
Normalmente la lectura se realiza cada 12 horas. Un litro caído en un metro<br />
cuadrado alcanzaría una altura de 1 milímetro.<br />
Para nuestro proyecto usaremos un pluviómetro de diseño básico como el que se<br />
describe y se le acoplara un módulo yl38 que tiene una galga resistiva la cual nos<br />
dará una salida analógica en base a los milímetro de lluvia que caigan y se<br />
recolecten en nuestro recipiente.<br />
Módulo yl38:<br />
El circuito de control es el que posee las resistencias limitadoras de corriente y es<br />
el encargado de alimentar el módulo YL-83. Posee un amplificador operacional,<br />
específicamente el circuito integrado LM392. Este es el encargado de amplificar el
pequeño diferencial de voltaje que se general cuando una gota de agua cae sobre<br />
las pistas del módulo. Aquí es donde se genera la señal de salida que puede ser del<br />
tipo analógica o digital. La señal digital oscilará entre los valores HIGH y LOW<br />
dependiendo de si hay agua o no sobre las pistas de la placa YL-83.<br />
La salida analógica entregará un nivel de voltaje que variará dependiendo de la<br />
cantidad de agua que haya sobre el módulo.<br />
Este módulo consiste en una serie de pistas conductoras impresas sobre una placa<br />
de baquelita. La separación entre las pistas es muy pequeña. Lo que este módulo<br />
hace es crear un corto circuito cada vez que las pistas se mojan. El agua hace que<br />
se cree un camino de baja resistencia entre las pistas con polaridad positiva y las<br />
pistas conectadas al GND. La corriente que fluye a través de estas pistas se ve<br />
limitada por resistencias de 10K en cada conductor, lo que impide que el corto<br />
circuito que se genera cuando se moja la placa vaya a estropear el micro<br />
controlador.<br />
Anemómetro:<br />
El anemómetro de rueda de paletas, que consiste en un rodete con álabes<br />
oblicuos, o además el denominado de Robinson, que consta de cuatro cazoletas<br />
de forma de hemisferio fijado a cuatro brazos radiales.<br />
Al soplar el viento hace girar las ruedas de paleta o el eje de la rueda de paletas<br />
con velocidad proporcional a la del viento. Este movimiento se transmite a algún<br />
mecanismo capas de indicar esta velocidad sobre una escala graduada.<br />
Este modelo fue inventado por el físico francés Pitot (1695-1771) en<br />
1732.Comparando la presión ejercida por el aire, que impacta en una de las<br />
bocas, con la presión atmosférica normal, se obtiene la velocidad del viento.<br />
Los anemómetros son empleados especialmente en meteorología y navegación<br />
aérea.<br />
Proviene del griego, anemos, viento; metron, medida.<br />
Arduino:<br />
Arduino es una herramienta para hacer que los ordenadores puedan sentir y<br />
controlar el mundo físico a través de tu ordenador personal. Es una plataforma de<br />
desarrollo de computación física (physical computing) de código abierto, basada en<br />
una placa con un sencillo microcontrolador y un entorno de desarrollo para crear<br />
software (programas) para la placa.
Arduino puede tomar información del entorno a través de sus entradas analógicas<br />
y digitales, puede controlar luces, motores y otros actuadores. El microcontrolador<br />
en la placa Arduino se programa mediante el lenguaje de programación Arduino<br />
(basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los<br />
proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un<br />
ordenador.<br />
También cuenta con su propio software que se puede descargar de su página oficial<br />
que ya incluye los drivers de todas las tarjetas disponibles lo que hace más fácil la<br />
carga de códigos desde el computador.<br />
Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede<br />
ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data.<br />
Una tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos<br />
desarrollando interfaces en software como JAVA, Visual Basic y LabVIEW 6 . Las<br />
placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado<br />
libre se puede descargar gratuitamente.<br />
Visual BASIC:<br />
Es un lenguaje de programación orientada a objetos desarrollado por Microsoft.<br />
Los compiladores de Visual Basic generan código que requiere una o más librerías<br />
de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla en<br />
inglés de dynamic-link library ); en algunos casos reside en el archivo llamado<br />
MSVBVMxy.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y<br />
es la versión) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas<br />
bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje,<br />
conteniendo rutinas en código ejecutable que son cargadas bajo demanda en<br />
tiempo de ejecución. Además de las esenciales, existe un gran número de<br />
bibliotecas del tipo DLL con variedad de funciones, tales como las que facilitan el<br />
acceso a la mayoría de las funciones del sistema operativo o las que proveen<br />
medios para la integración con otras aplicaciones.<br />
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede<br />
ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en<br />
realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta,<br />
simulando la función de un intérprete puro). Desde ese entorno también se puede<br />
generar el archivo en código ejecutable (exe); ese programa así generado en disco<br />
puede luego ser ejecutado sin requerir del ambiente de programación (incluso en<br />
modo stand alone), aunque sí será necesario que las librerías DLL requeridas por<br />
la aplicación desarrollada se encuentren también instaladas en el sistema para<br />
posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir,<br />
permite generar un módulo instalador que contiene al programa ejecutable y las<br />
bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación<br />
desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un<br />
sistema operativo compatible).<br />
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros<br />
que permiten disponer de variadas y múltiples funciones, incluso mejoras para el<br />
propio Visual Basic; las hay también para el empaquetado y distribución, y hasta<br />
para otorgar mayor funcionalidad al entorno de programación (IDE).<br />
El entorno de desarrollo o interfaz de usuario, es muy similar al de otros lenguajes<br />
de programación le permite al usuario desplegarse por menús y submenús para<br />
insertar comandos, botones, funciones y demás propiedades que nosotros como<br />
desarrolladores le queramos agregar a nuestra interfaz
Desarrollo del proyecto:<br />
Para implementar el sistema se usara una placa arduino 1a la cual se mandaran las<br />
señales de los sensores de humedad, temperatura, velocidad del viento y cantidad<br />
de lluvia en caso de que la allá.<br />
Para la interfaz gráfica se utilizará una pantalla lcd y un enlace a visual Basic para<br />
que el sistema se un poco más fácil y dinámica la interfaz con el usuario.<br />
El sistema o prototipo será montado en una maqueta para la presentación de<br />
funcionalidad. La programación será realizada en el lenguaje propio de arduino y<br />
para la interfaz gráfica se utilizara visual estudio 2013. La comunicación y<br />
transmisión de datos se realizara mediante comunicación serial. Estos códigos aún<br />
se encuentran en desarrollo y pruebas.
Cronograma<br />
Proyecto Estacion Meteorologica<br />
UT SLP<br />
V<br />
A<br />
R<br />
100%<br />
75%<br />
50%<br />
PROGRAMA DE ACTIVIDADES PARA REALIZAR EL PROYECTO<br />
RESPONSABLE<br />
AVANCE DE ACTIVIDAD<br />
No.<br />
Hrs hombre<br />
(ESTIMADA)<br />
ACTIVIDAD<br />
FECHA PLANEADA<br />
FECHA REALIZADA<br />
0<br />
%<br />
2<br />
5<br />
%<br />
5<br />
0<br />
%<br />
7<br />
5<br />
%<br />
1<br />
0<br />
0<br />
%<br />
DOT<br />
1<br />
8.0 Planificacion de proyecto 28-ene-16 28-ene-16<br />
LILI GARCIA JUAN DIEGO<br />
ALVARES TORRES<br />
V<br />
2<br />
6<br />
INVESTIGACION DE COMPONETES<br />
NECESARIOS<br />
DEL 1 AL 15 DE FEBRERO 2016<br />
DEL 1 AL 15 DE FEBRERO<br />
2016<br />
ERICK MANZANARES<br />
V<br />
3<br />
12<br />
REALIZAR PAGINA WEB PARA<br />
PRECENTACION DE PROYECTO<br />
17-feb-16<br />
17-feb-16<br />
JUAN DIEGO ALVARES<br />
TORRES<br />
V<br />
4<br />
3<br />
COTIZACION Y COMPRA DE<br />
MATERIALES NECESARIOS<br />
18-feb-16 18-feb-16 ERICK MANZANARES V<br />
5<br />
25<br />
DESARROLLO Y SIMULACION DE<br />
PROGRAMAS PARA VISUAL BASIC Y<br />
ARDUINO<br />
22/FEB/2016 A 18/MARZO/2016<br />
22/FEB/2016 A<br />
18/MARZO/2016<br />
JOSE RAMON HERNANDEZ<br />
HERNANDEZ<br />
V<br />
6<br />
22<br />
MONTAJE DE PROTOTIPO Y<br />
PUESTA EN MARCHA DE EL EQUIPO<br />
03-abr-16 03-abr-16 TODO EL EQUIPO V<br />
7<br />
10<br />
ENLACE DE EQUIPO CON VISUAL<br />
BASIC<br />
08-abr-16 08-abr-16 TODO EL EQUIPO<br />
8<br />
5 ENTREGA DE EQUIPO OPERANDO 15-abr-16 15-abr-16 TODO EL EQUIPO<br />
Descripción de actividades:<br />
1.-Planificacion de proyecto<br />
Revisión de proyectos disponibles y autorización del proyecto a desarrollar.<br />
La autorización fue dada por el PTC José Luis Viramontes Reyna y el proyecto<br />
elegido fue el desarrollo de una central meteorológica.<br />
2.- INVESTIGACION DE COMPONETES NECESARIOS para el desarrollo del<br />
proyecto<br />
Consulta de variables medidas por las centrales meteorológicas para la elección<br />
de sensores útiles y accesibles, para implementarlos en la central<br />
Revisión de componentes y sensores compatibles con Arduino y disponibles en la<br />
república Mexicana.
3.-Inicio de diseño de página web para presentar el proyecto.<br />
Diseño de página web en la plataforma de wix en ella se irá subiendo el avance y<br />
desarrollo del proyecto. También se subirá un video final mostrando el proyecto<br />
funcionando.<br />
4.-Cotizacion y compra de materiales necesarios.<br />
Revisión de precios con diferentes proveedores.<br />
Selección de proveedor o proveedores más viables y compra de materiales para<br />
evitar retrasos en el desarrollo y entrega del proyecto.<br />
5.-Desarrollo y simulación de programas en Visual Basic y Arduino<br />
Desarrollo de código en compilador Arduino estructura de ciclos y medición de<br />
variables<br />
Desarrollo de código en Visual Basic implementando comunicación serial y<br />
adquisición de datos para representarlos en una interfaz gráfica.<br />
6.-Montaje del prototipo y puesta en marcha del equipo<br />
Fabricación de circuitos impresos montaje de sensores<br />
Fabricación de anemómetro y pluviómetro, cableado de sensores con placa<br />
arduino, revisión por medio del monitor serial de arduino que los datos de las<br />
variables medidas se estén desplegando correctamente.<br />
7.- Enlace del equipo con visual Basic<br />
Conexión de la placa arduino con la interfaz gráfica de visual Basic mediante como<br />
comunicación serial.<br />
Revisión de la correcta adquisición y animación de datos desplegados en visual<br />
Basic.<br />
8.-Entrega del equipo<br />
Entrega y revisión final del equipo<br />
Aprobación del proyecto y entrega de documentación al PTC
Conexiones y códigos de programación en Arduino y Vsual Studio<br />
Código central meteorológica (Arduino)<br />
#include <br />
#include <br />
SFE_BMP180 pressure;<br />
#include "DHT.h"<br />
#define DHTPIN 3<br />
#define DHTTYPE DHT11 // DHT 11<br />
#include <br />
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // ( RS, EN, d4, d5, d6, d7)<br />
DHT dht(DHTPIN, DHTTYPE);<br />
double PresionBase;<br />
double Presion = 0;<br />
double Altura = 0;<br />
double Temperatura = 0;<br />
char status;<br />
volatile byte rpmcount;//iniciA ane<br />
unsigned int rpm; //<br />
unsigned long timeold;//termina ane<br />
String h2;<br />
String c2;<br />
String f2;<br />
String temperatura2;<br />
String presion2;<br />
String Altura2;<br />
String vel2;<br />
String lluvia2;<br />
float lluvia;<br />
// almacenara el valor leido
int pinentrada = 0;<br />
// utilizaremos el pin A0<br />
void rpm_fun()<br />
{<br />
//por cada rotacion, entra 2 veces a esta funcion de interrupcion, a<br />
tenerlo en cuenta para lso calculos<br />
}<br />
rpmcount++;<br />
//incrementa contador de RPM<br />
void setup() {<br />
Serial.begin(9600);<br />
lcd.begin(16, 2); // Fijar el numero de caracteres y de filas<br />
lcd.print("Meteorologia"); // Enviar el mensaje<br />
dht.begin();<br />
SensorStart();<br />
//La interrupcion se activa por FALLING, cuando va de Alto a bajo<br />
attachInterrupt(0, rpm_fun, FALLING);<br />
rpmcount = 0;<br />
rpm = 0;<br />
timeold = 0;<br />
}<br />
void loop() {<br />
delay (1000);<br />
detachInterrupt(0);<br />
rpm = 30*1000/(millis() - timeold)*rpmcount;
timeold = millis();<br />
float ms = (rpm*(2*3.1416))/60;<br />
float ms1= ms*3;<br />
rpmcount = 0;<br />
Serial.println(h2);<br />
Serial.println(c2);<br />
Serial.println(f2);<br />
Serial.println(temperatura2);<br />
Serial.println(presion2);<br />
Serial.println(Altura2);<br />
Serial.println(ms1);<br />
Serial.println(lluvia2);<br />
attachInterrupt(0, rpm_fun, FALLING);<br />
ReadSensor();<br />
float h = dht.readHumidity();<br />
float t = dht.readTemperature();<br />
float f = 1.8*t+32;<br />
h2=String(h);<br />
c2=String(t);<br />
f2=String(f);<br />
temperatura2= String(Temperatura);<br />
presion2=String(Presion);<br />
Altura2=String(Altura);<br />
lluvia = analogRead(pinentrada);
float mmlluvia = -0.0421568627*analogRead(pinentrada)+43;<br />
lluvia2=String(mmlluvia);<br />
}<br />
void SensorStart() {<br />
//Secuencia de inicio del sensor<br />
if (pressure.begin())<br />
lcd.print("BMP180 init success");<br />
else<br />
{<br />
}<br />
lcd.print("BMP180 init fail (disconnected?)\n\n");<br />
while (1);<br />
//Se inicia la lectura de temperatura<br />
status = pressure.startTemperature();<br />
if (status != 0) {<br />
delay(status);<br />
//Se lee una temperatura inicial<br />
status = pressure.getTemperature(Temperatura);<br />
if (status != 0) {<br />
//Se inicia la lectura de presiones<br />
status = pressure.startPressure(3);<br />
if (status != 0) {<br />
delay(status);
}<br />
//Se lee la presión inicial incidente sobre el sensor en la primera ejecución<br />
status = pressure.getPressure(PresionBase, Temperatura);<br />
}<br />
}<br />
}<br />
void ReadSensor() {<br />
//En este método se hacen las lecturas de presión y temperatura y se calcula la altura<br />
//Se inicia la lectura de temperatura<br />
status = pressure.startTemperature();<br />
if (status != 0)<br />
{<br />
delay(status);<br />
//Se realiza la lectura de temperatura<br />
status = pressure.getTemperature(Temperatura);<br />
if (status != 0)<br />
{<br />
//Se inicia la lectura de presión<br />
status = pressure.startPressure(3);<br />
if (status != 0)<br />
{<br />
delay(status);<br />
//Se lleva a cabo la lectura de presión,<br />
//considerando la temperatura que afecta el desempeño del sensor<br />
status = pressure.getPressure(Presion, Temperatura);
if (status != 0)<br />
{<br />
//Se hace el cálculo de la altura en base a la presión leída en el Setup<br />
Altura = pressure.altitude(Presion, PresionBase);<br />
}}}}}
Diagramas Arduino:
Interfaz en Visual Basic:<br />
Código de Visual Basic:<br />
Imports System.Threading<br />
Imports System.IO.Ports<br />
Public Class Form1<br />
Dim h2 As String<br />
Dim t2 As String<br />
Dim f2 As String<br />
Dim temperatura2 As String<br />
Dim presion2 As String<br />
Dim Altura2 As String<br />
Dim rpm2 As String<br />
Dim lluvia2 As String<br />
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load<br />
SerialPort1.Close()<br />
SerialPort1.PortName = "com6" 'CAMBIA EL PUERTO COM<br />
SerialPort1.BaudRate = 9600<br />
SerialPort1.DataBits = 8<br />
SerialPort1.Parity = Parity.None<br />
SerialPort1.StopBits = StopBits.One<br />
SerialPort1.Handshake = Handshake.None<br />
SerialPort1.Encoding = System.Text.Encoding.Default<br />
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles<br />
Button1.Click<br />
Timer1.Start()<br />
End Sub<br />
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick<br />
SerialPort1.Open()<br />
h2 = SerialPort1.ReadLine<br />
TextBox1.Text = h2<br />
t2 = SerialPort1.ReadLine<br />
TextBox2.Text = t2<br />
f2 = SerialPort1.ReadLine<br />
TextBox3.Text = f2<br />
temperatura2 = SerialPort1.ReadLine<br />
TextBox4.Text = temperatura2<br />
presion2 = SerialPort1.ReadLine<br />
TextBox5.Text = presion2<br />
Altura2 = SerialPort1.ReadLine<br />
TextBox6.Text = Altura2<br />
rpm2 = SerialPort1.ReadLine<br />
TextBox7.Text = rpm2<br />
lluvia2 = SerialPort1.ReadLine<br />
TextBox8.Text = lluvia2<br />
Dim SE As Double<br />
SE = t2<br />
ProgressBar1.Value = SE<br />
Dim Sf As Double<br />
Sf = f2<br />
ProgressBar2.Value = Sf<br />
Dim Sh As Double<br />
Sh = h2<br />
ProgressBar3.Value = Sh<br />
Dim tes As Double<br />
tes = temperatura2<br />
ProgressBar4.Value = tes<br />
SerialPort1.Close()<br />
End Sub<br />
End Class
Conclusiones:<br />
Cuando se nos dijo que tendríamos que crear un proyecto para presentarlo al final<br />
del cuatrimestre tuvimos la idea de crear este centro meteorológico, en ese<br />
momento lo que teníamos en mente era la maqueta, en sí realizar conexiones,<br />
circuitos, integrar uno que otro dispositivo y listo, nuestro proyecto estaría listo,<br />
pero en verdad las cosas no sucedieron así, como este proyecto lleva integrado<br />
una placa de arduino y dos delos integrantes de equipo no sabíamos cómo<br />
manejar ese dispositivo, tuvimos que buscar la información para saber cómo<br />
utilizarlo, también nos dimos cuenta de que antes de comenzar a realizar algo<br />
debemos de tener muy en claro que es lo que vamos a hacer y como lo vamos a<br />
hacer, por lo que se desarrolló el cronograma para llevar un control en los tiempos<br />
de trabajo el cuan nos fue de gran ayuda.<br />
Y como cada proyecto lleva una documentación, pues en este caso nos fue de<br />
gran ayuda y para mejorar la presentación de este, aprendimos a como redactar el<br />
documento de la manera correcta, lo cual le da una mejor presentación y una<br />
mejor comprensión de cómo se desarrolló el proyecto complementando así el<br />
marco teórico, ya que como lo hacíamos anteriormente estaba de manera<br />
incompleta. Pero ahora se muestra de una manera más completa y perfeccionada.<br />
Los resultados obtenidos a como los teníamos planeados son satisfactorios, ya<br />
que la central meteorológica quedo lista y funcionando, nos hizo estancarnos un<br />
poco, pero pues no todo sale al primer intento, así que tuvimos que reparar los<br />
errores los cuales fueron pequeños y al final de todo quedo lista en tiempo justo<br />
para entregar y ser evaluados.
Referencias:<br />
Charte F. (2010). Visual Basic. Anaya Multimedia<br />
Ceballos,F. (1994). Enciclopedia de Microsoft Visual Basic. Ra-Ma.<br />
Balena, F. (2000). Programación Avanzada con Microsoft Visual Basic 6.0.<br />
Varejão, M. (2000). Meteorología e climatología. INMET<br />
D-Robotic (7/30/2010). DHT11 Humidity & Temperature Sensor. DHT 11 Humidity<br />
& Temperature Sensor, 1, 10.<br />
Bosch, S. (2013). BMP180 Digital pressure sensor. EUA: Bosch.<br />
Juarez, A. (2008). IPEM 56 Abraham Juarez.(7/04/2016).<br />
http://www.oni.escuelas.edu.ar/2008/CORDOBA/1324/trabajo/anemometro.<br />
html<br />
universidad de cadiz. (3/12/10). Comenzando con arduino. 1-80.<br />
Banzi, M. (2009). Getting Started with Arduino.