Descargar como odt, pdf o txt
Descargar como odt, pdf o txt
Está en la página 1de 22

Estación meteorológica automática

David Alejandro Méndez Vargas


Diego Esteban Jiménez Gutiérrez
& Juan Manuel Lozada Carvajal
2019, Bogotá D.C.

INEM Francisco de Paula Santander

Departamento de industrial
Tecnología e informática
Estación meteorológica automática

David Alejandro Méndez Vargas


Diego Esteban Jiménez Gutiérrez
& Juan Manuel Lozada Carvajal
2019, Bogotá D.C.

Proyecto de grado para el título de bachiller


Tutor:
Frank Edier Gonzalez Buitrago

INEM Francisco de Paula Santander

Departamento de industrial
Tecnología e informática
Table of Contents
Introducción...............................................................................................................................................4
Problema de investigación.........................................................................................................................4
Pregunta de investigación..........................................................................................................................5
Justificación...............................................................................................................................................5
Objetivos generales y especificos..............................................................................................................5
ODS.......................................................................................................................................................6
Ubicación del objeto de estudio en el contexto..........................................................................................6
¿Qué es el internet de las cosas?...........................................................................................................6
¿Qué es automatización?.......................................................................................................................7
¿Qué es la raspberry pi?........................................................................................................................8
Python....................................................................................................................................................8
¿Qué es una estación meteorológica?....................................................................................................8
Metodología...............................................................................................................................................9
Materiales..............................................................................................................................................9
Sensores...........................................................................................................................................9
Controlador......................................................................................................................................9
Material externo.............................................................................................................................10
Costos..................................................................................................................................................10
Proceso................................................................................................................................................11
Programación.......................................................................................................................................12
Fase creativa........................................................................................................................................18
Producto final...........................................................................................................................................19
Recomendaciones.....................................................................................................................................21
Conclusión...............................................................................................................................................21
Introducción

28 años después de la inauguración del colegio INEM Francisco de Paula Santander en 1970, el

primero de septiembre de 1998 inició el funcionamiento de una estación meteorológica, de sistemas

análogos y eficientes. Incluso para el año 2019, (21 años más tarde) sigue en constante funcionamiento

y funciona bien, sin embargo es inevitable el hecho de que la tecnología de hoy en día permite una

accesibilidad mayor al sistema que se tienen actualmente, es decir que dispone de opciones más de facil

alcance para la comunidad [Electrónica FP, 2018]. Resulta también que los datos más precisos y

asequibles permiten una mejor adaptación a los riesgos a la hora de realizar distintos estudios, algo que

la Ingeniera Agrónoma Michelle Bonatti en su tesis de grado, Cambios climáticos, percepciones

humanas y desarrollo rural, pagina 29 afirma:

“La adaptación puede ocurrir antes de los impactos de forma preventiva, o bien puede ocurrir

después del acontecimiento de los mismos. La adaptación es la forma de sobrevivir o ser menos

vulnerable a los impactos de los cambios climáticos” [(Bonatti, 2011, pág. 29)].

A partir de esta afirmación, De la misma manera se busca realizar una ampliación de usos de

estos datos para que así las entidades que requieran hacer estudios de diversas índoles para proyectos

dentro de la institución.

Dentro del proyecto encontrará el procesos de construcción a partir de una base teórica, la cual

invita a reconocer las ventajas de las tecnológias de conexión digital y el internet de las cosas

Problema de investigación

El problema radica en la accesibilidad de los mismos datos de la estación meteorológica, resulta

que el IDEAM, en su página web ofrece acceso a una información relacionada con los pronósticos del

clima, y de riesgos de zonas, esto mismo es para una transparencia y apoyo de la comunidad a la
prevención. Sin embargo según el Ministerio de Tecnologías de la Información y las Comunicaciones,

muchos de los datos tienen un periodo de retraso dado a la frecuencia de de envío de datos de los

sensores. [Ambiente Y Desarrollo Sostenible, 2019]. Como consecuencia, muchas personas que tienen

