Professional Documents
Culture Documents
TRABAJO:
CURSO:
PROYECTO DE TESIS
ALUMNO:
DOCENTE:
AREQUIPA-PERÚ
2017
1
DESARROLLO DE UN SISTEMA DE
MEDIDOR ELECTRÓNICO WIRELESS DE
AGUA POTABLE PARA DOMICILIOS
2
Dedico este trabajo primeramente a Dios
quien da capacidad y conocimiento a todo
el que le busque, a mis padres, a mi
familia en general.
3
Agradecimientos
A mis padres que fueron siempre excelentes en sus consejos y su ánimo para seguir
estudiando.
A mis docentes, porque de ellos obtuve muy buenos ejemplos a seguir y supieron
4
5
RESUMEN
6
ABSTRACT
7
ÍNDICE GENERAL
1. INTRODUCCIÓN
1.1 Antecedentes
1.2 Objetivos de la Tesis
1.3 Estructura de la Tesis
4. LA PLATAFORMA DE ARDUINO
4.1 Entorno de Desarrollo en Arduino
4.2 Shields Gprs/Gsm
4.3 Sensor de Flujo de Agua (Caudal)
6. DESARROLLO EXPERIMENTAL
6.1 Comenzando con Arduino. Hola Mundo
6.2 Evaluación de los Distintos Sensores de Temperatura
6.2.1 Calibrando Nuestro Sensor de Flujo:
6.3 Lcd
6.3.1 Código Fuente LCD 16×2 Arduino
6.3.2 Conexión LCD 16×2 Arduino
6.4 Shield GPRS / GSM
6.4.1 Conexiones y Puesta en Marcha
6.4.2 Envío de SMS a Través de Arduino
6.5 Desarrollo de Aplicaciones y Evaluación del Sistema
6.5.1 Montaje y Prueba
6.5.2 Evaluación del Sistema de Gestión Local
6.5.3 Resultados
7. CONCLUSIONES Y RECOMENDACIONES
BIBLIOGRAFÍA
8
Capítulo 1
Introducción
Uno de los temas más controversiales en el mundo, es la escasez del agua dulce y el
cambio climatológico que se presenta en nuestro planeta. Esto genera que tengamos bastante
consideración en el momento del aprovechamiento del recurso natural más importante para la
vida del ser humano y del medio ambiente.
Como bien se sabe, nuestro planeta está cubierto por 3/4 partes (71%) de agua en la superficie
de la tierra, y el resto es la tierra en la cual habitamos, sin embargo el 97% del agua, es salada y
de esta el 3% es agua dulce. Para esto el ser humano implemento sistemas de acueducto para el
servicio de agua potable en la civilización y así poder utilizar más eficiente este elemento tan
escaso en la naturaleza.
En nuestro país aún contamos con medidores mecánicos, los cuales para poder obtener el
consumo que se realizó durante el mes, un técnico o personal de SEDAPAR viene a
inspeccionar la lectura del medidor y lo registra en su hoja manual y este a su vez entrega un
sistema de facturación, esto genera una error leve en la medición del consumo.
En ciertas ocasiones la presión del agua va cambiado (baja o sube), esto el cliente debe de
reportar a un servidor de SEDAR para presentar las quejas o reclamos o si en caso presenta un
corte de este suministro vital.
Para ello se tiene pensado implementar un sistema de medición electrónica del consumo de
agua, con el fin de que el usuario tenga a su disposición la información de consumo. Con esta
base empezaremos a diseñar un breve sistema que abarcará un gran proyecto de implementación
a nivel regional.
Mi proyecto abarca el sistema de medición y control del caudal del agua con la tecnología que
brinda el módulo de ARDUINO SIM. Con esto tendremos el manejo de transmisión de datos al
usuario, del consumo que hizo durante las últimas 24h.
9
Para ello, el usuario dispondrá de un número de teléfono celular, el cual recibirá un mensaje
SMS del medidor electrónico de agua, y solo él y nadie más tendrán acceso a la información del
consumo que realizó.
Este proyecto también tiene mira a implementarse a nivel de red domiciliar de una manzana o
urbanización. Con el poco tiempo que se dispone en el curso, solo se implantará las bases para
la ejecución del proyecto final, el cual trabajará con un sistema conectado a internet, el cual
brindará información del usuario (consumo, presión de agua) a la empresa de SEDAPAR, y esta
a su vez dar comunicado de corte agua y el día a pagar el recibo. Todo esto el usuario lo podrá
ver como un SMS en su celular, y a la vez tener información de su recibo en internet.
1.1 ANTECEDENTES
En primer lugar se tiene que, en Agosto de 2013 fue presentado en la Facultad de Ingeniería
Industrial de la Universidad Nacional Mayor de San Marcos (UNMSM) una revista de
investigación de “Diseño De Un Sistema Móvil Para La Lectura De Medidores Mediante
Tecnología Bluetooth” por Elizabeth Saravia Valle, María Elena Ruiz Rivera, Roberto Calmet
Agnelli [1].
También se consultó una revista de investigación que es Septiembre de 2008 presentado por
José Andrés Chaves Osorio, Hugo Baldomiro Cano Garzón, Esteban Elias Giraldo, con el
motivo de desarrollar el protocólogo para la aplicación comercial e industrial de la tecnología
ZigBee en la Universidad Tecnológica de Pereira titulado Propuesta De Aplicación “Medición
Del Consumo De Agua Domiciliaria Utilizando Tecnologia Inalámbrica Zigbee”. [2]
Y por último en esta misma labor de investigación y consulta se encontró el trabajo especial de
grado titulado “El Sistema DIALOG 3G y su Influencia en la Optimización Del Proceso de
Lectura y Facturación de SEDAPAL, Caso Condominio Nuevo Cercado Del Distrito de
Lima” presentado en el 2015, por Máximo León Salcedo ante la Facultad de Ingeniería de
Sistemas y Electrónica de la Universidad Tecnológica del Perú (UTP), como requisito para optar
el título de Profesional de Ingeniero de Sistemas e Informática. [3]
El trabajo como uno de sus objetivos tiene el establecer la lectura de medición de agua para
gestionar y controlar en tiempo real los medidores de agua del condominio Nuevo Cercado de
Lima, todo esto en tiempo real con el fin de reducir las pérdidas o fugas de agua en las redes de
10
medidores del lugar establecido, utilizando de su propio software y su sistema Dialog 3G [3].
Con este sistema puede brindar informes y análisis estadísticos mejorando en gran madera el
proceso de facturación de los recibos de consumo de agua que brinda la empresa de SEDAPAL,
mejorando así el servicio que brinda esta empresa.
También este sistema cuenta con un software de internet que es CityMind que recolecta
informes y análisis estadísticos, brindando en tiempo real las fugas, violaciones y sospechas de
robo.
Objetivo Principal:
Objetivo General:
Disponer de un sistema de medición electrónica de agua más barato que el medidor que se
vende en el mercado, el cual es mecánico.
Tener un acceso a la base de datos del consumo de agua con una buena exactitud usando el
efecto Hall del sensor de caudal de agua.
Cambiar los medidores mecánicos por medidores electrónicos que son más precisos a la hora de
medir el consumo total que se hizo durante el mes.
Se desarrollará un sistema que mida el flujo de agua a través de la tubería del acueducto. Este
contará con un sensor el cual será una turbina que a la vez generará energía para el sistema.
Contará así mismo con un micro controlador que recibirá los datos de la turbina (el número de
vueltas) y procederá a hacer los cálculos para transformar la velocidad de rotación en
dimensiones de caudal o flujo.
Una vez hecha la transformación, se almacenará en un banco de datos la cantidad de agua que
se consumió durante las últimas 24h. Esto se hará al finalizar el día, hasta completar el mes
establecido de la lectura que suele hacer el personal de SEDAPAR.
La forma en la cual el sistema enviará los datos al usuario será a través de un módulo Arduino
SIM en forma de SMS. El cliente tendrá a su información la cantidad consumida en el día, la
baja o alta presión con la que viene el agua y finalmente la cantidad a pagar en este día.
11
Capítulo 2
Aspectos Técnicos y Tecnológicos de los
Aparatos de Medición
Explicación del funcionamiento de los medidores utilizados para la toma de datos del proyecto.
Relacionar las normas, que se aplican en el Perú y que están vigentes, sobre el tema de
Micromedidores.
12
Figura 1. Medidores de Agua domiciliarios utilizados actualmente
Fuente: Google
Para el diseño de estos medidores de agua abarcan materiales de elaboración, la temperatura del
agua, las presiones de operación, el rango del caudal deseado, la diferencia de presión a través
del medidor al caudal máximo, el rango de humedad y temperaturas ambiente bajo condiciones
de operación, también incluyen otros factores como el diámetro de la tubería, las conexiones de
los extremo, y las limitaciones de instalación.
Este medidor es el que más suele ser usado en las instalaciones domésticas. La forma en la que
opera estos medidores, se basa en la acción del agua sobre los alabes de la turbina, y en el hecho
que el área por donde circula el agua es constante. La relación usada para obtener el volumen
circundante se basa en el número de vueltas o revoluciones de la hélice o alabe, de esta forma:
V =f (n)
Donde:
n = Número de vueltas/tiempo.
13
Así, el volumen de agua que ha pasado por el medidor en un tiempo t, es:
Los medidores de agua son dispositivos de medición empleados por la mayoría de empresas
prestadoras del servicio de agua potable para conocer el volumen de agua suministrado aguas
abajo del mismo entre dos lecturas, información que se utiliza para procesos de facturación de
los consumos de los suscriptores.
Hoy en día se han venido desarrollando modelos de medidores que incorporan circuitos
electrónicos capaces de realizar funciones adicionales como la determinación de caudales
máximos y mínimos instantáneos, curvas patrón de consumos, tiempo de giro y tiempo de paro,
fugas, entre otros, así como sistemas de emisores de pulsos capaces de dar una señal eléctrica
cada vez que el totalizador contabiliza un volumen determinado, y trasmitir dicha señal a un
sensor análogo o un data Logger [5] que permite la acumulación de dicha información, e
incluso, si el sistema de medición dispone de una salida remota, dicha señal pueda ser enviada
vía internet o telefónica a un centro de control, sin necesidad de requerir ir a campo a recoger
los datos.
14
2.1.2 GLOSARIO DE TÉRMINOS TÉCNICOS [6]
Caudal mínimo (Q1). El menor caudal al cual se requiere que el medidor de agua opere dentro
del EMP. Entre este caudal y el de transición el error del medidor no debe superar el +- 5%.
Caudal permanente (Q3). Mayor caudal dentro de las Condiciones de Operación Nominales
(“CON” por abreviatura) a la cual se requiere que el medidor de agua opere de manera
satisfactoria dentro del error máximo permisible.
Caudal de sobrecarga (Q4). Máximo caudal al cual el medidor de agua debe operar durante un
período de tiempo corto dentro de su EMP, mientras mantiene su desempeño metrológico
cuando opera posteriormente dentro de sus CON.
Caudal de transición (Q2). Caudal que ocurre entre el caudal permanente, Q3 , y el caudal
mínimo, Q1, que divide el rango de caudal en dos Zonas, la “Zona superior” y la “Zona
inferior”, cada una caracterizada por su propio EMP. En este rango el error del medidor no debe
superar el +- 2%.
Curva de Error. Representación gráfica de los errores relativos del medidor, en función del
caudal.
Error máximo permisible. (EMP). Los valores extremos del error relativo de la indicación del
medidor de agua, permitidos en la norma SISTEC de la EAAB.
Volumen indicado. (Vi). Volumen del agua indicado por el medidor, que corresponde al
volumen real.
En función a las anteriores definiciones, únicamente se regula el error máximo que puede
cometer un medidor a partir del caudal mínimo, pero no existe dentro de la normatividad nada
respecto al error máximo que debe tener un medidor a caudal de arranque, así como el error
entre el caudal de arranque y el caudal mínimo.
Lo que diferencia una clase metrológica de otra es precisamente los valores de los caudales
mínimos y de transición.
15
2.2 CURVA CARACTERÍSTICA:
Caudal Q
Cociente del volumen real de agua que pasa por el medidor de agua y el tiempo que este
volumen tarda en pasar por el medidor de agua.
Volumen real Va
Volumen total de agua que pasa por el medidor de agua, sin tomar en cuenta el tiempo que lleva.
NOTA Éste es el mensurando del medidor.
Valores extremos del error relativo de indicación del medidor de agua que esta parte de la norma
NMP 005:2011 permite.
Condiciones de uso que dan el alcance de valores de los factores de influencia, para los cuales
se requiere que los errores de indicación del medidor de agua se encuentren dentro del EMP.
Error relativo
V i −V a
ε= ×100
Va
Donde:
V i Es el volumen indicado.
V a Es el volumen real.
La clase metrológica hace referencia a la codificación metrológica sobre la calidad del medidor,
la cual se toma de referencia en esta tesis, la Norma Técnica Colombiana NTC 1063 -1. Esta,
está determinada por los valores correspondientes al caudal mínimo y al caudal de transición. Se
16
denomina así por las tres primeras letras mayúsculas del abecedario A, B, C, organizadas de
menor a mayor calidad siendo clase A la de menor calidad y clase de la mayor calidad.
Clase B: Con un mayor desarrollo tecnológico, permitió registrar una precisión más alta
que su antecesor, aunque con márgenes de error permisibles importantes.
Clase R160: En los últimos 3 años, la empresa viene incorporando la Clase R160,
acorde con los avances y desarrollo tecnológico del mercado. Esto influenciado en gran
parte por lo establecido en la norma tercera actualización de la Norma Técnica
comentada anteriormente, en el numeral 5.1 Características Metrológicas. Por lo tanto,
en la actualidad, es esta la tecnología que se aplica para la medición del consumo.
Los medidores de agua se designan en litros por hora, de acuerdo con el caudal mínimo Q1, el
caudal de transición Q2, el caudal permanente Q3 y el caudal de sobrecarga Q4.
Todo Micromedidor tiene un error de medición. En la Figura 4 se muestra una curva típica de
error en la cual debe funcionar un medidor nuevo.
17
Figura 5 Curva característica de error de un medidor de agua potable.
Fuente: Norma NMP 005 1
Clave [7]
X Caudal
Y Error de indicación del flujo volumétrico %
1 Condiciones límite (CL)
2 Condiciones nominales de funcionamiento (CNF)
3 Condiciones límite (CL).
Nótese que en la figura 5, la curva no arranca desde 0, ya que los medidores desde su
fabricación implícitamente traen un margen de error que para las clases C y R160 es del + - 2%.
De otro lado, en la figura se aprecia que la zona marcada en rojo indicaría el patrón óptimo en el
cual un medidor deberá comportarse a lo largo de una serie de pruebas que se registren a
distintas presiones hidráulicas, caudales y periodos de tiempo, por lo tanto, si en el ejercicio de
estas la curva sale de la zona, el laboratorio determinará que el medidor no está en condiciones
para ser operado, ya sea por sub - medición o sobre - medición.
18
Capítulo 3
Estado del Arte
En este capítulo se va a realizar un resumen sobre el estado del arte de las diferentes
tecnologías implicadas en el desarrollo del proyecto, las cuales podremos asociar con el término
‘internet de las cosas’. Se trata de los sistemas de comunicaciones GSM, GPRS, y la utilización
de Comandos Hayes (o comandos AT).
19
Figura 6. Concepto del “Internet de las cosas”
Fuente: Google
Las utilidades del Internet de las Cosas pueden considerarse prácticamente infinitas. Cada vez
son más los medios que tenemos a nuestra disposición para implementar, de manera no muy
compleja, un posible dispositivo capaz de dotar a cierto objeto o función de una conexión a la
red, ya sea por medio de una tecnología u otra.
La llegada de IPv6 supone un factor clave en el desarrollo del concepto IoT. Gracias a este
nuevo protocolo (diseñado para reemplazar a IPv4) se evitará que el crecimiento de Internet
quede restringido, y hará posible la gestión de direccionamiento de innumerables dispositivos.
Por otro lado, ya son muchas las aplicaciones móviles y servicios en la nube que nos permiten la
conexión a todos estos dispositivos, y proporcionan una vía para el tratamiento de una inmensa
cantidad de datos en tiempo real (sistemas ‘Big Data’), facilitando la integración de infinidad de
sensores aplicables prácticamente a cualquier tipo de necesidad. [9]
20
Sin ir tan lejos, Arduino ha marcado un punto de inflexión en este sentido, convirtiéndose en la
herramienta ideal para llevar a cabo multitud de prototipos y obtener nuevos caos de uso.
Gracias a su bajo coste, sencillez y a la variedad de modelos que podemos encontrar, resulta una
herramienta de gran ayuda a la hora de implementar ideas y soluciones de ámbito doméstico.
Además, existen multitud de sensores y actuadores compatibles con esta plataforma, mediante
los cuales podemos recopilar datos de nuestro entorno, analizarlos, y actuar en consecuencia,
incluso conectar con otros dispositivos a través de las distintas tecnologías de comunicación
(GSM/GPRS, 3G, Bluetooth, RFID, etc.) aprovechando toda una variedad de shields de
expansión.
3.2. GSM
GSM es la abreviatura de ‘Sistema Global para las comunicaciones Móviles’ (en inglés, Global
System for Mobile communications). A comienzos del siglo XXI, es el estándar más utilizado
de Europa. [10] Conocido como estándar de segunda generación (2G), su principal diferencia
respecto a la primera generación de teléfonos móviles es que sus comunicaciones son totalmente
digitales.
En Europa, el sistema GSM utiliza las bandas de frecuencia de 850, 900 y 1800 MHz, mientras
que en los Estados Unidos se usa la banda de frecuencia de 1900 MHz. En consecuencia, los
dispositivos de comunicaciones móviles que pueden operar tanto en Europa como en Estados
Unidos se conocen como cuatribanda (Quadband).
El estándar GSM permite transmisiones digitales de voz y datos, como mensajes de texto (SMS)
o mensajes multimedia (MMS).
Respecto a su arquitectura de red, en GSM todo terminal móvil debe estar constituido por una
tarjeta SIM (Módulo de identificación de abonado) y el propio dispositivo, normalmente un
teléfono móvil. [11]
Por otro lado, cada tarjeta SIM también posee un número de identificación único denominado
IMSI (Identificador internacional de abonados móviles).
3.3. GPRS
El estándar GPRS o Servicio General de Paquetes vía Radio (en inglés, General Packet Radio
Service) es una evolución del sistema GSM. Es también conocido como GSM++, pero dado que
21
se trata de un estándar de telefonía móvil intermedio entre la segunda generación (2G) y la
tercera (3G), a menudo recibe la nomenclatura de 2.5G. [12] GPRS extiende la arquitectura del
estándar GSM para permitir la transferencia de datos mediante conmutación de paquetes con
velocidades de transferencia que rondan los 114 Kbps.
Para el acceso a la red de datos, el estándar GPRS utiliza el protocolo IP, mientras que para el
transporte de voz, emplea la arquitectura de la red GSM.
A parte de actualizar algunos servicios con los que ya contaba GSM, la tecnología GPRS admite
otra serie de características que no estaban disponibles en 2G:
3.4. COMANDOS AT
Los comandos AT, también conocidos como comandos Hayes (en honor a su desarrollador
Dennis Hayes), son una serie de instrucciones que conforman un interfaz de comunicación entre
usuario y modem. Su abreviatura AT por la que son mundialmente conocidos estos comandos
proviene de la palabra “attention”.
En la actualidad, todos los terminales móviles GSM poseen una serie específica de comandos
AT que nos permiten configurarlos por medio de estas instrucciones e indicarles una serie de
acciones que queremos que ejecuten, tales como marcar un número de teléfono, enviar o leer un
SMS, consultar el estado de conexión a la red, leer o escribir en la agenda de contactos, etc.
22
vamos a mencionar junto con una breve descripción, aquellos que puedan resultarnos de
principal interés en el desarrollo del proyecto:
AT+CPIN? – Utilizaremos esta instrucción para comprobar si nuestra tarjeta SIM está
desbloqueada o si por el contrario, requiere introducir el código PIN para proceder con
el desbloqueo de la misma. Cuando la SIM esté operativa responderá con un “ready”.
NOTA: Para el envío de cualquiera de los comandos AT a través de Hyperterminal o del entorno
de desarrollo de Arduino, debemos seleccionar siempre los caracteres fin de línea y retorno de
carro.
23
Capítulo 4
La Plataforma de Arduino
24
¿Qué es Arduino? - Arduino es una plataforma electrónica de hardware libre basada en una
placa con un microcontrolador. Con software y hardware flexibles y fáciles de utilizar,
Arduino ha sido diseñado para adaptarse a las necesidades de todo tipo de público, desde
aficionados, hasta expertos en robótica o equipos electrónicos. También consta de un simple,
pero completo, entorno de desarrollo, que nos permite interactuar con la plataforma de manera
muy sencilla. [14]
A través de Arduino podemos recopilar multitud de información del entorno sin excesiva
complejidad. Gracias a sus pines de entrada, nos permite jugar con toda una gama de sensores
(temperatura, luminosidad, presión, etc.) que nos brindan la capacidad de controlar o actuar
sobre ciertos factores del entorno que le rodean, como por ejemplo: controlando luces,
accionando motores, activando alarmas…y muchos otros actuadores.
Gracias a que la plataforma es de hardware libre, las placas Arduino pueden ser hechas a mano
por cualquier aficionado o compradas ya montadas de fábrica.
Respecto al software, es totalmente gratuito, y está disponible para la descarga por cualquier
interesado en la propia página web de Arduino [15]. El entorno de desarrollo dispone de un
propio lenguaje de programación para el microcontrolador de la placa Arduino, basado en
Processing/Wiring.
Una de los principales motivos por el cual resulta muy interesante la utilización de la plataforma
Arduino para determinados proyectos, se basa en su independencia respecto a tener que
mantenerse conectado a un PC.
25
Un área de mensajes.- a través del cual el usuario tendrá constancia en todo momento
de los procesos que se encuentren en ejecución, errores en código, problemas de
comunicación, etc.
Una barra de herramientas.- donde podremos acceder a una serie de menús y a los
botones con acceso directo a las principales funcionalidades de Arduino.
A través de la IDE de Arduino, podemos escribir el código del programa software y crear lo que
se conoce por "sketch" (programa). ¿Por qué lo llamamos sketch y no programa? Pues porque el
IDE de Arduino viene de Processing, y en este lenguaje de programación enfocado al mundo
gráfico, cada código es considerado un boceto, en inglés “sketch”.
El sketch permite la comunicación con la placa Arduino. Estos programas son escritos en el
editor de texto, el cual admite las posibilidades de cortar, pegar, buscar y remplazar texto.
En el área de mensajes se muestra, tanto la información mientras se cargan los programas, como
los posibles errores que tengamos a la hora de compilar, ya sea por problemas en el código del
sketch, por fallo en la detección de nuestro Arduino en el puerto USB, o por cualquier otro
problema que sea detectado.
26
A continuación pasamos a describir la utilidad de cada uno de los iconos que aparecen en la
pantalla principal del entorno de desarrollo de Arduino:
“Cargar”.- Permite compilar el código del sketch y lo carga en Arduino. Cuando la carga
a terminado se informa al usuario a través del área de mensajes, y podremos proceder a la
apertura del monitor serial.
“Nuevo”.- Para la creación de un nuevo sketch. Abre una nueva hoja de texto donde
escribiremos el código correspondiente al sketch.
También puedes abrir cualquiera de los sketches que trae instalados por defecto el IDE de
Arduino.
“Monitor Serial”.- Al pinchar sobre este icono, el entorno de desarrollo de Arduino abre
una nueva ventana a través de la cual podemos ver la comunicación establecida por el puerto
serie entre la placa Arduino y el PC durante la ejecución del programa. Contiene una barra de
escritura mediante la que podemos comunicarnos con Arduino a través de su puerto serie, por
ejemplo, para seleccionar distintas opciones que contemple un posible menú creado por el
usuario dentro de un código, o para enviar directamente comandos AT a una shield GPRS/GSM
que tengamos montada sobre el Arduino.
27
Figura 10. Tarjeta GPRS/GSM SIM900
Fuente: Google
En la figura 12 podemos observar con detalle cada uno de los pines, puertos y distintos
elementos que conforman esta placa:
28
Figura 12. Diagrama de conexiones del módulo SIM900
Fuente: Google
No cabe duda de que se trata de uno de los módulos más baratos que podemos encontrar en el
mercado de las Shields para el uso de sistemas de comunicaciones móviles. No sólo encaja con
nuestro presupuesto, sino que nos ofrece todos los servicios que necesitamos para poder llevar a
cabo el desarrollo de nuestro dispositivo.
Finalmente, puesto que se trata de la placa con mejor relación precio-prestaciones que hemos
podido encontrar, nos decantamos por este modelo para integrarlo en nuestra plataforma.
29
Figura 13. Sensores de flujo de agua de la marca Saier
Fuente: Google
A continuación veremos las características técnicas de este sensor, que nos brinda la
marca de SAIER [16].
30
Figura 14. Conexión del sensor con Arduino, Donde Amarillo: Señal sensada
Rojo: Alimentación 5v. Negro: Tierra
Fuente: Google
En la figura 16 muestra como está compuesto por dentro el Sensor de flujo de agua.
31
Sus especificaciones técnicas son:
Capítulo 5
Planteamiento del Problema
32
domótica, no tuvo mucha auge, ya que la instalación de medidores inteligentes son bastante
caros.
Como se pudo aclarar en el capítulo anterior, en Lima ya se inició con ciertos lugares la
instalación de estos equipos de medición inteligente, sin embargo estos equipos son altamente
caros como para que el usuario común y corriente pueda acceder a estas tecnologías.
Cabe recalcar que también en otros países ya se implementaron este tipo de tecnología, con
diferentes metodologías de comunicación (Bluetooth, WiFi, Zigbee, Infrarrojo, Micro Ondas).
Esto fue una gran oportunidad para poder trabajar en la implementación del medidor digital, con
una comunicación GPRS/GSM, esto con el fin de disminuir los costos del proyecto.
El Grupo Arad, compañía de Israel, posee el más moderno sistema de gestión de metro de red
inalámbrica, con tecnología avanzada en telemetría para el agua, saneamiento, sinergia y
distribución de gas. Las lecturas que estos brindas son automatizadas, sin embargo exige
bastante inversión en estos equipos costosos y el contrato con esta empresa que le suele brindar
por el servicio.
33
Es la supervisión, gestión y control de redes de distribución de servicios de saneamiento,
energía, gas y agua.
Las soluciones de gestión de datos de medidores pueden basarse en Internet, para ayudar
empresas de servicios públicos y de suministro de agua a supervisar, gestionar y controlar sus
redes de medidores.
También poseen un software que forma parte del sistema DIALOG 3G de la compañía del
Grupo Arad, que recolecta informes y análisis estadísticos, ofreciendo alertas específicas de
localización en tiempo real sobre violaciones, fugas y sospecha de robo, siendo de esta manera
una manera sencilla de interconexión con sistemas de software automatizados de alguna
empresa.
Sin embargo como se dijo, todo esto involucra una fuerte inversión en los costos del cliente o la
empresa que dese a trabajar en asociación en este sistema, que en si es buena pero con un costo
que exige bastante inversión del que esté interesado en este sistema.
Por ello es el motivo de una implementación de un sistema que posea, las principales
características de este tipo de tecnología que brindó la empresa de Arad Israelí. Que a
continuación se da a conocer.
Viendo este problema desde el punto de vista electrónico y de ingeniería. Podemos ver la
programación y equipos que se utilizarán para la elaboración, tales son:
34
Total 500
Tabla 4: Costo de inversión en el Equipo sugerido
Fuente: Elaboración propia
Módulo alcanzable
El módulo GPRS/GSM posee la capacidad de trabajar con datos por ende con Internet
Se plantea hacer el uso de una tarjeta de desarrollo muy comercial la cual es ya muy conocida:
Arduino, que ya se mencionó anteriormente en la tabla 4.
Aproximadamente y a groso modo, la propuesta de ingeniería luce mejor. Ahora viene el reto de
implementar y probar si el sistema es factible y se puede realizar.
Capítulo 6
Desarrollo Experimental
35
En este apartado se exponen paso a paso cada una de las etapas por las que se han ido
pasando hasta alcanzar el objetivo final del proyecto, incluyendo: pruebas realizadas, problemas
que han ido surgiendo en el desarrollo de las mismas, códigos de programación
correspondientes a cada una de las funciones que se han ido probando, y por supuesto, la
descripción del sistema que finalmente ha sido diseñado, junto con las pruebas a las que ha sido
sometido para evaluar su correcto funcionamiento.
Las únicas herramientas con las que debemos contar para seguir este primer ejercicio son: una
placa Arduino y un LED.
En nuestro caso, contamos con el modelo Arduino UNO. Esta versión está diseñada para que
hacer parpadear un LED sea muy sencillo, de hecho ya incorpora un LED integrado en la propia
placa, pero también permite conectar uno externamente utilizando el pin digital 13.
Para conectar un LED a otro pin digital que no sea éste, se recomienda intercalar una resistencia
externa de 1kΩ.
Como podemos ver en la figura 19, el montaje no supone ninguna complicación, simplemente
debemos identificar el ánodo y el cátodo del LED, y conectarlos directamente en el pin 13 y
GND respectivamente.
Figura 19. Esquema de montaje para hacer parpadear un LED con Arduino
36
A continuación, debemos generar el código con las instrucciones que queremos que lleve a cabo
el Arduino. Para este ejemplo ni siquiera es necesario que escribamos el código, pues podemos
importarlo directamente desde los ejemplos que incluye por defecto el IDE de
Arduino. Basta con acceder al menú “Archivo”, seleccionar “Ejemplos”, luego “01.Basics”, y
por último “Blink” (en inglés, parpadear). La siguiente figura 20 refleja los pasos a seguir sobre
la pantalla principal del entorno de desarrollo de Arduino.
Tras seguir estas instrucciones se abrirá una nueva pestaña que contiene el sketch
correspondiente al programa para hacer parpadear un LED. En la figura 21 podemos ver que el
código es bastante sencillo:
37
Figura 21. Código correspondiente al sketch Blink
Una característica aplicable a todos los sketch, es que siempre deben estar incluidas las
funciones “void setup()” y “void loop()”, sin ellas cuando compilemos el código siempre nos
dará un error, y no podremos proceder con la carga en Arduino.
Una vez que tenemos escrito el código correspondiente al programa, le damos a “Verificar”, y
dará paso a la compilación del sketch en busca de posibles errores.
Si todo es correcto, procederemos con la carga del programa, clicando sobre la opción “Cargar”.
(Nota: No olvidemos tener conectado nuestro Arduino al puerto USB)
Tal y como se muestra en la figura 4.6, durante la carga, en el área de mensajes aparecerá la
palabra “Subiendo”, a medida que avanza la barra de progreso. Cuando ésta llegue al final, ya
tendremos cargado nuestro programa, y el LED debería comenzar a parpadear.
38
A continuación procedemos a evaluar el comportamiento de los distintos sensores de
temperatura que presentamos anteriormente en el apartado “4.3 Sensores de Temperatura”.
Lo primero que debemos hacer es llevar a cabo el esquema de montaje correspondiente a este
modelo de sensor (véase el apartado “4.3. Sensores de Temperatura”). El resultado de la
conexión en nuestra placa Arduino queda reflejado en la siguiente figura 23:
Figura 23. Montaje del sensor de flujo de agua “HZ21WA” sobre la plataforma Arduino
UNO
A continuación pasamos a generar un código que calcule el valor del caudal de agua y nos lo
envíe constantemente a través del puerto serie de Arduino .
En este caso el código lo obtuvimos de la página Tutorial sensor de flujo de agua. [19].
39
Figura 24. Código del sensor de flujo de agua
40
Figura 25. Interface del Monitor Serie de Arduino
Mencionar nuevamente que el valor no es exacto, una forma de verificar es, con el flujo casi
constante, llenar un recipiente durante 1 minutos, debería coincidir con el caudal en L/min,
ejemplo si nuestro caudal es de 8L/min, entonces en un minuto debería de obtenerse 8L.
Si la medición no es correcta una forma de corregir es aumentar o disminuir el factor de
conversión hasta lograr una medición más precisa.
En nuestro caso se realizó bastantes pruebas para calibrar la precisión de medición de flujo de
agua a través del sensor.
Para tener una medición más exacta es necesario calcular el valor del factor de conversión que
es el que nos sirve para pasar de Frecuencia de pulsos a caudal de agua
La variable que podemos medir con exactitud es la cantidad de pulsos (usando el Arduino), y
con ayuda de un recipiente con graduación podemos medir la cantidad o volumen de agua.
Estas dos variables podemos medirlas con exactitud, para calcular el factor de conversión con
estas dos variables podemos usar la siguiente formula:
n o Pulsos
K=
Volumen ×60
Donde K es el factor de conversión, n° Pulsos son la cantidad de pulsos medidos con el sensor
correspondientes al volumen que pasa por el sensor, dicho volumen debemos medirlo con ayuda
de recipientes con graduación.
Para calcular la cantidad de pulsos del sensor usamos el siguiente sketch que se muestra en la
Figura 26:
41
Figura 26. Programa para calibrar la medición de caudal
En la siguiente Figura 27, se muestra la evaluación del número de pulsos que hay cuando se
adquiere 1Litro de agua.
Figura 28. Interface del Monitor Serie de Arduino midiendo los pulsos
Fuente: Elaboración propia
42
Figura 29. Calibrando en 1 Litro el número de pulsos
Fuente: Elaboración propia
En la tabla 5. Mostramos las mediciones que se realizaron para poder escoger el factor K que
nos ayudará a que el sensado sea más preciso como se mencionó anteriormente.
LITROS PULSOS K
2 1038 8.65
1 530 8.83
2 1074 8.95
1 503 8.38
2 1016 8.47
2 1024 8.53
1 532 8.87
Suma de K 60.68
Promedio 8.67
Con estos datos, escogimos el factor k=8.67 y lo incluimos en el código del programa.
6.3 LCD
43
Por lo general este tipo de pantallas LCD tiene una interfaz que se controla a 16 pines, por lo
cual el microcontrolador debe manipular varios puertos a la vez para lograr mostrar los
caracteres en la pantalla.
(D0-D7) pines de datos.- Los estados de estos pines (altas o bajas) son los bits que usted
está escribiendo a un registro al escribir, o los valores que usted está leyendo cuando
lees.
(Vo) voltaje variable.- Así que con la ayuda de un potenciómetro puedes ajustar el
contraste de la pantalla
44
En cuanto a la programación haremos uso de la biblioteca con la que cuenta nuestro Arduino
llamada LiquidCrystal.h, esta biblioteca ya está incluida en el software de nuestro compilador
por lo tanto no es necesario agregar más bibliotecas.
Para empezar la conexión de nuestro Arduino UNO con la LCD 16×2 Arduino se hace
respecto a la siguiente Figura 32.
45
Ahora solo queda compilar y cargar el código en el Arduino UNO. Quedaría de la
siguiente forma:
Por fin entramos en la parte más interesante del proyecto, donde trabajaremos con los sistemas
de comunicaciones GPRS/GSM.
Recordamos que el módulo escogido para nuestro proyecto fue el “GPRS/GSM QUADBAND
MODULE FOR ARDUINO (SIM900)”, el cual se muestra en la figura 33.
Junto con el módulo, se debe adquirir una antena y una fuente de alimentación externa, ya que
los 5V de Arduino pueden no ser suficientes para alimentar tanto al módulo como a los
componentes que conectemos a nuestra plataforma. Adquirimos también por tanto los siguientes
ítems: [20]
46
• Antena GPRS/GSM:
Impedancia: 50 Ohms
Polarización: vertical
Ganancia: 0 dBi
VSWR: <2:1
Potencia: 25W
Conector: UFL
Una vez que tuvimos claro todos los elementos que eran necesarios para poder integrar la
Shield GPRS/GSM con la placa Arduino, realizamos el pedido.
A los pocos días ya contábamos con el módulo junto con el resto de accesorios, antena
GPRS/GSM y fuente de alimentación.
La verdad es que desde el principio nuestra experiencia con este módulo ha pasado por
varios baches importantes hasta llegar a aportar el rendimiento que se esperaba desde un primer
momento.
Prácticamente desde que recibimos la placa junto con el resto de ítems que acabamos de
comentar, comenzaron a surgir los problemas. Más adelante iremos entrando en detalle sobre
todos los impedimentos que nos han ido surgiendo en el desarrollo práctico .
47
6.4.1 CONEXIONES Y PUESTA EN MARCHA
Lo primero tendremos que colocar la tarjeta SIM que vayamos a usar. El adaptador para las
tarjetas es del tamaño de las SIM normales, que en su mayoría han sido sustituidas por
MicroSIM y NanoSim, así que tendremos que hacernos con una o enganchar una de estas
últimas en un adaptador (el módulo que utilizamos en la sesión y que podéis conseguir en la
tienda de esta página incluye adaptadores para todos los tamaños de tarjeta). Con un poco de
paciencia y de pericia también podríamos colocar una nano o una micro directamente, pero en
correremos peligro de que se mueva y deje de hacer contacto.
Antes de conectar nada al Arduino, vamos a colocar los jumpers que tiene la tarjeta de forma
que utilicemos para comunicarnos los pines 7 y 8, como se muestra en la siguiente Figura 34.
Para encender el Shield tenemos que colocar el interruptor en la posición correcta. Las dos
posiciones corresponden a cada uno de los tipos de conexión que hemos explicado arriba. Una
vez hagamos esto se encenderán dos LEDs
48
Para activar la alimentación de la tarjeta SIM también nos encontramos con dos opciones.
Podemos hacerlo manualmente presionando el pulsador que hay en uno de los laterales durante
uno o dos segundos y veremos que se enciende otro LED, y que uno de los que se había
encendido antes empieza a parpadear una vez por segundo. Este parpadeo nos indica que está
buscando la red. Cuando la encuentre y se conecte cambiará la frecuencia de parpadeo y lo hará
cada 4 o 5 segundos. Eso sí, no se conectará hasta que no metamos el PIN de la SIM, que ya
veremos ahora cómo hacerlo.
También podemos activarla por programa, pero antes tendremos que realizar una soldadura en el
pad “R13” que está justo al lado de la regleta de pines roja “J16”. Y una vez hecho esto la
activaremos mandando un pulso de 1 segundo al pin 9 de la tarjeta. Este se muestra en la Figura
37.
49
6.4.2 ENVÍO DE SMS A TRAVÉS DE ARDUINO
Para poder comunicarnos con el módulo GPRS/GSM a través de Arduino y conseguir enviar un
SMS tendremos que generar un código compuesto por las mismas instrucciones (comandos AT),
por lo tanto debemos comunicarnos con el módulo utilizaremos comandos AT, pero lo primero
que haremos será incluir la librería SoftwareSerial.h y configurar la comunicación por los pines
7 y 8.
Primero usaremos el comando AT+CMGF=1\r para indicarle al módulo GPRS que vamos a
mandar un mensaje, y a continuación introducimos el número al que va dirigido con el comando
AT+CMGS = “966 222 588”. En nuestro caso es ese número.
Una vez hecho esto, simplemente le enviamos el contenido del mensaje y lo finalizamos con el
caracter ^Z. La función quedaría así:
50
Figura 38. Código para enviar SMS desde Arduino
Fuente: Elaboración propia
El programa comenzará a ejecutarse, y si todo ha ido bien, tras unos segundos recibiremos el
SMS en nuestro móvil, tal y como se muestra en la figura 40.
51
Figura 40. Recepción del SMS en el teléfono móvil
Fuente: Elaboración propia
Llegados a este punto, damos por finalizadas las pruebas referentes al comportamiento del
módulo GPRS/GSM, y pasaremos a la integración de las distintas funciones en el programa
correspondiente a la aplicación general para el sensado de flujo de agua.
Por fin nos adentramos en la fase final del proyecto, donde se llevará a cabo el desarrollo de las
aplicaciones para la implementación del sistema.
En primer lugar se va a diseñar una aplicación capaz de integrar las distintas funcionalidades
evaluadas hasta el momento (sensor de flujo de agua, sistema que muestra el sensado, el control
de Tiempo y el envío de mensajes al usuario final).
Una vez que tenemos claro todo el material que vamos a utilizar, comenzamos con el
planteamiento del sketch correspondiente a la aplicación. Para ello se diseña un diagrama de
flujo con los pasos que principalmente se pretende que siga el programa. A partir del mismo
podremos comenzar a programar el código, siempre con la ayuda de los distintos sketches que
se han ido generando en las pruebas individuales para cada uno de los ítems (obtener valor del
caudal a partir del sensor, LCD que muestre los datos obtenidos por el sensor, envío de SMS).
52
Figura 42. Diagrama de flujo correspondiente al sistema de gestión remota
Fuente: Elaboración propia
53
En la siguiente Figura 42. Se muestra la pantalla LCD y el módulo Arduino junto con el sensor
de efecto Hall.
En primer lugar se adjunta una fotografía con el resultado del montaje del sistema al completo.
Como vemos en la imagen correspondiente a la figura 44, el montaje se lleva a cabo con la
ayuda de una placa de pruebas (‘Protoboard’), aunque la idea es fabricar una pequeña placa de
circuito impreso en la que integrar los distintos componentes y eliminar el siempre antiestético
cableado, reduciendo el tamaño del sistema, dotándole de otro aspecto, y en definitiva,
convirtiendo al sistema en una única plataforma de diseño modular más compacta y robusta.
54
Figura 46. Implementación del Equipo poniendo a Prueba.
Estos son los materiales que se utilizaron para la respectiva prueba en el armado de Sensor de
efecto Hall.
A continuación conectamos el sistema al puerto USB del PC, y procedemos con la carga del
programa (no debemos olvidar colocar los jumpers en modo “gateway” durante el proceso de
carga).
55
6.5.3 RESULTADOS
Una vez instalado proseguimos a sensar el flujo de agua. La prueba se muestra en el video
adjuntado al archivo.
Finalmente hasta la fecha de presentación del primer prototipo, se obtuvo que el sistema era
autónomo y las condiciones satisfacen las peticiones del cliente.
A pesar de eso hubo percances que se esperan solucionar en el módulo final. Uno de los
problemas fue la medición precisa del flujo de agua cuando el grifo emanaba gotas lo cual el
sensor clásico si nota estos pequeños cambios. Esto se puede solucionar cambiando de sensor u
otro mucho más precisos y sensibles.
56
Capítulo 7
Conclusiones y Recomendaciones
CONCLUSIONES
Para determinar con mayor aproximación el valor del agua que se deja de medir por los
Micromedidores instalados en la prueba, se debería adelantar un estudio de
determinación de curvas metrológicas a una muestra representativa de medidores de
agua viejos.
57
para la realización del proyecto. En cualquier caso, siempre podemos crear nuestras
propias librerías, dando así soporte a nuevas funcionalidades o mejoras de rendimiento.
En base a los resultados obtenidos en las pruebas, podemos apreciar que el sistema
desarrollado tiene un grado de precisión aceptable y estamos convencidos que estas
desviaciones se debieron principalmente al margen de error del sensor de flujo
utilizado.
RECOMENDACIONES
Se sugiere cambiar el sensor de efecto Hall por otro mucho más preciso ya que no es tan
sensible como el medidor clásico.
Aun no se trabajó con el envío de datos a través del internet, es un reto que aun seguirá en el
final y conclusión exitosa de este proyecto que se tiene pensado hacer para más adelante.
El estudio del consumo de energía no se puedo concluir por el motivo de tiempo, esto será
subsanado con la conclusión al final de la presentación de la tesis para optar por el título de
Ingeniero Electrónico.
58
Bibliografía
[2] Artículo científico, “Medición Del Consumo De Agua Domiciliaria Utilizando Tecnología
Inalámbrica Zigbee”. Disponible en web:
http://revistas.utp.edu.co/index.php/revistaciencia/article/viewFile/3151/1913
[6] Arregui de la Cruz, Francisco. Tesis Doctoral “Propuesta de una Metodología Para el
59
Análisis y Gestión del Parque de Contadores de Agua en un Abastecimiento”.
Universidad Politécnica de Valencia, Departamento de Ingeniería Hidráulica y Medio
Ambiente. Valencia España. 1998. Disponible en web: http://docplayer.es/33281686-
Caracterizacion-de-las-perdidas-hidraulicas-y-financieras-del-parque-de-medidores-en-el-
area- urbana-de-la-ciudad-de-tunja-documento-de-tesis-de-grado.html
[8] Tesis, “Caracterización de las Pérdidas Hidráulicas y Financieras del Parque de Medidores
en el Área Urbana de la Ciudad de Tunja”. Disponible en web:
http://docplayer.es/33281686-Caracterizacion-de-las-perdidas-hidraulicas-y-financieras-
del-parque-de-medidores-en-el-area-urbana-de-la-ciudad-de-tunja-documento-de-tesis-
de-
grado.html
60
ANEXO
#include <LiquidCrystal.h>
#include <TimerOne.h>
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // Configura el puerto serial para el SIM900
LiquidCrystal lcd(10, 9, 3, 4, 5, 6);// rs,en, d4, d5, d6, d7
int horas=0;
int minutos=0;
volatile int segundos=0;
volatile boolean actualizar=true;
char texto[10];
int modo = 0;
const int N=3;
///////////////////////////////////////////////////////////////////////////////////////////////////
void setup(){
//////SETTING OF SENSOR PARTE 1*****************************************************************
pinMode(sensor, INPUT_PULLUP); // Pin digital como entrada con conexión PULL-UP interna
lcd.begin(16,2);
61
lcd.clear();
/////SETTING OF SIM900****************************************************************
SIM900.begin(19200); //Configura velocidad del puerto serie para el SIM900
delay(1000); //Tiempo para que encuentre una RED
//************************************************************************************
// SETTING OF RELOJ********************************************************************
pinMode(PULSADOR_MODO, INPUT);
pinMode(PULSADOR_UP, INPUT);
pinMode(PULSADOR_DOWN, INPUT);
Timer1.initialize(1000000);
Timer1.attachInterrupt(manejadoraTimer);}
//*************************************************************************************
/////////////////////CONFIGURACION DE FUNCIONES DE SENSOR
//****************************************************************************************
void LCD_16x2()
{
lcd.setCursor(9,0);
// Imprimo el caudal en L/hora
lcd.print(litros_Hora,DEC);
lcd.print("L/H ");
lcd.setCursor(0,1);
// Imprimo el número de litros acumulados
lcd.print(litros);
lcd.print("L ");}
void calculo(){
// Cada segundo calculamos e imprimimos el caudal y el número de litros consumidos
if(millis() - tiempoAnterior > 1000)
{
tiempoAnterior = millis(); // Actualizo el nuevo tiempo
pulsos_Acumulados += pulsos; // Número de pulsos acumulados
litros_Hora = (pulsos * 60 / 8.67); // Q = frecuencia * 60/ 8.67 (L/Hora)
litros = pulsos_Acumulados*1.0/450; // Cada 450 pulsos son un litro
pulsos = 0;} // Pongo nuevamente el número de pulsos a cero
}
//***************************************************************************************************
//////////////////////TODA CONFIGURACION DEL RELOJ//////////////////////////////////////////////////
//*****************************************************************************************************
void manejadoraTimer(){
segundos++;
actualizar=true;}
void actualizarReloj(){
minutos += segundos / 60;
segundos = segundos % 60;
horas += minutos / 60;
minutos = minutos % 60;
horas = horas % 24;}
void incrementarHoras(){
horas ++;
horas = horas % 24;
actualizar=true;}
void decrementarHoras(){
horas --;
if(horas<0){
horas = 23;}
actualizar=true;}
62
void incrementarMinutos(){
minutos ++;
minutos = minutos % 60;
actualizar=true; }
void decrementarMinutos(){
minutos --;
if(minutos<0){
minutos = 59;}
actualizar=true;}
void fijarCursorModo(){
switch(modo){
case 0:
lcd.noBlink();
break;
case 1:
lcd.setCursor(0, 0);
lcd.blink();
break;
case 2:
lcd.setCursor(3, 0);
lcd.blink();
break;}
}
void Reloj(){
if(digitalRead(PULSADOR_MODO)==HIGH){
modo++;
modo = modo % N;
fijarCursorModo();
while(digitalRead(PULSADOR_MODO)==HIGH);}
switch(modo){
case 1:
if(digitalRead(PULSADOR_UP)==HIGH){
incrementarHoras();
while(digitalRead(PULSADOR_UP)==HIGH);}
if(digitalRead(PULSADOR_DOWN)==HIGH){
decrementarHoras();
while(digitalRead(PULSADOR_DOWN)==HIGH);}
break;
case 2:
if(digitalRead(PULSADOR_UP)==HIGH){
incrementarMinutos();
while(digitalRead(PULSADOR_UP)==HIGH);}
if(digitalRead(PULSADOR_DOWN)==HIGH){
decrementarMinutos();
while(digitalRead(PULSADOR_DOWN)==HIGH);}
break;}
if(actualizar == true){
actualizarReloj();
lcd.clear();
lcd.noBlink();
lcd.setCursor(0,0);
sprintf(texto, "%02d:%02d:%02d",horas,minutos, segundos);
lcd.print(texto);
actualizar = false;
fijarCursorModo();}}
//********************************************************************************************
////////////////CONFIGURACION DEL MODULO SIM900//////////////////////////////////////////////
//********************************************************************************************
void mensaje_sms()
{
while(horas==00 && minutos==00 && segundos==0)
{
lcd.setCursor(10,1);
lcd.println("En.SMS");//enviamos el mensaje
SIM900.print("AT+CMGF=1\r"); //Comando AT para mandar un SMS
delay(1000);
SIM900.println("AT+CMGS=\"966222588\""); //Numero al que vamos a enviar el mensaje
delay(1000);
SIM900.println("Su consumo de agua en el dia es =");//texto sms
SIM900.println(litros);// Texto del SMS
SIM900.println("Litros acumulados");
63
delay(100);
SIM900.println((char)26);//Comando de finalizacion ^Z
delay(100);
SIM900.println();
delay(5000); // Esperamos un tiempo para que envíe el SMS
lcd.setCursor(10,1);
delay(100);
lcd.println("SMS En");
delay(1000);} }
////**********************************************************************************
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop(){
Reloj();
calculo();
LCD_16x2();
mensaje_sms();
}
//***********************funcion de presentacion del proyecto******************************
///////////////////////////////////////////////////////////////////////////////////////////
void Intro()
{
lcd.print("CAUDALIMETRO DIG"); // Imprime "LCD Tutorial" sobre el LCD
delay(1000); // 0.5 segundos de espera
lcd.clear(); // Limpia la pantalla
delay(1000);
lcd.print(" PRESENTADO");
lcd.setCursor(0,1);// Seteamos la ubicacion texto 0 linea 1 que sera escrita sobre el LCD
lcd.print(" POR");
delay(1500);
lcd.clear(); // Limpia la pantalla
lcd.print(" Gustavo");
lcd.setCursor(0,1);
lcd.print("Zevallos Carlos");
delay(2000);
lcd.clear(); // Limpia la pantalla
delay(1500);
}
64