Sie sind auf Seite 1von 21

UNIVERSIDAD DE TARAPACÁ

Escuela Universitaria de Ingeniería Eléctrica y Electrónica

HERRAMIENTAS DE SOFTWARE

TÍTULO EXPERIENCIA

IMPLEMENTACION DEL PROYECTO

MONITOREO AMBIENTAL EN EL SECTOR INDUSTRIAL

NOMBRES ALUMNOS OBSERVACIONES

- PTRRZA

FECHA REALIZACIÓN

07/ 12 / 2017

FECHA ENTREGA ASIGNATURA

08/ 12 / 2017 HERRAMIENTAS SOFTWARE

PROFESOR:

NOTA:

1
ÍNDICE

1.-INTRODUCCIÓN ……………………………………………………………Pág.4.

2.- DESARROLLO DEL PROYECTO…………………………………………Pág,5.

2.1.-Implementación de SIMULINK………………………………………..Pág.5.

3.- ARDUINO UNO…………………………………………………………….…Pág.6.

3.1.-Entradas y salidas digitales/analógicas………………………………. Pág.6.

3.2-Terminales digitales……………………………………………………….Pág.7

3.2.1.- Serial: 0 (RX) y 1 (TX)……………………………………………..Pág.7

3.2.2.-Interruptores externos: 2 y 3………………………………………. Pág.7

3.2.3.- PWM: 3, 5, 6, 9, 10, y 11……………………………………………Pág.7

3.2.4.- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)…………………….Pág.7

3.2.5.- LED: 13. En el Diacemila y el LilyPad………………………………Pág.7

3.2.6.-Pines analógicos......................................................................................Pág.7

3.2.7.- I2C: 4 (SDA) y 5 (SCL) 7………………………………………………Pág.8

3.3.-Pines de alimentación………………………………………………………Pág.8

3.3.1.- Fuente VIN…………………………………………………………….. Pág.8

3.3.2.-Fuente de 5V…………………………………………………………….Pág.8

2.2.3.-Fuente de 3V…………………………………………………………….. Pág.8

3.4.-Otros Pines………………………………………………………………… Pág.8

3.4.1.- AREF……………………………………………………………………. Pág.8

3.4.2.- Reset…………………………………………………………………….. Pág.8

4.-SENSORES DEL PROYECTO…………………………………………………... Pág.9

4.1.-Sensor de temperatura y humedad [DIGITAL]………………………. Pág.9

4.1.1.-Características generales………………………………………………. Pág.9

2
4.2.-Sensor de ruido KY-038 [ANALOGO]……………………………………. Pág.10

4.2.1.-Características generales…………………………………………….. Pág.10

4.3.-Implementación de los sensores Digitales y Análogos del Proyecto……. Pág.11

4.4.-Programación de Arduino…………………………………………..….....Pág.12

5.-IMPLEMENTACION SIMULINK…………………………………………….. Pág.13

5.1.-Configuración Query Instrument……………………………………….. Pág.14

5.2.-Implementación Math Function…………………………………………..Pág.14

5.3 Implementación bloque To Workspace………………………………….. Pág.15

5.4.-Implementación del SCOPE………………………………………………Pág.16

6.-MATLAB………………………………………………………………………….Pág.17

7.-EXCEL…………………………………………………………………………….Pág.17

8.-THINGSPEAK…………………………………………………………………...Pág.18

9.-IMPLEMENTACIÓN CANAL THINGSPEAK………………………………..Pág.19

10.-CONCLUSIÓN…………………………………………………………………..Pág.20

11.-BIBLIOGRAFÍA…………………………………………………………...……Pág.21

3
1.-INTRODUCCIÓN.

La definición de la Internet de las Cosas, (IoT) es elusiva porque se refiere a muchas


disciplinas, tecnologías y dominios de aplicaciones. Esencialmente, la IoT avizora sistemas
de sensores interconectados y objetos inteligentes que trabajan juntos para hacer al ambiente
inteligente, usable y programable.

La IoT involucra sensores, circuitos, sistemas embebidos, comunicaciones, interfaces


inteligentes, gestión de energía, gestión de datos, fusión de datos, gestión de conocimiento,
sistemas en tiempo real, procesamiento distribuido, diseño de sistemas y técnicas sofisticadas
de software que se relacionan con los grandes datos. La IoT también incluye desde la Internet
industrial, la cual podría cambiar profundamente como los productos son producidos, hasta
la salud-electrónica, que ofrece nuevas formas para el cuidado de humanos y el tratamiento
de dolencias.