proyectos, y necesitan de estos datos, tienen que realizar su propia estación meteorológica o esperar a

que los datos lleguen con retraso.

Pregunta de investigación

¿Cómo es posible mejorar la accesibilidad de los datos meteorológicos en el INEM de

Kennedy?

Justificación

Es necesario compartir y realizar una alternativa para quienes requieren de estos datos, en el colegio

INEM, incluso afirman algunos docentes, que tendrían la posibilidad de usar los datos para realizar

investigaciones y aplicar la teoría en clases. Una posible consecuencia de lo anterior, seria incentivar a

la investigación y concientizar a los jovenes sobre los cambios climáticos

Objetivos generales y especificos

El obbjetivo planteado supone realizar un metodo de automatización de las variables de la

estación, usando sensores digitales a cambio de los análogos. Se presume que existe en la estación

meteorológica del colegio sensores de humedad, temperatura, radiación solar, y presión atmosférica,

por lo que se busca usar estas mismas variables en los sensores digitales. Además, como alternativa de

recolección de datos se plantea usar una raspberry pi, una herramienta disponible a un público extenso

y muy útil para la automatización, esto es por la accesibilidad que tiene para conectarse a internet, y así

generar un espacio en la red en el cual se permita visualizar los datos de cada sensor a través de una

página web.
ODS

las ODS’s ([Programa de las Naciones Unidas para el Desarrollo, 2016]) son objetivos

planeados para resolver una serie de problemáticas en común para una gran cantidad de personas y

comunidades; dice textualmente de la página oficial del programa de las naciones unidas para el

desarrollo :

“Los Objetivos de Desarrollo Sostenible, también conocidos como Objetivos Mundiales, se

adoptaron por todos los Estados Miembros en 2015 como un llamado universal para poner fin a la

pobreza, proteger el planeta y garantizar que todas las personas gocen de paz y prosperidad para

2030.”[Programa de las Naciones Unidas para el Desarrollo, 2016]

Para el presente proyecto se busca un énfasis en la solución de problemáticas comunes dentro

de una sociedad; por lo tanto la incorporación de las ODS inspira una motivación a aportar a una causa

para el beneficio de la institución y de la comunidad.

Las metas de las ODS son objetivos específicos que se plantean hacia el 2030, y por lo mismo

el objetivo en el que se enfatizó este proyecto es el N.º 13 Acción por el clima [ODS N°13]. Una de las

metas específica es la siguiente:

“Fortalecer la resiliencia y la capacidad de adaptación a los riesgos relacionados con el clima y los

desastres naturales en todos los países”[ODS N°13]

Ubicación del objeto de estudio en el contexto

¿Qué es el internet de las cosas?

Una de las opciones presentes de la tecnología actual, es la accesibilidad desde cualquier lugar a

partir de una comunicación de dispositivos a través del internet, algo muy aprovechable para el

proyecto.
El internet de las cosas es una comunicación entre componentes eléctricos para realizar una

interacción, de esta manera es posible una automatización de procesos. Es muy común reconocer estos

casos cuando se usan en casas domóticas, el cual consiste en automatizar los procesos comunes, y así

economizar tiempo y esfuerzo. [WWWhat´s New, 2016]

El objetivo es aprovechar esta posibilidad de usar la comunicación entre dispositivos para que a

diario en la estación meteorológica se envíen datos a un receptor externo sin tener la necesidad de

desplazarse hasta la misma estación.

¿Qué es automatización?

La palabra “automatización proviene” de la palabra “automatizar”, de la cual proviene de la

palabra “automático” [Real Academia de la lengua Español RAE],la cual es un adjetivo que significa lo

siguiente según la RAE:

“1. adj. Dicho de un mecanismo o de un aparato: Que funciona en todo o en parte por sí solo.

Lavadora, expendedora automática. U. t. c. s.”[real Academia de la lengua Español RAE]

La automatización ya se había presenciado en industrias, cambiando a los recursos humanos por

máquinas, tales como brazos mecánicos y computadoras. Por supuesto esto lleva consigo un aumento

