You are on page 1of 51

IOT CON ARDUINO

Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas


telecomlopez@gmail.com ; denis10894@hotmail.com

INDICE

Pg.
1. INTRODUCCIN 3

2. OBJETIVO 3

2.1. Objetivos Generales 3


2.2. Objetivos especficos 3

3. PLANTEAMIENTO DEL PROBLEMA 4

4. JUSTIFICACIN 4

5. ALCANCES Y LIMITACIONES 4

6. MARCO TERICO 4

6.1. Internet de las cosas 4


6.2. Cmo funciona el internet de las cosas? 5
6.3.Cundo estar entre nosotros? 6
6.4. Arduino Uno 7
6.5. Ethernet Shield Wiznet 5100 10
6.6.Sowftware del Arduino 10
6.7.Data Sparkfun 11
6.8. LM35 12
6.9. DHT11 12
6.10. Conector RJ-45 14
6.11. Cable UTP 16
6.12. Tipos de redes 17
6.13. Protocolo RS-232 17

7. MARCO EXPERIMENTAL 19

7.1. Descripcin Funcional 19


7.2.Diagrama Funcional 20
7.3.Requerimientos Tablas 20
7.4.Materiales Comprados Y Elaborados 20
7.5.Especificaciones 21
7.6.Circuitos Analgicos 21

Pgina 1
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

7.6.1. Circuito Del LM35 21


7.6.2. Circuito Del Arduino 23

8. MARCO CRTICO 27

8.1. Procedimientos 27
8.1.1. Procedimiento DH_T11_LM35 27
8.1.2. Procedimiento sensoresethernetfinal 29
8.2.Pruebas y Resultados 36
8.2.1. DH_T11_LM35 36
8.2.2. sensoresethernetfinal 37

9. APLICACIONES 38

10. CONCLUSIONES 38

11. RECOMENDACIONES 38

12. BIBLIOGRAFIA 39

ANEXOS 41

Pgina 2
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

1. INTRODUCCIN

En el presente proyecto que hemos decidido realizar daremos a conocer algunos conceptos
importantes sobre los materiales y componentes a utilizar.

Nuestro proyecto est basado en el internet de las cosas, utilizaremos sensores de


temperatura para que nos enve la temperatura actual a un servidor en la nube y se enviara
ese dato a una laptop en la cual se podr graficar la temperatura con respecto al tiempo, el
Arduino ser nuestra interface entre el mundo fsico y el virtual.

2. OBJETIVO

2.1. Objetivos Generales

Enviar datos de la temperatura y la humedad actual hacia una nube y que dichos datos
se puedan observar desde cualquier dispositivo.

2.2. Objetivos especficos

Aprender el lenguaje de arduino y como programarlo para poder realizar con xito
nuestro proyecto.

Aprender a programar el Ethernet shield W5100

Conocer los estndares a utilizar para hacer nuestros propios cables de red.

Observar las mediciones desde cualquier dispositivo electrnico con Internet.

Pgina 3
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

3. PLANTEAMIENTO DEL PROBLEMA

De qu manera se puede enviar los datos de la temperatura y la humedad actual en tiempo


real de manera inalmbrica usando el arduino como una interface entre el mundo fsico y el
virtual?

4. JUSTIFICACIN

Facilitar los datos de temperatura y humedad para que todas las personas que no
cuenten con un termmetro puedan observarlos desde cualquier dispositivo que tenga
conexin a internet.

5. ALCANCES Y LIMITACIONES

Se podr ver a travs de Internet los datos captados de la temperatura y la humedad


actuales.

Se podra aadir otras mediciones como velocidad del viento y radiacin ultravioleta,
usando ms sensores.

6. MARCO TERICO

6.1. Internet de las cosas

Es un trmino del que escuchamos hablar constantemente. Internet de las cosas, Internet
of Things o IoT por sus siglas en ingls, es un concepto un poco abstracto pero que ha estado
ganando bastante popularidad en los ltimos meses. La idea que intenta representar queda
bastante bien ilustrada por su nombre, cosas cotidianas que se conectan a Internet, pero en
realidad se trata de mucho ms que eso.

Para entender de qu va el Internet de las cosas debemos tambin comprender que sus
fundamentos no son en lo absoluto nuevos. Desde hace unos 30 aos que se viene trabajando
con la idea de hacer un poco ms interactivos todos los objetos de uso cotidiano. Ideas como
el hogar inteligente, tambin conocido como la casa del maana, han evolucionado antes de
que nos demos cuenta en el hogar conectado para entrar al Internet de las cosas.

El Internet de las cosas potencia objetos que antiguamente se conectaban mediante


circuito cerrado, como comunicadores, cmaras, sensores, y dems, y les permite
comunicarse globalmente mediante el uso de la red de redes.

Si tuviramos que dar una definicin del Internet de las cosas probablemente lo mejor
sera decir que se trata de una red que interconecta objetos fsicos valindose del Internet.
Los mentados objetos se valen de sistemas embebidos, o lo que es lo mismo, hardware
especializado que le permite no solo la conectividad a Internet, sino que adems programa
eventos especficos en funcin de las tareas que le sean dictadas remotamente.

Pgina 4
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Cualquier aparato electrnico se puede intercomunicar a travs de la red de Internet.


Cualquier objeto que antes no tena componentes electrnicos, ahora los puede tener, para
obtener datos y nuevas relaciones de comunicacin entre objetos-humanos. Por ejemplo se
puede tener un sensor en la cama que cuando detecta el momento idneo de despertarnos
sube las persianas, prepara la cafetera para que tengamos el caf listo y enciende los
radiadores para que haya una agradable temperatura.

Para ello es necesario que nuestros aparatos se interconecten con una electrnica
preparada para conectarse a Internet. Para desarrollar y prototipar este tipo de interconexin
existe el hardware Arduino. Con ste, se puede programar entradas (sensores de temperatura,
humedad, ritmo cardiaco...) y salidas (actuadores, leds...).

6.2. Cmo funciona el internet de las cosas?

Como ya hemos dicho, el truco en todo esto est en los sistemas embebidos. Se trata de
chips y circuitos que comparados con, por ejemplo, un smartphone, podran parecernos muy
rudimentarios, pero que cuentan con todas las herramientas necesarias para cumplir labores
especializadas muy especficas.

No hay un tipo especfico de objetos conectados a Internet de las cosas. En lugar de eso
se les puede clasificar como objetos que funcionan como sensores y objetos que realizan
acciones activas. Claro, los hay que cumplen ambas funciones de manera simultnea.
En cualquier caso el principio es el mismo y la clave es la operacin remota. Cada uno de los
objetos conectados a Internet tiene una IP especfica y mediante esa IP puede ser accedido

Pgina 5
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