Los sistemas de IoT cubren un amplio espectro de arquitecturas, abarcando desde las
pequeñas estructuras, con pocos sensores y el interfuncionamiento en áreas limitadas que
proporcionan servicios y aplicaciones a un pequeño conjunto de personas, a los sistemas
omnipresentes que involucran a millones de sensores, el procesamiento distribuido de la
información y el establecimiento de actuadores para la infraestructura de una ciudad
inteligente.

El presente informe contiene la finalización del proyecto presentado en la exposición


correspondiente al ramo de Herramientas de Software para Ingeniería, dando un enfoque más
detallado para explicar los resultados obtenidos.

4
2.- DESARROLLO DEL PROYECTO.

2.1.-Implementación de SIMULINK.

SIMULINK es un paquete de software para modelar, simular y analizar sistemas


dinámicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo,
muestreados o un híbrido de los dos. Los sistemas pueden ser también multifrecuencia, es
decir, tienen diferentes partes que se muestrean o actualizan con diferentes velocidades.

Para modelar aplicando IOT al proyecto se actualizó las librerías para trabajar con
ARDUINO ya que SIMULINK no posee aquella librería.

Fig.2.1.-Ruta para actualizar Software Simulink.

Para implementar se procedió a instalar el software, con la ruta:

Tools/Run on Target Hardware/Install/Update Support Package. Ver Fig.2.1.

Fig.2.2-Actualización Simulink.

5
3.- ARDUINO UNO.

Arduino Uno es una placa electrónica basada en el microcontrolador ATmega328.


Cuenta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM
(Modulación por ancho de pulsos) y otras 6 son entradas analógicas. Además, incluye un
resonador cerámico de 16 MHz, un conector USB, un conector de alimentación, una cabecera
ICSP y un botón de reseteado.

Características técnicas de Arduino Uno r3

- Microcontrolador: ATmega328

- Voltage: 5V

- Voltage entrada (recomendado): 7-12V

- Voltage entrada (limites): 6-20V

- Digital I/O Pins: 14 (de los cuales 6 son salida PWM)

- Entradas Analogicas: 6

- DC Current per I/O Pin: 40 mA

- DC Current parar 3.3V Pin: 50 mA

- Flash Memory: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados para el arranque

- SRAM: 2 KB (ATmega328)

- EEPROM: 1 KB (ATmega328)

- Clock Speed: 16 MHz

3.1.-Entradas y salidas digitales/analógicas.

Un sistema electrónico es cualquier disposición de componentes electrónicos con un


conjunto definido de entradas y salidas. Una placa Arduino, por tanto, puede pensarse de
forma simplificada como un sistema que acepta información en forma de señal de entrada,
desarrolla ciertas operaciones sobre ésta y luego produce señales de salida.

En los sistemas electrónicos, una magnitud física variable se representa generalmente


mediante una señal eléctrica que varía de manera tal que describe esa magnitud. Por lo
general, se hace referencia a las señales continuas como señales analógicas, mientras que las
6
señales discretas a señales digitales: el ejemplo más claro es el de las señales binarias, donde
las señales sólo pueden tomar dos niveles, 0 o 1.

Arduino incorpora terminales digitales (señales discretas) pero de tal forma que
tenemos un gran abanico de valores con los que trabajar ( Desde 255 valores de luz en un
fotosensor, siendo 0 ausencia de luz y 254 el máximo valor lumínico).

3.2-Terminales digitales.

Las terminales digitales de una placa Arduino pueden ser utilizadas para entradas o
salidas de propósito general a través de los comandos de programación pinMode(),
digitalRead(), y digitalWrite(). Cada terminal tiene una resistencia pull-up que puede
activarse o desactivarse utilizando digitalWrite() (con un valor de HIGH o LOW,
respectivamente) cuando el pin esta configurado como entrada. La corriente máxima por
salida es 40 mA.

3.2.1.- Serial: 0 (RX) y 1 (TX). Utilizado para recibir (RX) y transmitir (TX) datos
serie TTL. En el Arduino Diacemila, estas terminales están conectadas a las correspondientes
patas del circuito integrado conversor FTDI USB a TTL serie. En el Arduino BT, están
conectados al las terminales correspondientes del modulo Bluetooth WT11. En el Arduino
Mini y el Arduino LilyPad, están destinados para el uso de un módulo serie TTL externo (por
ejemplo el adaptador Mini-USB).