en la productividad de materias primas dado a los pocos inconvenientes que tienen estos mecanismos

autómatas. [Líder del Emprendimiento, 2017]. De la misma manera se pensó al crear la domótica, que

es la automatización de procesos de hogar. Las puertas que se abren solas y las cafeteras que ya tiene

listo el café a una hora especifica, son ejemplos de la misma domótica.[ El Mapa Digital, 2014]

La automatización permite un sinfín de posibilidades ante la interacción de dispositivos, gracias

a la accesibilidad de muchos de estos, lo cual al finalizar cumple una función importante en el

proyecto.
¿Qué es la raspberry pi?

La Raspberry pi, es un computador de un pequeño tamaño, y bajo costo. Este computador tiene

como objetivo general ser llevado a las manos de personas de pocos recursos y así motivar una

accesibilidad a los recursos digitales del internet y programación. Este mini-computador tiene como

una de las principales características, además de su pequeño tamaño, es que hay una compatibilidad,

aunque limitada por sus recursos, extensa a la variación de estudio y uso, existen por ejemplo, sistemas

operativos con interfaz sencilla para uso de escritorio, otros que tienen una interfaz dinámica para

emuladores de videojuegos o incluso hay los que no tienen interfaz y solo se manejan a partir de

código.[Raspberry Pi Foundation, 2012]

Además de sus sistemas operativos, la raspberry pi cuenta con un hardware agradable y de uso

sencillo, Su tamaño es el indicado para ubicarlo en casi cualquier parte de forma sencilla y gracias a su

conexión a internet y sus pines GPIO es que es muy sencillo de usar para los casos de automatización

en domótica y internet de las cosas.

Python
Python es un lenguaje de programación de codigo abierto, y de facil interpretación, bueno para

principiantes y para veteranos, tiene accesibilidad para casi cualquier tipo de aplicación, y tiene una

facilidad de acceso con la comunidad, esto es gracias a que se promueven con distintas conferencias.

[python, s.f.]

¿Qué es una estación meteorológica?

Una estación meteorlógica es una instalación que permite registrar fenómenos meteorológicos, a partir

de distintas variables, algo que es usado para realizar predicciones del clima y estudios relacionados

con los cambios climaticos.


Metodología

Materiales

Para realizar este proyecto, fue necesario averiguar algunos de los sensores que tiene en

funcionamiento la estación meteorológica del colegio, esto para definir la cantidad de sensores que

serán usados en el proyecto, los cuales son los siguientes:

Sensores

• LM35: Es un sensor de temperatura, de pequeño tamaño, sencillo de usar, dado a que no

requiere que sea usado algún tipo de circuito externo para recibir los datos.[Naylamp-

Mechatronics, s.f.A]

• DTH11: Es un sensor de temperatura y humedad relativa, es decir que puede medir la

cantidad de ague que hay en una masa de aire.[Geekbot-Electronics, 2014]

• BMP280: Sensor de presión atmosférica, es decir que indica también la altura a nivel del

mar, los datos que recoje son medidos por hecto Pascal, y puede ser usado en drones para

experimentos.[Naylamp-Mechatronics, s.f.]

• LDR: Esta es un fotoresistencia, la cual por su nombre, es una resistencia que varía a con la

cantidad de luz en el ambiente. [J. Carletti, s.f.]

Controlador

Para que lea los datos, los traduzca, y los interprete, es necesario un controlador que

cumpla con varias funciones, y la descición final fue la raspberry pi.

• Rapsberry pi: Es un computador de pequeño tamaño, y de bajo costo, algo que supone

busca ser accesible para un público más abierto.[Raspberry Pi Foundation, 2012]


Material externo

Para poder realizar la construcción del circuito fue necesario utilizar una serie de

herramientas, las cuales permiten una facilidad en situaciones específicas, tal como es para soldar

piezas, o extremos de empalmes. Las herramientas utilizadas son las siguientes:

• Cautín

• Resistencias

• Alambre de timbre o Nº17

• Protoboard

• Baquela

• Estaño

• Crema para soldar

Costos