pare recibir instrucciones. As mismo, puede contactar con un servidor externo y enviar los
datos que recoja.

6.3.Cundo estar entre nosotros?

Una de las preguntas ms comunes con el Internet de las cosas es cundo estar finalmente
dentro de nuestras vidas. La respuesta es que ya lo est.

A diferencia de algunas tecnologas mucho ms populares entre las masas, el Internet de


las cosas no ha encontrado su foco de explosin en el mercado del consumo. Quizs la
tecnologa est an demasiado verde, o quizs los grandes del sector no han visto la
oportunidad correcta para abalanzarse encima.

Como sea, es el sector privado donde el Internet de las Cosas se est haciendo cada vez
ms popular.

La industria de produccin en masa: la maquinaria que se encarga de controlar los


procesos de fabricacin, robots ensambladores, sensores de temperatura, control de
produccin, todo est conectado al Internet en cada vez ms empresas lo que permite
centralizar el control de la infraestructura.

Control de infraestructura urbana: control de semforos, puentes, vas de tren,


cmaras urbanas. Cada vez ms ciudades implementan este tipo de infraestructuras
basadas en el Internet de las Cosas que permiten monitorear el correcto
funcionamiento de sus estructuras adems de adaptar ms flexiblemente su
funcionamiento ante nuevos eventos.

Control ambiental: una de las reas en las que est teniendo ms xito el Internet de
las cosas, pues permite acceder desde prcticamente cualquier parte a informacin de
sensores atmosfricos, meteorolgicos, y ssmicos.

Sector salud: cada vez ms clnicas y hospitales alrededor del mundo confan en
sistemas que les permiten al personal de salud monitorear activamente a los pacientes
de manera ambulatoria y no invasiva.

Tambin hay aplicaciones del Internet de las Cosas para el transporte, la industria
energtica, y prcticamente todos los sectores comerciales. Como hemos dicho, el gran

Pgina 6
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

pendiente es el mercado de consumo, o lo que es lo mismo, los hogares, un lugar al que


probablemente es cuestin de tiempo para que veamos la gran explosin del IoT.

6.4. Arduino Uno

Arduino es una plataforma de software libre basada en uso sencillo de hardware y


software.

Est basada en una placa electrnica con un microcontrolador y fue creado por David
Cuartielles y Massimo Banzi

Sus caractersticas son:

Puede tomar informacin por medio de sus entradas analgicas

Puede controlar luces

Lenguaje de Programacin Arduino (Processing)

Su entorno de desarrollo integrado libre se lo puede descargar gratuitamente en su


pgina oficial.

Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un
computador.

El Arduino admite voltajes entre 0 V y 5 V para su alimentacin. Se lee el valor de voltaje


y se pasa a un conversor analgico digital de 10 bits. Se obtiene un valor entero entre 0 y
1023, que corresponde a un rango de 0 V a 5 V.

El Arduino incluye reguladores de tensin; y un puerto USB conectado a un mdulo


adaptador USB-Serie que permite programar el microcontrolador desde cualquier PC y hacer
pruebas de comunicacin con el chip. Tiene Memoria Flash 32 kB (0,5 kB ocupados por el
bootloader).

Cada uno de los 14 pines digitales del Arduino se puede usar como entrada o salida y se
les puede conectar cualquier dispositivo que transmita o reciba seales digitales de 0 y 5 V.
Estos pines funcionan a 5 V y pueden suministrar 40 mA. Tienen una resistencia de pull-up
interna entre 20 k y 50 k que est desconectada, a menos que se indique lo contrario.

El Arduino tiene entradas y salidas analgicas. Hay 6 pines de entrada analgicos que
trasladan las seales a un conversor analgico digital de 10 bits. Mediante las entradas
analgicas se pueden obtener datos de sensores (de temperatura, luz...) en forma de

Pgina 7
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

variaciones continuas de un voltaje. Las salidas analgicas envan seales de control (PWM,
modulacin por ancho de pulsos).

Los pines especiales de entrada y salida:

RX y TX. Para transmisiones serie de seales TTL.

Interrupciones externas. Los pines 2 y 3 pueden generar una interrupcin en el


Atmega (microcontrolador, formato DIP). Las interrupciones pueden activarse
cuando se encuentra un valor bajo en estas entradas.

PWM. El Arduino tiene 6 salidas para generar seales PWM de hasta 8 bits.

SPI. Los pines 10, 11, 12 y 13 pueden realizar comunicaciones SPI, que permiten
trasladar informacin full dplex en un entorno Maestro/Esclavo.

El Arduino puede alimentarse entre los 6 V y 12 V a travs del cable USB o una fuente
de alimentacin externa (un pequeo transformador o una batera de 9 V). Si la placa se
alimenta con menos de 7 V, la salida del regulador de tensin a 5 V puede dar menos de 5 V.
Si se sobrepasa 12 V se daar la placa. La alimentacin puede conectarse directamente a los
pines Vin y GND marcados en el Arduino.

En esta imagen se muestra un Arduino Uno:

Pgina 8
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Las partes del Arduino Uno son:

1- Conector USB para el cable tipo AB. Permite conectar el software al microprocesador a
travs de una conexin USB.

2- Pulsador de Reset. Para reiniciar la placa y programar desde cero.

3- Tiene 6 pines digitales de E/S (entrada/salida). Tambin tiene 6 salidas para generar
seales PWM (modulacin por ancho de pulsos) de hasta 8 bits. Adems tiene pines TX (pin
1) y RX (pin 0).

4- Diodo LED verde que indica si la placa est encendida (con fuente de alimentacin o
USB). Tambin llamado LED On.

5- Diodo LED naranja. Sirve para hacer pruebas sin ser necesario encender la placa.

6- ATmega 16U2. Es un chip de comunicacin de la placa con la laptop.

7- Diodos LED TX (transmisor) y RX (receptor). Indican si la placa est comunicndose con


la laptop.

8- Puerto ISCP para programacin serial.

9- Microcontrolador ATmega 328, cerebro del Arduino. Es un chip microcontrolador.

10- Cristal de cuarzo de 16 MHz. Chip que controla la frecuencia de funcionamiento con el
microcontrolador.

11- Regulador de voltaje. Para regular el potencial de salida en funcin de los actuadores
sobre los que trabajaremos.

12- Power. Conector hembra 2,1 mm con centro positivo. Si no est conectada la laptop a la
conexin USB (1), se conecta una fuente de alimentacin aqu.

13- Pines de voltaje y tierra. Proporciona energa de alimentacin a aparatos externos (por
ejemplo LEDs externos).

14- Entradas analgicas. Por ejemplo se pueden conectar potencimetros.

El software del Arduino consiste en un entorno de desarrollo (IDE) basado en el entorno