3.2.2.-Interruptores externos: 2 y 3. Estas terminales pueden ser configuradas para


disparar una interrupción con un valor bajo, un pulso de subida o bajada, o un cambio de
valor. Mira la función attachInterrupt() para mas detalles.

3.2.3.- PWM: 3, 5, 6, 9, 10, y 11. Proporcionan salidas PWM de 8 bit con la función
analogWrite().

3.2.4.- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estas terminales soportan


comunicación SPI. Aunque esta funcionalidad esta proporcionada por el hardware, no está
incluida actualmente el lenguaje Arduino.

3.2.5.- LED: 13. En el Diacemila y el LilyPad hay un led en placa conectado al pin
digital 13. cuando el pin tiene valor HIGH, el LED está encendido, cuando el pin está en
LOW, está apagado

3.2.6.-Pines analógicos.

- Los pines de entrada analógicos soportan conversiones analógico-digital (ADC) de


10 bit utilizando la función analogRead(). Las entradas analógicas pueden ser también usadas
como pines digitales: entrada analógica 0 como pin digital 14 hasta la entrada analógica 5

7
como pin digital 19. Las entradas analógicas 6 y 7 (presentes en el Mini y el BT) no pueden
ser utilizadas como pines digitales.

3.2.7.- I2C: 4 (SDA) y 5 (SCL). Soportan comunicaciones I2C (TWI) utilizando la


librería Wire (documentación en la página web de Wiring).

3.3.-Pines de alimentación.

3.3.1.-Fuente VIN (a veces marcada como “9V”). Es el voltaje de entrada a la placa


Arduino cuando se está utilizando una fuente de alimentación externa (En comparación con
los 5 voltios de la conexión USB o de otra fuente de alimentación regulada). Puedes
proporcionar voltaje a través de este pin. Date cuenta que diferentes placas aceptan distintos
rangos de voltaje de entrada, por favor, mira la documentación de tu placa. También date
cuenta que el LilyPad no tiene pin VIN y acepta solo una entrada regulada.

3.3.2.-Fuente de 5V. La alimentación regulada utilizada para alimentar el


microcontrolador y otros componentes de la placa. Esta puede venir de VIN a través de un
regulador en placa o ser proporcionada por USB u otra fuente regulada de 5V.

3.3.3.-Fuente de 3V. Una fuente de 3.3 voltios generada por el chip FTDI de la placa.

3.3.4.-GND. Pines de tierra.

3.4.-Otros Pines.

3.4.1.- AREF. Referencia de voltaje para las entradas analógicas. Utilizada con la
función analogReference().

3.4.2.- Reset. Resetea el microcontrolador. Utilizada típicamente para añadir un


botón de reset a shields que bloquean el de la placa principal.

Para implementar el proyecto lo primero que se analizó fueron las características del
ARDUINO UNO y los sensores que se ulizados, debido a que se requiere una correcta
lectura.

8
4.-SENSORES DEL PROYECTO.

4.1.-Sensor de temperatura y humedad [DIGITAL].

El sensor DHT11 es un sensor de humedad y temperatura, y entrega datos de alta


calidad y una fiabilidad. Está constituido por dos sensores resistivos (Temperatura NTC y
humedad). Para realizar el proyecto actualizó la librería del Arduino.

Fig.8.-Sensor DHT11.

4.1.1.-Características generales.
- Tamaño reducido.
- Voltaje de operación: 3V-5.5V
- Rango Humedad: 20-90% de Humedad Relativa (+-5%).
- Rango temperatura : 0-50ºC (+-2°C).
- Resolución Humedad: 1RH / 8 bits
- Resolución Temperatura: 1ºC / 8 bits.
- Sensor montado en una board con el hardware necesario para su uso.
- Tamaño: 3.1cm x 1.4cm

9
4.2.-Sensor de ruido KY-038 [ANALOGO].

Fig.4.2.-Sensor de ruido Arduino.

El módulo AR-SOUND es un sensor analógico y/o digital de sonido (KY-038),


diseñado para proyectos y circuitos elaborados con Arduino. Cuenta con un micrófono de
condensador omnidireccional de alta sensibilidad, que permite detectar con precisión hasta
sonidos de muy baja intensidad.

Este sensor detecta la intensidad del sonido de un ambiente (basado en vibraciones)


NO reconoce voz o frecuencias específicas.