Parte del objetivo fue minimizar costos en materiales para que sea acsequible a un público más

extenso. A continuación se presenta la tabla de costos de los siguientes materiales utilizados:

Materiales Precios

lm35 5.000 COP

dth11 15.000 COP

bmp280 12.000 COP

ldr 2.000 COP

resistencia 10k 100 COP

condensador 100uf 300 COP


adc08020 8.000 COP

raspberry Pi 3 150.000 COP

Total 192,400 COP

Proceso

Lo primero que se hace es armar un circuito mixto en los cuales se alimenta y se conectan los

sensores a la raspberry para envío de datos. Este circuito se hizo para tener ordenados todos los

sensores en donde a todos les llegue alimentación y nuevamente, puedan enviar datos a la raspberry.
Gráfica Nº1: Circuito en protoboard

Gráfica Nº2: Esquema de circuito.

A partir de que estan los sensores ordenados en el circuito y puedan enviar los datos, la

raspberry lo que hace es recibir esos datos, traducirlos, mostrarlos en pantalla, y subirlos a una

platafora web en tiempo real.

Programación

Python es un lenguaje de programación de software libre, lo que significa que no tiene ningun

tipo de licencia con empresas, esto permite tener una facilidad de manipulación para realiar la

programación, y en este caso es para programar la raspberry mediante el cual los datos sin pulir de los

sensores, son traducidos con unas ecuaciones matemáticas, y a partir de esto, se muestra en pantalla y

al tiempo se sube a una plataforma web en tiempo real en el cual la programación se realiza de la

siguiente forma:

import RPi.GPIO as GPIO


import dht11
import time
import datetime
import smbus
from ctypes import c_short
from ctypes import c_byte
from ctypes import c_ubyte
import spidev
from numpy import interp
from time import sleep

spi = spidev.SpiDev()
spi.open(0,0)

def analogInput(channel):
spi.max_speed_hz = 1350000
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3) << 8) + adc[2]
return data

DEVICE = 0x76 # Default device I2C address

bus = smbus.SMBus(1) # Rev 2 Pi, Pi 2 & Pi 3 uses bus 1


# Rev 1 Pi uses bus 0

def getShort(data, index):


# return two bytes from data as a signed 16-bit value
return c_short((data[index+1] << 8) + data[index]).value

def getUShort(data, index):


# return two bytes from data as an unsigned 16-bit value
return (data[index+1] << 8) + data[index]

def getChar(data,index):
# return one byte from data as a signed char
result = data[index]
if result > 127:
result -= 256
return result

def getUChar(data,index):
# return one byte from data as an unsigned char
result = data[index] & 0xFF
return result

def readBME280ID(addr=DEVICE):
# Chip ID Register Address
REG_ID = 0xD0
(chip_id, chip_version) = bus.read_i2c_block_data(addr, REG_ID, 2)
return (chip_id, chip_version)

def readBME280All(addr=DEVICE):
# Register Addresses
REG_DATA = 0xF7
REG_CONTROL = 0xF4
REG_CONFIG = 0xF5

REG_CONTROL_HUM = 0xF2
REG_HUM_MSB = 0xFD
REG_HUM_LSB = 0xFE

# Oversample setting - page 27


OVERSAMPLE_TEMP = 2
OVERSAMPLE_PRES = 2
MODE = 1

# Oversample setting for humidity register - page 26


OVERSAMPLE_HUM = 2
bus.write_byte_data(addr, REG_CONTROL_HUM, OVERSAMPLE_HUM)

control = OVERSAMPLE_TEMP<<5 | OVERSAMPLE_PRES<<2 | MODE


bus.write_byte_data(addr, REG_CONTROL, control)

# Read blocks of calibration data from EEPROM


# See Page 22 data sheet
cal1 = bus.read_i2c_block_data(addr, 0x88, 24)
cal2 = bus.read_i2c_block_data(addr, 0xA1, 1)
cal3 = bus.read_i2c_block_data(addr, 0xE1, 7)

# Convert byte data to word values