de Processing y lenguaje de programacin basado en Wiring y en el cargador de arranque
(bootloader) que es ejecutado en la placa Arduino. El microcontrolador de la placa se
programa a travs de una computadora, haciendo uso de comunicacin serial mediante un
convertidor de niveles RS-232 a TTL serial.

Pgina 9
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

6.5. Ethernet Shield Wiznet 5100

El Ethernet Shield Wiznet 5100 es una tarjeta que permite conectar un Arduino hacia una
interface de red, es decir, a Internet. Tiene un puerto de comunicacin LAN que a travs de
un cable de red categora 5 UTP nos permitir conectarla hacia el mundo interno de nuestra
LAN o hacia internet, es decir, hacia una conexin WAP.

Tiene funcionalidades de IP para TCP y UDP. Soporta hasta cuatro conexiones


simultneas. Utiliza la librera Ethernet para escribir programas que se conecten a Internet.

Este shield es apilable, es decir, se podr disponer de todos sus pines en otros shields. Las
ltimas versiones incluyen un slot para tarjetas micro-SD, para almacenar archivos que
podrn estar disponibles en Internet.

Tiene un controlador de reset, para asegurarse que el mdulo W5100 Ethernet inicie
correctamente al conectarlo a la electricidad. Tambin tiene un conector RJ45 estndar para
ethernet. El botn de reset inicializa el shield y el Arduino.

El Arduino UNO utiliza los pines digitales 11, 12 y 13 (SPI) para comunicarse con este
shield. El pin 10 es empleado para seleccionar el W5100 y el pin 4 para la tarjeta SD.

Debido a que el W5100 y la tarjeta SD comparten el mismo bus SPI solo uno podr estar
activo. Para deshabilitar la tarjeta SD, se configura el pin 4 como salida y se le escribe HIGH.
Para deshabilitar el W5100, se configura el pin 10 como una salida en HIGH.

6.6. Sowftware del Arduino

El IDE (ambiente de desarrollo integrado o entorno de desarrollo interactivo) del Arduino


nos facilitar programar el Arduino desde una computadora. Hay diferentes versiones
disponibles. Para el proyecto se usar Arduino 1.6.0.

Para que la computadora detecte el Arduino, hay que ir a "Administrador de dispositivos"


> Otros dispositivos. Seleccionamos "Dispositivo desconocido" y se actualiza software de

Pgina 10
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

controlador, seleccionando los drivers del Arduino. Tras esto, se puede ver el puerto que usa
el Arduino.

Se arma el circuito en Proteus, incluyendo el Arduino Uno. Luego, en Arduino 1.6.0., se


programa el Arduino. En Herramientas > Tarjeta, se elige Arduino Uno. En Archivo >
Preferencias > "Mostrar resultado detallado durante:", se selecciona (seala) "compilacin".

Se da clic en "Verificar" (compilar) . Se copia la direccin del archivo .hex, que


aparece en la parte inferior de la ventana. En Proteus, en el Arduino, se selecciona "Edit
properties" > "Program File:", y se pega la direccin del archivo .hex generado al compilar.
Se da clic en "Run the simulation" (iniciar la simulacin) y se observa que el circuito
funciona, sin ningn error. En Arduino 1.6.0., una vez montado el circuito en una protoboard,
se da clic en Subir (cargar) .

La estructura bsica del lenguaje de programacin en Arduino est formada por dos partes
o funciones: "void setup ()" y "void loop ()".

Las variables por ejemplo de tipo entero int se pueden definir antes del setup y el loop.

En "void setup ()", se usa pinMode(4,OUTPUT), para seleccionar el pin 4 y que este pin
sea de salida.

Tambin se puede usar Serial.begin(9600), para abrir el puerto serial y establecer una
velocidad de 9600 bits por segundo.

En "void loop ()", se puede usar digitalWrite(4, LOW), para que el pin 4 est en estado
bajo. Se introduce un retardo de 500 ms con delay(500). En caso de que se quiera apagar y
encender un diodo LED, se coloca otro digitalWrite(4, HIGH), para que el pin 4 est en
estado alto y otro retardo de 500 ms con delay(500).

Tambin se puede usar for(int i=0; i<=5; i++) para hacer un bucle o ciclo desde 0 hasta 5.
Con Serial.print(h), se puede devolver en la pantalla el valor de la variable h. Con
Serial.print("Temperatura"), se puede devolver en la pantalla la palabra Temperatura.

6.7. Data Sparkfun

Sparkfun permite subir nuestros datos de los sensores y enviados al Arduino, a una nube
gratuita. Permite almacenar esos datos en una sencilla base de datos. Se pueden ver desde
cualquier computadora, tablet o celular. El software que usa el servidor Data.SparkFun.com
es Phant.

Para subir datos, se enva una peticin HTTP (HTTP request) al servidor
Data.SparkFun.com. Si nos devuelve HTTP/1.1 200 OK, indica que el servidor acept la
peticin.

Pgina 11
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

El servidor nos devuelve una url pblica y una clave privada. El servidor permite
almacenar 50 MB y al sobrepasarlos, se van borrando los datos ms antiguos. Como la
librera Ethernet est incluida en el Arduino, no hacen falta ms libreras.

6.8. LM35

El LM35 es un sensor de temperatura con una precisin calibrada de 1 C. Mide desde -


55 C (- 550 mV) hasta 150 C (1500 mV). Por emejplo, para una temperatura ambiente de
25 C, el voltaje de salida Vout ser de 250 mV. La salida es lineal y cada grado Celsius
equivale a 10 mV. La tensin de salida es proporcional a la temperatura. Tiene una gran
precisin de 0,5 C a 25 C; baja impedancia de salida; y baja corriente de alimentacin (60
A). Debido a su baja corriente de alimentacin se calienta poco, es decir, disipa poca
potencia. Su voltaje de alimentacin es de 4 V a 30 V. Viene calibrado de fbrica, por lo que
no necesita ningn circuito externo para funcionar. Se encuentra en diferentes tipos de
encapsulado, siendo el ms comn el TO-92. En un circuito, la lectura debe hacerse con las
entradas analgicas del Arduino.

Pin Funcin y descripcin


1 Vs. Alimentacin
2 Vout. Salida. Devuelve un voltaje tras convertir
la temperatura captada por el sensor.
3 GND. Tierra

6.9. DHT11

El DHT11 es un sensor de temperatura y humedad. Est formado por un sensor de


humedad capacitivo y un termistor. Tambin tiene un circuito integrado en el interior que
hace la conversin de analgica a digital y ste enva una seal digital con la temperatura y
la humedad.

Funciona con 3,3 V y 5 V de alimentacin en corriente continua (DC). Durante la