Su dualidad análogo-digital hizo analizar las ventajas de una sobre la otra. Se eligió la
entrada analoga por mayor flexibilidad al momento de implementar la programación sobre
el microcontrolador.

4.2.1.-Características generales del sensor.

-Posee un potenciómetro para ajustar la sensibilidad.

-Voltaje de operación: 3.3VDC a 5VDC.

-Voltaje de salida (detección): igual o menor a 3.5VDC.

-Voltaje de salida (no detección): igual o mayor a 3.75VDC.

-Tiempo de duración (activación): <250mS.

-Dimensiones: 3.2cm x 1.7cm.

-Posee 3 pines: VCC (+), GND (-), OUT.

-Usado en aplicaciones para detectar aplausos o sonidos estridentes.

10
4.3.-Implementación de los sensores digitales y análogos del proyecto.

Se procedió a implementar los sensores a los respectivos pines de entrada análogo y


digital como se muestra en la Figura.4.3.

Figura 4.3.-Implementación de los sensores en Arduino Uno.

El sensor de Humedad/Temperatura conectado al pin digital 2, y el sensor de ruido al pin


análogo A0, con sus respectivas conexiones a Vcc y Gnd como se puede apreciar en la
figura.

11
4.4.-Programación de Arduino.

Se procedió a actualizar las librerías del microcontrolador, debido a que no se


contaba con la librería DHT11 como lo muestra la Figura 4.4.1.

Fig.4.4.1.-Actualizando librería DTH11.

Se programó considerando que la información será recibida por Simulik, revisando


el programa meticulosamente para no entregar errores o inconsistencias.

//Proyecto internet de las cosas herramientas software UTA


#include "DHT.h" //cargamos la librería DHT
#define DHTPIN 2//Seleccionamos el pin en el que se //conectará el
sensor
#define DHTTYPE DHT11 //Se selecciona el DHT11 (hay //otros DHT)
DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por
Arduino para comunicarse con el sensor
int rango = 300;
int ruido;
int r;
void setup() {
Serial.begin(9600); //Se inicia la comunicación serial
dht.begin(); //Se inicia el sensor
}
void loop() {
float h = dht.readHumidity(); //Se lee la humedad
float t = dht.readTemperature(); //Se lee la temperatura

ruido = analogRead(A0);//se lee el ruido


r = (ruido*500)/1023;
//Se envian las variables h,t,r por puerto serial
Serial.print(h);
Serial.print(",");
Serial.print(t);
Serial.print(",");
Serial.print(r);
Serial.println();//visualiza un salto con espacio en pantalla Arduino

delay(1000); //Se espera 1 segundos para seguir leyendo //datos


}

12
Se corrobora la lectura de los sensores, midiendo la humedad temperatura y ruido del
entorno. Comprobando la correcta implementación y diseño del circuito.

Fig.4.4.2.-Ventana del Arduino.

Se puede apreciar que los datos están separados por una coma, definidas así para su
posterior proceso de transferencia.

5.-IMPLEMENTACIÓN SIMULINK.

Se implementaron los bloques en SIMULINK para obtener los datos medidos por
Arduino. Para ello se hace uso del Query Instrument, que cumple la función de recibir los
datos entregados por el microprocesador y enviarlo al bloque Math Function, que trabaja
en el modo Transpose. La información finalmente es almacenada por el bloque To
WorkSpace y visualizada en el SCOPE.

Fig.5.-Esquema en Simulink del proyecto.

13
5.1.-Configuración Query Instrument.

Para configurar este bloque, es importante comprender que se está trabajando con
múltiples señales y por ende se tiene que implementar en base a estas características.

Fig.5.1.-Valores de parámetros del Query Instrument.

Aspectos importantes: Se declara la interface, el puerto COM, código ANSII,


cantidad de salidas como se presenta en la figura. Este aspecto es muy relevante, ya que, si
se declara mal la cantidad de datos se generará una inconsistencias pese a que el
microcontrolador este midiendo correctamente.

5.2.-Implementación Math Function.

El bloque Math Funcion, recibe la información generada por Query Intrument, y


convierte por medio de la función TRANSPOSE a datos independientes.

Fig.5.2.-Configuración de los parámetros del bloque Math Function.

14
5.3.- Implementacion bloque To Workspace.

Workspace, almacena la información designándola como matriz de 2-D. Para ser


almacenado de forma sistemática en Matlab.

Fig.5.3.- Parámetros del bloque To Workspace.