dig_T1 = getUShort(cal1, 0)
dig_T2 = getShort(cal1, 2)
dig_T3 = getShort(cal1, 4)

dig_P1 = getUShort(cal1, 6)
dig_P2 = getShort(cal1, 8)
dig_P3 = getShort(cal1, 10)
dig_P4 = getShort(cal1, 12)
dig_P5 = getShort(cal1, 14)
dig_P6 = getShort(cal1, 16)
dig_P7 = getShort(cal1, 18)
dig_P8 = getShort(cal1, 20)
dig_P9 = getShort(cal1, 22)

dig_H1 = getUChar(cal2, 0)
dig_H2 = getShort(cal3, 0)
dig_H3 = getUChar(cal3, 2)

dig_H4 = getChar(cal3, 3)
dig_H4 = (dig_H4 << 24) >> 20
dig_H4 = dig_H4 | (getChar(cal3, 4) & 0x0F)

dig_H5 = getChar(cal3, 5)
dig_H5 = (dig_H5 << 24) >> 20
dig_H5 = dig_H5 | (getUChar(cal3, 4) >> 4 & 0x0F)

dig_H6 = getChar(cal3, 6)

# Wait in ms (Datasheet Appendix B: Measurement time and current calculation)


wait_time = 1.25 + (2.3 * OVERSAMPLE_TEMP) + ((2.3 * OVERSAMPLE_PRES) + 0.575) +
((2.3 * OVERSAMPLE_HUM)+0.575)
time.sleep(wait_time/1000) # Wait the required time

# Read temperature/pressure/humidity
data = bus.read_i2c_block_data(addr, REG_DATA, 8)
pres_raw = (data[0] << 12) | (data[1] << 4) | (data[2] >> 4)
temp_raw = (data[3] << 12) | (data[4] << 4) | (data[5] >> 4)
hum_raw = (data[6] << 8) | data[7]

#Refine temperature
var1 = ((((temp_raw>>3)-(dig_T1<<1)))*(dig_T2)) >> 11
var2 = (((((temp_raw>>4) - (dig_T1)) * ((temp_raw>>4) - (dig_T1))) >> 12) * (dig_T3)) >> 14
t_fine = var1+var2
temperature = float(((t_fine * 5) + 128) >> 8);

# Refine pressure and adjust for temperature


var1 = t_fine / 2.0 - 64000.0
var2 = var1 * var1 * dig_P6 / 32768.0
var2 = var2 + var1 * dig_P5 * 2.0
var2 = var2 / 4.0 + dig_P4 * 65536.0
var1 = (dig_P3 * var1 * var1 / 524288.0 + dig_P2 * var1) / 524288.0
var1 = (1.0 + var1 / 32768.0) * dig_P1
if var1 == 0:
pressure=0
else:
pressure = 1048576.0 - pres_raw
pressure = ((pressure - var2 / 4096.0) * 6250.0) / var1
var1 = dig_P9 * pressure * pressure / 2147483648.0
var2 = pressure * dig_P8 / 32768.0
pressure = pressure + (var1 + var2 + dig_P7) / 16.0

# Refine humidity
humidity = t_fine - 76800.0
humidity = (hum_raw - (dig_H4 * 64.0 + dig_H5 / 16384.0 * humidity)) * (dig_H2 / 65536.0 * (1.0 +
dig_H6 / 67108864.0 * humidity * (1.0 + dig_H3 / 67108864.0 * humidity)))
humidity = humidity * (1.0 - dig_H1 * humidity / 524288.0)
if humidity > 100:
humidity = 100
elif humidity < 0:
humidity = 0

return temperature/100.0,pressure/100.0,humidity
# initialize GPIO
GPIO.setwarnings(True)
GPIO.setmode(GPIO.BCM)

# read data using pin 14


instance = dht11.DHT11(pin=4)

try:
while True:
def main():

temperature,pressure,humidity = readBME280All()

print ("Fecha: " + str(datetime.datetime.now()))


print "Temperature : ", temperature, "C"
print "Pressure : ", pressure, "hPa"

if __name__=="__main__":
main()