conversin, la corriente mxima es de 2,5 mA. Mide temperaturas desde 0 C hasta 50 C
con 5% de precisin (es de media precisin), es decir, 2C de precisin. Su rango de

Pgina 12
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

humedad va desde 20% hasta 80% con 5% de precisin. Su velocidad de muestreo no es


mayor a 1 Hz, es decir, toma 1 muestra por segundo. Devuelve la medida en C. En un
circuito, la lectura debe hacerse con las entradas digitales del Arduino.

Sus pines se distribuyen de esta manera:

El pin 3 no se utiliza (no se conecta, NC). Se debe de colocar una resistencia de 10 k


entre VCC (pin 1) y pin de salida de datos (pin 2, Data), para colocarlo en pull up y que la
lectura se haga sin problemas. La resistencia pull up o resistencia de polarizacin tiene uno
de sus terminales al positivo de la fuente de alimentacin VCC y reduce el voltaje de esa
fuente. En este caso, se usa para elevar el voltaje de salida del DHT11.

Su formato de presentacin es una pequea caja de plstico de 15,5mm x 12mm x 5,5mm,


con una rejilla para obtener las lecturas del aire que la rodea. Utiliza un nico pin digital de
salida, es decir, proporciona una salida de datos digital. Esto supone una ventaja frente a los
sensores analgicos, como el LM35, en los cuales las fluctuaciones en el voltaje alteran la
lectura de datos. Una de sus desventajas es que solo lee enteros.

Para iniciar la comunicacin con el DHT11, se manda una seal en bajo (0 lgico) de al
menos 18 s desde el arduino (MCU, microcontrolador). El sensor responde con un pulso en
bajo (0 lgico) de 80 s seguido de un pulso en alto de 80 s.

Pgina 13
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

El DHT11 le enva una seal de respuesta de 40 bits (5 bytes) con la temperatura y la


humedad del ambiente. El sensor enva el bit ms significativo al inicio. Una vez que el
sensor enva los 40 bits, entra en modo de bajo consumo hasta que recibe otra seal de inicio
del Arduino.

La codificacin de datos est basada en un esquema de ancho de pulso. Un pulso ancho


(70 s) representa un 1 lgico y un pulso corto (26-28 s) representa un 0 lgico.

El sensor DHT11 transmite la informacin a travs de una lnea de datos con su propio
protocolo. Cada proceso completo dura 4 ms. Los 5 bytes de cada lectura se dividen en:

Primer byte. Parte entera de la humedad relativa RH.

Segundo byte: Parte decimal de la humedad relativa RH (no aplicable en nuestro


DHT11, porque es siempre 0, sin decimales).

Tercer byte. Parte entera de la temperatura.

Cuarto byte. Parte decimal de la temperatura (no aplicable en nuestro DHT11,


siempre es 0).

Quinto byte. Es una suma de comprobacin de los bytes anteriores (checksum). Se


enva solo si la transmisin de datos es correcta.

6.10. Conector RJ-45

Es el conector utilizado en los dos extremos del cable para la conexin en s. Se utiliza
para interconectar el cable y la tarjeta Ethernet de una computadora.

Es una interfaz fsica utilizada para conectar redes de computadoras con cableado
estructurado (categoras 4, 5, 5e, 6 y 6a). Posee ocho pines o conexiones elctricas, que se
usan como extremos de cables de par trenzado (UTP). Es utilizada con estndares como
TIA/EIA-568-B, que define la disposicin de los pines (patillaje) o wiring pinout.

Se usa en cables de red Ethernet, donde se usan cuatro pares (ocho pines). Tambin se usa
en terminaciones de telfonos (dos pares).

Para que todos los cables funcionen en cualquier red, se sigue un estndar al hacer las
conexiones. Los dos extremos del cable (UTP Categora 4 o 5) llevarn un conector RJ-45
con los colores en el orden indicado. Existen dos maneras de unir el cable de red con su
respectivo terminal RJ-45: el crimpado o pachado se puede hacer de manera manual
(crimpadora de tenaza) o al vaco sin aire mediante inyectado de manera industrial. Hay dos
normas para usar con un hub o switch, la ms usada es la B, en los dos casos los dos lados
del cable son iguales:

Pgina 14
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Los dos tipos de montaje para RJ45 son: cable cruzado y cable directo o paralelo. Se
refieren a cmo se van a configurar los cables de red. El cable directo de red sirve para
conectar dispositivos desiguales, como un computador con un switch o el adaptador de red
con un switch o router. Un cable cruzado interconecta todas las seales de salida en un
conector con las seales de entrada en el otro conector, y viceversa; permitiendo a dos
dispositivos electrnicos conectarse entre s con una comunicacin full dplex (canales de
envo y recepcin simultneos). Se usa cable cruzado para una conexin de dos PCs o para
interconectar hubs o switchs entre s.

Pgina 15
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

6.11. Cable UTP

Los cables de red son aquellos alambres que permiten conectar a las computadoras entre
s o a terminales de redes. A travs de ellos, los bits se trasladan. Los cables de red se pueden
agrupar en las siguientes categoras: cable coaxial, cable de par trenzado y cable de fibra
ptica.

Los cables de par trenzado estn compuestos por dos hilos de cobre entrelazados y
aislados. Se los puede dividir en: apantallados (STP) y sin apantallar (UTP). Los cables STP
son de mayor calidad y proteccin que los UTP. Cada par de hilos es protegido con lminas,
lo que permite transmitir ms datos.

Los UTP se usan para el cableado LAN (Redes de rea local) y sistemas telefnicos. Los
segmentos de los UTP tienen una longitud mxima de 100 metros y estn sujetos a la
interferencia electromagntica.

El tipo de cable UTP se puede dividir en siete categoras especficas:

Categora 1. Se componen de dos pares de polos. Se utiliza para el telfono.


Categora 2. Tiene una tasa mxima de 4 Mbits/seg. Se utilizan para el telfono.
Categora 3. Tiene una velocidad mxima de 10 Mbits/seg. Era el estndar para las
redes corporativas y el hogar.
Categora 4. Tiene una velocidad mxima de 20 Mbits/seg.
Categora 5. Tiene una velocidad mxima de 100 Mbits/seg. Se usa en la mayora de
redes corporativas y del hogar.
Categora 6. Resiste el ruido de interferencias de seal gracias a su blindaje. Alcanza
velocidades de hasta 1 Gigabit/seg. Puede transmitir datos hasta distancias de 100
metros.
Categora 7. Tiene blindaje para cada par de cable individualmente y para el cable
entero. Resiste el ruido de interferencias de seal. Permite transmisiones de una
velocidad de 10 Gigabit/seg.

Pgina 16
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

6.12. Tipos de redes

Las redes segn la cobertura geogrfica se clasifican en LAN, CAN, MAN y WAN.