Este bloque es la interfaz de SIMULINK con EXCEL, ya que sin esta herramientas
no se hubiera podido obtener las mediciones en una tabla ordenada. Los datos sencillamente
serían mostrados de forma errónea o desordenada.

15
5.4.-Implementación del SCOPE.

Finalmente se procede a visualizar los datos recibidos por SIMULIK, aplicando


RUN.

Es importante recalcar que Query Instrument permite trabajar en modo Normal,


evitando la configuración External, que requiere la acción de reconocimiento de la placa
Arduino, acción fundamental para evitar inconsistencias en la comunicación con el
microcontrolador.

Fig.5.4.-Mediciones de SIMULINK.

Los datos medidos por SIMULINK, nos muestra temperatura (Azul) entre 24°C y
25°C, mientras la humedad (Amarillo) rondando en los 68 % aproximadamente, asimismo
el ruido (Rojo) generado por el ambiente oscila como máximo en tormo los 29 db,
considerado dentro del margen normal para un entorno laboral.

16
6.-MATLAB

Matlab contiene la matriz generada por SIMULINK. Los datos son guardados en formato
EXCEL, para subirlo al IOT.

Fig.6.-Matriz generada por Simulink.

7.-EXCEL.

Para poder subir esta información a Thingspeak, fue necesario recopilar 3000 muestras.

Fig.7.-Datos en Excel

17
8.-THINGSPEAK.

Se procedió a subir datos a Thinkspeak, para ello se creó una canal, con tres labels.

Si se sube los datos de forma convencional se generará un error, ya que T hingspeak


exige tres condiciones:

1.-La planilla EXCEL debe estar en formato CVS (MS-DOS).

2.-Primera Columna debe ser la Fecha-hora Formato: MYSQL, ISO 8601 o Eproch.

Las otras columnas serán los datos y pueden ser recolectadas por Simulik (To
Workspace) o Matlab. Deben coincidir con la cantidad de labels de Thinkspeak.

3.- La cantidad mínima de datos o muestras es de100, y la máxima es de 190.000, su duración


es de aproximadamente un año en la red, se actualiza cada 5 segundos modo gratuito y cada
1 segundo modo pago.

Teniendo presente esto se procede a subir los datos entregados por los sensores a la
nube del internet de las cosas.

La información es almacenada casi instantáneamente y visualizada. El canal con los


labels aún sin definir, se procede a modificar cada Field, o campo de entrada.

Obteniendo la implementación del Canal.

18
9.-IMPLEMENTACIÓN CANAL THINGSPEAK.

Se crea así un canal público con las muestras obtenidas por Simulink cuya dirección es:
https://thingspeak.com/channels/379923

19
10.-CONCLUSIÓN.

El objetivo fundamental de monitorear datos en cualquier parte del mundo fue


realizado satisfactoriamente.

Este proyecto ayudo a entender mejor el concepto de la IOT, sus ventajas asimismo
descubrir sus desventajas. Tener noción del avance tecnológico que está presente hoy en día
y ver las implicancias que tiene para el futuro.

Esto también nos llevó a ver que existe la fragilidad de la seguridad en la IOT y
posiblemente sea uno de los mayores problemas que posea el desarrollo de esta tecnología a
mediano plazo.

Pese a todo la IOT, es desarrollada para optimizar las decisiones ya que se trabaja
en tiempo real y esta misma ayudará a solucionarlo.

Para lograr nuestro objetivo se trabajó con el entorno de ARDUINO, SIMULINK,


MATLAB, EXCEL y THINGSPEAK, para: recolectar, transferir, analizar, ordenar y
publicar los datos en la RED y así monitorear en cualquier punto del mundo mediante la
IOT nuestras cosas en tiempo real.

20
11.-BIBLIOGRAFÍA.

Con acceso viernes 8 de Diciembre del año 2017.

[1] http://www.iescamp.es/miarduino/2016/01/21/placa-arduino-uno/

[2 ] https://docs.google.com/file/d/0B0hsUkhqWH97NnM5QWZlN0ZsYVE/edit

[3] http://www.iescamp.es/miarduino/2016/01/21/placa-arduino-uno/

[4] http://www.networkworld.es/m2m/el-futuro-del-iot-sera-fascinante-y-
potencialmente-catastrofico

[5] https://www.mathworks.com/help/simulink/slref/mathfunction.html

[6] https://www.youtube.com/watch?v=gV7l2YOSOQ4

21

Das könnte Ihnen auch gefallen