result = instance.read()

print("Temperatura: %-3.1f C" % result.temperature)


print("Humedad: %-3.1f %%" % result.humidity)

lm35 = analogInput(0)
temp = ((lm35 * 330) / float(1023))
temp = round(temp)
print "Temp: " ,temp, "C"
ldr = analogInput(1)
R = 9.8
re= (1023 * R / ldr) - R
lux = 801 * ( re ** -1.3)
lux = round(lux)
print "Luz :" ,lux, "lx"
print

time.sleep(1)

except KeyboardInterrupt:
print("Cleanup")
GPIO.cleanup()

fecha = ("Fecha: " + str(datetime.datetime.now()))


temperatura = ("temperatura :" ,temp,"c")

guardado = open("datos.txt", 'a')


guardado.write(fecha+'\n')
guardado.write(temperatura)

Fase creativa

Al inicio del trabajo se usó una placa Arduino, para que recibiera los datos, en fase temprana, y

dado a las limitaciones de la placa no se realizó el algoritmo para que los datos subieran a una página

web, sin embargo el producto ubicaba los datos de los sensores mediante pantalla de arduino.
Producto final

El producto final es una estación meteorológica, con sensores electricos, que hace uso de un

computador de bajo costo de nombre raspberry, en este, internamente se realizan operaciones que

traducen los datos de los sensores, y de esta manera imprime los datos en una pantalla lcd y a tiempo

real, sube estos datos a una página web.


Recomendaciones

Es recomendable siempre seguir las precauciones de uso de la raspberry y los sensores, son suceptibles

a fallos y daños internos a causa de malos hábitos para manipularlos. El cautín dado a que es una

herramienta opcional y se puede realizar facilmente en protoboard, es necesario tener los respectivos

cuidados para evitar quemaduras.

Conclusión

El proyecto cumple con el objetivo de recoger datos de una estación meteorológica, y subirlos a una

página web, de esta manera, cualquier personal tiene la capacidad y opción de acceder a los datos
meteorológicos, esperando así a contribuir e incentivar la investigación y enseñanza en el colegio

INEM, cumpliendo asi el objetivo de aportar a la comunidad herramientas para su uso.

Bibliography
Electrónica FP, 2018: Electrónica FP, ¿Analógica o Digital? ¿Cuál es mejor?, 2018
(Bonatti, 2011, pág. 29): Michelle Bonatti, Cambios climáticos, percepciones humanas y desarrollo
rural, 2011
Ambiente Y Desarrollo Sostenible, 2019: Ambiente Y Desarrollo Sostenible, Ministerio de
Tecnologías de la Información y las Comunicaciones, 2019
Programa de las Naciones Unidas para el Desarrollo, 2016: Programa de las Naciones Unidas para el
Desarrollo, OBJETIVOS DE DESARROLLO SOSTENIBLE, 2016
ODS N°13: Programa de las Naciones Unidas para el Desarrollo, Objetivo 13: Acción por el clima,
WWWhat´s New, 2016: WWWhat´s New, El Internet de las cosas - ¿Qué es y cómo funciona?, 2016
Real Academia de la lengua Español RAE: RAE, Automatización - Real Academia de la lengua
Español RAE,
real Academia de la lengua Español RAE: RAE, Automático - Real Academia de la lengua Española
RAE,
Líder del Emprendimiento, 2017: Líder del Emprendimiento, ¿Qué es la automatización indistrial?,
2017
El Mapa Digital, 2014: El Mapa Digital, Casas Inteligentes, 2014
Raspberry Pi Foundation, 2012: Raspberry Pi Foundation, About us, 2012
python, s.f.: , About Python,
Naylamp-Mechatronics, s.f.A: Anónimo, Sensor de Temperatura Analógico LM35,
Geekbot-Electronics, 2014: Dea, DHT11 Sensor de humedad y temperatura, 2014
Naylamp-Mechatronics, s.f.: Anónimo, Sensor de presión BMP280,
J. Carletti, s.f.: J. Carletti, Sensores - LDR,

También podría gustarte