LAN (Local Area Network, Red de rea Local). Conecta varios dispositivos de red
en una rea de corta distancia determinada por la distancia de propagacin del medio
de transmisin (coaxial hasta 500 metros, par trenzado hasta 90 metros, fibra ptica
decenas de metros y espectro disperso o con infrarrojo decenas de metros). Una LAN
podra estar delimitada por el espacio en un saln o una oficina, pero podra haber
varias LANs en estos mismo espacios. En redes basadas en IP, una LAN es como una
subred. Las LAN utilizan tecnologas como Ethernet para conectividad y protocolos
como Appletalk.

CAN (Campus Area Network, Red de Area Campus). Es una coleccin de LANs
dispersadas geogrficamente dentro de un campus (universitario o una industria)
pertenecientes a una misma entidad en una rea delimitada en kilmetros. Utiliza
tecnologas como Gigabit Ethernet para conectividad a travs de medios de
comunicacin como fibra ptica y espectro disperso.

MAN (Metropolitan Area Network, Red de rea Metropolitana). Es una coleccin


de LANs o CANs dispersas en una ciudad (decenas de kilmetros). Utiliza
tecnologas como Frame Relay para conectividad a travs de medios de comunicacin
como cobre, fibra ptica, y microondas.

WAN (Wide Area Network, Red de Area Local). Es una coleccin de LANs
dispersadas geogrficamente cientos de kilmetros una de otra. Un dispositivo de red
llamado enrutador conecta las LANs a una WAN. Las WAN utilizan tecnologas
como ATM (Asynchronous Transfer Mode) para conectividad a travs de medios de
comunicacin como fibra ptica, microondas, celular y va satlite.

WLAN. Las redes inalmbricas WLAN (Wireless Local Area Network) estn
delimitadas por la distancia de propagacin del medio y de la tecnologa empleada.
En interiores hasta 100 metros y en exteriores varios kilmetros. Utilizan tecnologas
como IEEE 802.11 para conectividad a travs de espectro disperso (2,4 GHz, 5 GHz).

WPAN. Las redes inalmbricas WPAN (Wireless Personal Area Network) estn
delimitadas en distancia ms que las WLANs, desde 30 metros hasta 100 metros en
interiores. Utilizan tecnologas como IEEE 802.15 para conectividad a travs de
espectro disperso o con infrarrojo.

6.13. Protocolo RS-232

El protocolo RS-232 es una norma mundial que rige los parmetros de uno de los modos
de comunicacin serial. Se estandarizan las velocidades de transferencia de datos, la forma
de control que utiliza dicha transferencia, los niveles de voltajes utilizados, el tipo de cable

Pgina 17
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

permitido, las distancias entre equipos, los conectores, etc. Adems de las lneas de
transmisin (Tx) y recepcin (Rx), las comunicaciones seriales poseen otras lneas de control
de flujo (Hands-hake), cuyo uso es opcional segn el dispositivo a conectar. A nivel de
software, la configuracin principal se debe dar a una conexin a travs de puertos seriales.
RS-232 realiza la verificacin de datos o paridad (par, impar o sin paridad) y selecciona la
velocidad en baudios (1200, 2400 o 4800), los bits de parada luego de cada dato (1 o 2) y la
cantidad de bits por dato (7 o 8), que utiliza por smbolo o carcter enviado.

La Norma RS-232 fue definida para conectar una computadora a un modem. Se transmiten
los datos de una forma serie asncrona. Son necesarias seales adicionales, que se definen en
la norma. Las tensiones empleadas estn entre +15 V y -15 V.

Puerta serial full dplex para comunicacin punto a punto a una distancia inferior a 30
metros. Desde 3 hilos hasta 19 hilos.

Este protocolo est disponible en los puertos seriales de la mayora de las computadoras
personales (PC). El primer puerto serial COM1 tiene asignada la interrupcin IRQ4 y sus
registros empiezan en la direccin de la memoria %3F8 hasta la %3FE. Para las mquinas
que tienen un segundo puerto serial COM2, ste tiene asignada la interrupcin IRQ3 y sus
registros se alojan desde las direcciones %2F8 hasta %2FE. Los puertos COM3 y COM4 se
mapean en un espacio diferente de los puertos anteriores, comparten las interrupciones,
COM1 con COM3 y COM2 con COM4.

La siguiente tabla muestra el conector DB9 de 9 pines serie que se encuentra en la mayora
de las PC.
SIGNAL PIN No.
Carrier Detect 1
Receive Data 2
Transmit Data 3
Data Terminal Ready 4
Signal Ground 5
Data Set Ready 6
Request To Send 7
Clear To Send 8
Ring Indicator 9

Pgina 18
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Las seales de la RS-232 son:

Request To Send (RTS). Esta seal se enva de la computadora (DTE) al mdem


(DCE) para indicar que se quieren transmitir datos. Una vez la computadora prende
la seal RTS, espera que el modem decida que esta OK y asienta por la lnea CTS.
Entonces, la computadora empezar a transmitir datos.

Clear To Send (CTS). Afirmado por el mdem despus de recibir la seal de RTS,
que indica que la computadora puede transmitir.

Data Terminal Ready (DTR). Es afirmada por la computadora e informa al mdem


que la computadora est lista para recibir datos.

Data Set Ready (DSR). Es afirmada por el mdem en respuesta a una seal de DTR
de la computadora. La computadora supervisa el estado de esta lnea despus de
afirmar DTR para saber si el mdem est encendido.

Receive Signal Line Detect (RSLD). Esta lnea de control es afirmada por el mdem
e informa a la computadora que se ha establecido una conexin fsica con otro
mdem. Tambin se llama detector de portadora (CD).

Transmit Data (TD). Es la lnea por donde el dato se transmite bit a bit.

Receive Data (RD). Es la lnea por donde el dato se recibe bit a bit.

El protocolo de control de flujo puede ser por hardware (handshaking RTS/CTS) o por
software (XON/XOFF, que no es recomendable porque no se pueden realizar transferencias
binarias). La velocidad del puerto serie debe ser superior que la de transmisin de los datos.
Por ejemplo, para transmisiones de 1200 baudios es recomendable usar 9600.

7. MARCO EXPERIMENTAL

7.1. Descripcin Funcional

Se conecta el Arduino al Ethernet shield W5100 y a los sensores LM35 y DHT11. Se


realiza su programacin y se compila. A travs del servidor Data.SparkFun.com se puede ver
los datos medidos en una base de datos. Tambin se pueden observar grficas.

Pgina 19
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

7.2.Diagrama Funcional

7.3.Requerimientos Tablas

Variable Elemento Valor mnimo Valor promedio Valor mximo


funcional
Temperatura Sensor -30 C 50 C 130 C
analgico
Temperatura Sensor digital 5 C 25 C 45 C
Humedad Sensor digital 25% 50% 75%

7.4. Materiales Comprados Y Elaborados

Materiales a comprar
Material Precio (Bs) Lugar de compra

Arduino UNO 250 SAWER

Shield W5100 120 SAWER


Cable UTP CAT5 2 c/m Uruguay
Conectores RJ45 3 c/u Uruguay
Sensor de temperatura y humedad 20 Uruguay
Sensor LM35 15 Uruguay
Router con conexin 3G y 4G 266 Esteban Arce

Pgina 20
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Materiales que no vamos a comprar

Cables de red

Fuente de 5 [V]

Laptop

Modem VIVA

7.5. Especificaciones

Variable Elemento Dato mnimo Dato Dispositivo


funcional mximo comercial
Temperatura Sensor -55 C 150 C LM35
analgico
Temperatura Sensor digital 0 C 50 C DHT11
Humedad Sensor digital 20% 80% DHT11

7.6.Circuitos Analgicos

7.6.1. Circuito Del LM35

El circuito interno del LM35 es:

Hay tres transistores BJT NPN; dos amplificadores operacionales A1 y A2; dos
resistencias nR1, una resistencia R2 y una resistencia .125 R2; un diodo; y un generador de
corriente i.

Los transistores BJT NPN tienen tres terminales: base, emisor y colector. Se cumple que:

Pgina 21
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

El primer transistor BJT NPN Q1 debido a que su corriente de base est en el orden
de A, tiene un voltaje de base que se calcula con divisor de tensin:

1 1 1
= 1,38 = 1,38 = 1,38
1 + 1 2 1 2
= 0,69

Su voltaje de emisor es Vo.

El segundo transistor BJT NPN Q2 tiene un voltaje de base VB=1,38*VPTAT. Su


voltaje de emisor es Vo.

El tercer transistor BJT NPN tiene voltaje de colector Vc=+Vs. Tiene voltaje de
emisor VE=Vout.

El primer amplificador operacional A1 se comporta como un comparador porque hay


dos voltajes distintos en las entradas inversora y no inversora.

Su salida tiene un voltaje 1,38*VPTAT.


El segundo amplificador operacional A2 se comporta como un comparador porque
hay dos voltajes distintos en las entradas inversora y no inversora.

Aplicando la ley de Corrientes de Kirchhoff:

= ; = + + ; + =

con ID la corriente del diodo, i+ la corriente de la entrada no inversora y i la corriente del


generador de corriente. Teniendo en cuenta que la corriente de la entrada inversora est en el
orden de pA, se puede despreciar y calcular V- con un divisor de tensin:

2 2
= = =
. 125 R2 + R2 1.125 R2 1.125

Las resistencias se oponen al paso de la corriente. Cumplen la ley de Ohm V=R*I.

El diodo deja pasar corriente en un solo sentido. Tienen un voltaje de codo de VD=0,7
V. La corriente que circule por el diodo debido a la ley de Corrientes de Kirchhoff,
ser la suma de las dos corrientes de emisor de los dos primeros transistores BJT
NPN.

El generador de corriente i mantiene en su rama una corriente constante i.

Pgina 22
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

7.6.2. Circuito Del Arduino

El circuito interno del Arduino Uno es:

En esta parte del Arduino Uno:

Hay dos condensadores C7 (100 nF) y C8 (1 F), resistencias (de 10 k), el ATMEGA y
el conector USB para el cable tipo AB.

Pgina 23
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Las resistencias se oponen al paso de la corriente. Cumplen la ley de Ohm V=R*I.

Los condensadores se cargan y descargan. No tienen polaridad. La corriente en el


condensador es:

()
() =

El voltaje del condensador es:

1
() = ()

En esta parte del Arduino Uno:

Hay tres condensadores C4, C5 y C6 (de 100 nF), resistencias (de 1 k), un diodo Led
TX amarillo, un diodo Led RX amarillo y un diodo Led amarillo.

Los diodos Led dejan pasar corriente en un solo sentido y emiten luz. Los diodos Led
amarillos tienen un voltaje de codo de VD=1,6 V y una corriente de 5 mA a 10 mA.
En estas partes del Arduino Uno:

Pgina 24
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Hay cuatro condensadores C9, C10, C11 y C12 (de 22 pF), resistencias (de 1 k) y un
diodo Led On verde.

En esta parte del Arduino Uno:

Hay dos condensadores C1 (de 100 nF) y C3 (de 1 F), dos amplificadores operacionales
(LM358D) y resistencias (de 10 k).

Se observa un divisor de tensin en entrada no inversora del amplificador operacional U1A:

10 10
+= = =
10 + 10 20 2

El primer amplificador operacional U1A se comporta como un comparador porque hay


dos voltajes distintos en las entradas inversora y no inversora.

El segundo amplificador operacional U1B se comporta en modo comn porque las


entradas inversora y no inversora estn conectadas ambas a tierra (0 V).

En esta parte del Arduino Uno:

Pgina 25
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Hay un condensador C2 (100 nF), un diodo y dos condensadores electrolticos (47 F).

El diodo deja pasar corriente en un solo sentido. Tienen un voltaje de codo de VD=0,7 V.

Los condensadores electrolticos tienen polaridad.

En esta parte del Arduino Uno:

Hay un amplificador operacional (LM358D) y dos resistencias (de 10 k).

Un LM358 tiene 8 pines distribuidos de esta manera:

Se observa un divisor de tensin en entrada no inversora del amplificador operacional


U1A:

10 10
+= = =
10 + 10 20 2

El primer amplificador operacional U1A se comporta como un comparador, porque hay


dos voltajes distintos en las entradas inversora y no inversora.

Pgina 26
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

8. MARCO CRTICO

8.1. Procedimientos

8.1.1. Procedimiento DH_T11_LM35

En este cdigo buscamos mostrar en pantalla los datos captados por los sensores
LM35 y DHT11, para ello buscamos una librera para el sensor digital DHT11que
nos ayudara a realizar nuestro programa (entramos a la pgina
http://playground.arduino.cc/Main/DHT11Lib) y para el sensor analgico LM35
creamos el cdigo usando la ecuacin temp = (5.0 * analogRead(tempPin) * 100.0) /
1024; (de la pgina http://playground.arduino.cc/Main/LM35HigherResolution).

Definimos el PIN3 para usarla como entrada de datos del DHT11 en los pines
digitales y el PIN A2 para los datos de entrada del LM35 en los pines analgicos en
void setup ().

En void loop () usamos la ecuacin para transformar los datos que entran del sensor
LM35 en grados centgrados.

CIRCUITO DETECTOR DE TEMPERATURA Y HUMEDAD

Pgina 27
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CDIGO ARDUINO

// Example testing sketch for various DHT humidity/temperature sensors


// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 3 // what digital pin we're connected to

// Uncomment whatever type you're using!


#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V


// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor.


// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
int val;
int tempPin=1;
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
pinMode(A2,INPUT);
dht.begin();
}

void loop() {
// Wait a few seconds between measurements.
delay(2000);

val = analogRead(A2);
float mv = ((analogRead(A2)/1024.0)*5000)/10;
float cel = mv/10;
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();

Pgina 28
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

// Read temperature as Celsius (the default)


float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);

// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}

// Compute heat index in Fahrenheit (the default)


float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);

Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F ");
Serial.print(" *LM35\t");
Serial.print("TEMPERTURA A: ");
Serial.print(cel);
Serial.print(" *C ");
Serial.println ();
}

8.1.2. Procedimiento sensoresethernetfinal

Usamos el Phant_Ethernet para poder enviar nuestros datos y almacenarlas en una


nube a la cual se tendr acceso desde cualquier dispositivo ingresando a la pgina
https://data.sparkfun.com y lo buscamos como iot lucho ucb,

Primeramente creamos una cuenta en el https://data.sparkfun.com siguiendo los pasos


que se muestran a continuacin:

Pgina 29
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Hacemos click en CREATE

y nos aparecer la siguiente pgina, la completamos:

Pgina 30
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Una vez realizado este paso nos asignara un publicKey, privateKey y deleteKey los
cuales nos servirn como parmetros de acceso para poder enviar los datos y se nos
puedan mostrar en la pgina.

Ya teniendo el publicKey, privateKey y deleteKey podemos realizar nuestro cdigo


en el Phant_Ethernet.ino.

Escribimos el publicKey en const String publicKey y el privateKey en const


String privateKey.

Definimos el nmero de campos que vamos a utilizar en const byte NUM_FIELDS


en nuestro caso sern 3 y en los definimos en: const String
fieldNames[NUM_FIELDS] = {"tempdht", "humdht", "templm35"};

Incluimos la librera del DHT11 y se definen los pines de la manera que lo explicamos
anteriormente en la parte de Procedimiento DH_T11_LM35.

El IPAddress ip(192,168,0,177); est asignado por defecto en el Phant_Ethernet.

Por ultimo para ver las grafica solo hacemos click en Export to Analog.io

Pgina 31
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Hacemos click en My Collections y tickeamos el nombre del sensor cuya grafica


deseamos ver.

CDIGO ARDUINO

/*****************************************************************
Phant_Ethernet.ino
Post data to SparkFun's data stream server system (phant) using
an Arduino and an Ethernet Shield.
Jim Lindblom @ SparkFun Electronics
Original Creation Date: July 3, 2014

This sketch uses an Arduino Uno to POST sensor readings to


SparkFun's data logging streams (http://data.sparkfun.com). A post
will be initiated whenever pin 3 is connected to ground.

Before uploading this sketch, there are a number of global vars


that need adjusting:
1. Ethernet Stuff: Fill in your desired MAC and a static IP, even
if you're planning on having DCHP fill your IP in for you.
The static IP is only used as a fallback, if DHCP doesn't work.
2. Phant Stuff: Fill in your data stream's public, private, and
data keys before uploading!

Hardware Hookup:
* These components are connected to the Arduino's I/O pins:
* D3 - Active-low momentary button (pulled high internally)
* A0 - Photoresistor (which is combined with a 10k resistor
to form a voltage divider output to the Arduino).
* D5 - SPST switch to select either 5V or 0V to this pin.
* A CC3000 Shield sitting comfortable on top of your Arduino.

Pgina 32
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Development environment specifics:


IDE: Arduino 1.0.5
Hardware Platform: RedBoard & PoEthernet Shield

This code is beerware; if you see me (or any other SparkFun


employee) at the local, and you've found our code helpful, please
buy us a round!

Much of this code is largely based on David Mellis' WebClient


example in the Ethernet library.

Distributed as-is; no warranty is given.


*****************************************************************/
#include <SPI.h> // Required to use Ethernet
#include <Ethernet.h> // The Ethernet library includes the client
//#include <progmem.h> // Allows us to sacrifice flash for DRAM

#include "DHT.h"
#define DHTPIN 3
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
///////////////////////
// Ethernet Settings //
///////////////////////
// Enter a MAC address for your controller below.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(54,86,132,254); // numeric IP for data.sparkfun.com
char server[] = "data.sparkfun.com"; // name address for data.sparkFun (using DNS)
// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192,168,0,177);

// Initialize the Ethernet client library


// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

/////////////////
// Phant Stuff //
/////////////////
const String publicKey = "5JoQRLw7oRcL36G6qY5w";
const String privateKey = "7B89AKJm8AcD5dWdE4Nw";
const byte NUM_FIELDS = 3;

Pgina 33
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

const String fieldNames[NUM_FIELDS] = {"templm35", "tempdht", "humdht"};


String fieldData[NUM_FIELDS];

//////////////////////
// Input Pins, Misc //
//////////////////////
const int lightPin = A2;
String name = "Ether-anon";
boolean newName = true;

void setup()
{
Serial.begin(9600);
pinMode(A2,INPUT);
dht.begin();
// Set Up Ethernet:
setupEthernet();
}

void loop()
{
float val = analogRead(A2);
float mv = ((analogRead(A2)/1024.0)*5000)/10;
float cel = mv/10;
float h = dht.readHumidity();
float t = dht.readTemperature();
// Gather data:
fieldData[1] = String(t);
fieldData[0] = String(h);
fieldData[2] = String(cel);

Serial.println("Posting!");
postData(); // the postData() function does all the work,
// check it out below.

delay(5000);
}

void postData()
{
// Make a TCP connection to remote host
if (client.connect(server, 80))
{
// Post the data! Request should look a little something like:

Pgina 34
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

// GET /input/publicKey?private_key=privateKey&light=1024&switch=0&name=Jim
HTTP/1.1\n
// Host: data.sparkfun.com\n
// Connection: close\n
// \n
client.print("GET /input/");
client.print(publicKey);
client.print("?private_key=");
client.print(privateKey);
for (int i=0; i<NUM_FIELDS; i++)
{
client.print("&");
client.print(fieldNames[i]);
client.print("=");
client.print(fieldData[i]);
}
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(server);
client.println("Connection: close");
client.println();
}
else
{
Serial.println(F("Connection failed"));
}

// Check for a response from the server, and route it


// out the serial port.
while (client.connected())
{
if ( client.available() )
{
char c = client.read();
Serial.print(c);
}
}
Serial.println();
client.stop();
}

void setupEthernet()
{
Serial.println("Setting up Ethernet...");
// start the Ethernet connection:

Pgina 35
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

if (Ethernet.begin(mac) == 0) {
Serial.println(F("Failed to configure Ethernet using DHCP"));
// no point in carrying on, so do nothing forevermore:
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, ip);
}
Serial.print("My IP address: ");
Serial.println(Ethernet.localIP());
// give the Ethernet shield a second to initialize:
delay(1000);
}

8.2.Pruebas y Resultados

8.2.1. DH_T11_LM35

Programa corriendo en el arduino

Nota: Podemos observar como corre el programa en la carpeta videos con el nombre: video
prueba de sensores y medicin de la temperatura

Pgina 36
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

8.2.2. sensoresethernetfinal

En el data.sparkfun

Las 3 graficas en el analog.io

Nota: Los procedimiento ms detallados pueden ser observados en la carpeta Explicacin


detallada de todo el proyecto que se encuentra dentro de la carpeta Videos

Pgina 37
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

9. APLICACIONES

Transporte: En los diferentes medios de transporte se requiere tener un control


confiable de la temperatura, ya sea por comodidad o por el tipo de carga que se lleva,
como pueden ser alimentos, productos qumicos, etc.

Maquinaria o equipos: Compresores, sistemas hidrulicos, maquinaria industrial,


robtica, reactores qumicos, nucleares, etc. Es decir, en los diferentes campos de la
industria en los que constantemente se aplican procesos que exigen un control preciso
de las temperaturas involucradas.

Aire acondicionado y refrigeracin: En la vida cotidiana se necesita


constantemente un control adecuado de la temperatura del ambiente, por ejemplo
mediante el aire acondicionado, la refrigeracin o la calefaccin en diferentes lugares
dependiendo de la necesidad.

10. CONCLUSIONES

Logramos cumplir con nuestros objetivos propuestos usando el Arduino, un Ethernet


shield W5100 y los sensores LM35 y DHT11. Usando los sensores se pudieron medir
temperatura y humedad actuales.

Se aprendi el lenguaje del Arduino y como programarlo para poder aplicarlo al


proyecto.

Se aprendi a programar el Ethernet shield W5100 para poder enviar datos a la nube.

Una vez estudiados los estndares, construimos nuestros propios cables de red.

A travs del servidor Data.SparkFun.com, se puede ver las mediciones de temperatura


y humedad en una base de datos. Adems haciendo click en Analog.io podemos
apreciar las grficas que deseemos.

Se pudieron observar desde cualquier dispositivo (laptop, celular, tablet...) con


Internet los datos y las grficas de temperatura y humedad.

11. RECOMENDACIONES

Recomendamos tener mucho cuidado al realizar el cdigo para enviar los datos
captados por los sensores a la nube, ya que si no se colocan los parmetros adecuados
no nos llegara ningn dato, en especial escribir bien el publicKey y el privateKey.

Pgina 38
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

12. BIBLIOGRAFIA

http://www.studioseed.net/blog/software-blog/open-hardware/internet-de-las-cosas-
iot-y-arduino/

http://davgeek.com/tutorial-internet-of-things-con-arduino/

https://es.wikipedia.org/wiki/RJ-45

http://www.tiposde.org/informatica/519-tipos-de-cables-de-red/

http://www.zonasystem.com/2012/03/diferencias-categorias-y-tipos-de.html

http://www.zonasystem.com/2010/03/codigos-de-colores-para-cables-de-red.html

https://es.wikipedia.org/wiki/LM35

http://web.archive.org/web/20111109115042/http://www.national.com/ds/LM/LM3
5.pdf

http://panamahitek.com/dht11-sensor-de-humedadtemperatura-para-arduino/

http://www.prometec.net/sensores-dht11/

http://bot-boss.com/lectura-de-humedad-y-temperatura-con-dht11-y-arduino/

https://sites.google.com/site/arduinobasicoparadocentes/componentes-
basicos/placa-arduino-y-sus-partes

http://www.studioseed.net/blog/software-blog/open-hardware/internet-de-las-cosas-
iot-y-arduino/

http://es.slideshare.net/assdl/taller-de-introduccin-a-arduino-festicval-2012

http://electronilab.co/tienda/ethernet-shield-con-wiznet-w5100-internet-para-
arduino/

http://rdedatos.tripod.com/rs232.htm

http://www.eveliux.com/mx/Redes-LAN-CAN-MAN-y-WAN.html

Pgina 39
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

http://automatizacionindustrialiue.blogspot.com/2012/02/sensores-de-
temperatura.html

https://1dev.de/ethernet-shield-w5100-server-is-at-0-0-0-0/226/

http://blogembarcado.blogspot.com/2013/06/simulino-v20-biblioteca-para-
proteus.html

https://github.com/adafruit/DHT-sensor-library

Pgina 40
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

Pgina 41
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CRONOGRAMA DE ACTIVIDADES

Estudiantes: Lpez Valencia Luis Carlos


Heredia Vargas Denis Jaime
Docente : Mgr. Dorado Ponce de Len Jos Luis
Materia : Electrnica Analgica
Carrera : Ingeniera de Telecomunicaciones
Ttulo del proyecto: IOT con ARDUINO UNO

Fecha Actividades
07/04/16 Recopilacin de informacin para realizar primer Word y Power Point.
12/04/16 Subir a Dropbox documentos Word y Power Point de primera versin del
proyecto.
Exposicin en clase del informe.
Del Presentaciones en clase.
13/04/16 Bsqueda de informacin.
al Compra de los materiales para la implementacin del proyecto.
01/06/16 Implementacin del proyecto.
Desarrollo de la presentacin.
Desarrollo del informe.
Del Exposicin previa a la Presentacin Final.
31/05/16 Entrega documentos del Proyecto ya terminado.
al Elaboracin del banner para la feria.
02/05/16
03/06/16 Presentacin Final del Proyecto en feria.
14/06/16 Entrega de CD con toda la documentacin requerida.

Pgina 42
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CHULETA ARDUINO

Pgina 43
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

RESULTADOS OBTENIDOS EL DA DE LA FERIA

Pgina 44
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CIRCUITOS IMPRESOS

Circuito Impreso parte de abajo

Circuito Impreso parte de arriba

Pgina 45
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CIRCUITO CONECTADO AL ARDUINO

ZONA DE EXPOSICIN

Pgina 46
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

BANNER

Pgina 47
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

EQUIPOS Y MATERIALES UTILIZADOS

Modem y Router

Pgina 48
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

CDIGO ARDUINO

paso1 cdigo

Pgina 49
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

paso2 cdigo

Pgina 50
IOT CON ARDUINO
Lpez Valencia Luis Carlos; Denis Jaime Heredia Vargas
telecomlopez@gmail.com ; denis10894@hotmail.com

paso3 cdigo

Pgina 51

You might also like