Sie sind auf Seite 1von 14

UNIVERSIDAD TCNICA PARTICULAR DE LOJA

ELECTRNICA Y TELECOMUNICACIONES

SISTEMAS DIGITALES
INFORME DEL PROYECTO
Profesor: Integrantes:

Tema: Desarrollo de un modelo funcional aplicado a la domtica con arduino.

Introduccin Aunque el ser humano todava no esta arraigado a las propiedades que ofrece la domtica es un hecho que en un futuro estara instalada en cualquier vivienda. Pero que es la domtica? Se podra definir como el conjunto de tecnologas aplicadas al control y la automatizacin inteligente de la vivienda, que permite una gestin eficiente del uso de la energa adems de aportar seguridad, confort, y comunicacin entre el usuario y el sistema. Para poder conseguir las propiedades comentadas anteriormente es necesario que los sistemas recojan la informacin de su entorno con sensores y dispongan de la lgica para actuar en consecuencia utilizando actuadores. Actualmente los sistemas demticos tienen un precio muy alto de instalacin con lo cual solo es posible verlo en casasde lujo. Estos suelen utilizar buses de transmisin de informacin que posibilitan una domtica robusta como son el EIB, X10, CEBus, LonWorks/LongTalk y ZigBee. Una alternativa ms barata y casera consiste en la utilizacin de placas Arduino.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Objetivos

Como objetivo de este proyecto nos hemos propuesto crear un sistema domtica simple utilizando las placas de bajo coste Arduino y otros dispositivos, como sensores, actuadores y comunicadores. Habr que dotar al sistema de la lgica necesaria para que puedan comunicarse las placas que estarn controlando la habitacin en la cual hayan sido instaladas.

El proyecto tiene como fin poner en practica todos los conocimientos adquiridos en el desarrollo de la materia, tanto en el desarrollo analtico y practico.

Marco Terico
Caractersticas bsicas de Arduino .

En este apartado vamos a describir los principales elementos que componen una placa Arduino y el entorno de desarrollo en el que se programa el cdigo, es decir la parte hardware y software que actan sobre Arduino.
Hardware

Al ser Arduino una plataforma de hardware libre tanto su diseo como su distribucin puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia. Por eso existen varios tipos de placa oficiales, las creadas por la comunidad Arduino o las no oficiales creadas por terceros pero con caractersticas similares. En la placa Arduino es donde conectaremos los sensores, actuadores y otros elementos necesarios para comunicarnos con el sistema. En el proyecto se han utilizado las placas que se tenan a disposicin que son Arduino Mega ADK y describiremos a continuacin.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Arduino Mega ADK

Fig1.Parte frontal del arduino Mega ADK.

Fig2.Reverso de la placa.
La board Arduino Mega ADK est basada en la board Mega2560 pero integra adicionalmente un Host USB para conectarla a celulares, o sistemas basados en Android, esta board tiene 54 I/O digital, de los cuales podemos usar 14 PWMs, 16 canales de entradas anlogas, 4 UARTs (hardware serial ports), a 16 MHz. Integra una conexin a USB para programacin, entrada de alimentacin tipo Jack y conector ICSP. Su uso es muy sencillo, solo se requiere conectarla al computador por medio del cable USB y ya est. Aplicaciones: Su principal uso es la creacin o diseo de aplicaciones que requieran interfasar a Arduino con Android, esto implica que desde tu Celular podras controlar servomotores, luces, leds, adquirir datos, enviar datos, entre otros. As que si alguna vez pensaste en usar el alto poder de procesamiento de tu celular, pero estabas limitado por los perifricos de salida, Arduino Mega ADK es una excelente opcin.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Algunas caractersticas importantes caractersticas: Procesador: ATmega2560 Velocidad de reloj: 16Mhz Puertos I/O: 54 Memoria: Flash 256K Modo de programacin: USB por software arduino. Voltaje de entrada: 7-12VDc Voltaje de operacin: 5Vdc

Software
La plataforma Arduino tiene un lenguaje propio que esta basado en C/C++ y por ello soporta las funciones del estandar C y algunas de C++. Sin embargo, es posible utilizar otros lenguajes de programacion y aplicaciones populares en Arduino como Java, Processing, Python, Mathematica, Matlab, Perl, Visual Basic, etc. Esto es posible debido a que Arduino se comunica mediante la transmisin de datos en formato serie que es algo que la mayora de los lenguajes anteriormente citados soportan. Para los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir una comunicacin fluida. Es bastante interesante tener la posibilidad de interactuar con Arduino mediante esta gran variedad de sistemas y lenguajes puesto que dependiendo de cuales sean las necesidades del problema que vamos a resolver podremos aprovecharnos de la gran compatibilidad de comunicacin que ofrece. El entorno de desarrollo de Arduino es sencillo e intuitivo adems puede descargarse gratuitamente desde su pagina oficial para distintos sistemas operativos. Ha sido implementado con Processing, un lenguaje similar a Java. Su ultima version es la 1.5.5 aunque en el proyecto se ha utilizado la 1.5.0. Esta formado por una serie de mens, una barra de herramientas con botones para las funciones comunes, un editor de texto donde escribiremos el cdigo, un rea de mensajes y una consola de texto. En la ilustracin 4 se puede apreciar la composicin del software de Arduino.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Fig3.IDE de Arduino .

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Desarrollo del Proyecto

Una vez que conocimos los elementos bsicos de arduino vamos a empezar con el desarrollo del proyecto el cual se realizara una explicacin por mdulos separados , para poder realizar un detalle completo de los sensores y el funcionamiento de los mismos.

Modulo de temperatura (Lm35) Para el modulo de temperatura utilizamos un sensor Lm35 y una LCD para visualizar la temperatura ambiente .

Para la LCD utilizamos la librera de arduino liquidCristal. La librera LiquidCrystal, permite controlar pantallas LCD que son compatibles con el controlador Hitachi HD44780. Que son la mayora de LCDS que se encuentran en el mercado local , se pueden reconocer normalmente por que poseen una interfaz de 16 pines. La conexin entre arduino y el sensor lm35 es muy fcil debido a que arduino facilita la lectura de seales analgicas , mediante los pines destinados a este fin. El sensor LM35 el cual nos mide una temperatura de -55C a 150C y una precisin de 0.5C a 25C; este sensor es suficientemente completo, se puede utilizar para realizar pequeos inventos o proyectos y que pueden ser realizados en casa.

Para la conexin con arduino se realizo la siguiente conexin de la figura 3.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Fig3.Esquema de conexin LCD + lm35 Arduino.

Descripcin del circuito LCD. El pin RS del LCD conectado a la E/S digital en el pin 12 El pin enable del LCD conectado a la E/S digital en el pin 11. Los pines D4 - D7 conectado a las E/S digitales desde el pin 5 hasta el 2. Los pines de voltaje y tierra conectados a +5V y tierra. El pin Vo, que controla el constraste, conectado a un potencimetro.

Descripcin del circuito lm35. El pin 1 del sensor sensor es Vo. El pin 2 que es la salida analogca se conecta a la entrada A0 de arduino. El pin 3 se conecta a GND.

Para la obtencin de temperatura del sensor lm35 implementamos el siguiente cdigo.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Fig4. Cdigo para realizar el censado de temperatura.

En el cual se puede observar que realizamos con ayuda de un for, la toma de 8 muestras a las cuales se le obtuvo el promedio para as mejorar la precisin . La ecuacin caracterstica del sensor se detalla en el datashett .

Ahora en nuestro caso particular debemos mostrar la temperatura del sensor en la LCD, para esto utilizamos las funciones de la librera, las cuales facilitan el desarrollo del cdigo . El cdigo implementado de este modulo se muestra a continuacin.

Fig5. Cdigo para mostrar el valor de variable tempc en la LCD.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Modulo de intensidad luminosa (LDR). Para este modulo nos basamos en un LDR el cual es sinnimo de "Light Dependent Resistor". Es de tipo sa de resistencia cuyo valor cambia con la intensidad o la cantidad de luz que incide sobre l. A medida que la cantidad de luz que cae sobre l aumenta la su resistencia disminuye y viceversa. Entender por qu sucede requerir entrar en las profundidades de la materia con la que se hace y esto no es realmente un artculo para eso. Sin embargo, hay muchos artculos que va a resolver la cuestin, pero por ahora slo es necesario recordar que el valor de resistencia cambia con la cantidad de luz que cae sobre l. Este modulo tiene una lgica simple, se basa en el hecho de que la intesidad luminosa en la habitacin har que vari la intensidad de luz de una lmpara led , una solucin simple que ideamos es en funcin de la intensidad de luz hacer variar el PWM que controla la intesidad de luz de la lmpara led y as tener una relacin directa entre el sensor y el actuador. Para el desarrollo del algoritmo de control utilizamos dos funciones muy utliles de arduino que son : Map

Re-mapea un nmero desde un rango hacia otro. sto significa que, un valor (value) con respecto al rango Parmetros value: el nmero (valor) a mapear.

fromLow: el lmite inferior del rango actual del valor.

fromHigh: el lmite superior del rango actual del valor.

toLow: lmite inferior del rango deseado.

toHigh: lmite superior del rango deseado.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Devuelve El valor mapeado.

Constrain Descripcin Restringe un nmero a un rango definido. Parmetros x: el nmero a restringir, cualquier tipo de datos.

a: El nmero menor del rango, cualquier tipo de datos.

b: El nmero mayor del rango, cualquier tipo de datos. Retorna x: si x est entre a y b

a: si x es menor que a

b: si x es mayor que b

Para el desarrollo de este modulo se implemento el siguiente codigo.

10

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Fig5. Cdigo para el modulo control de iluminacion.

Modulo de control desde el telfono (Bluethoo). Eldispositivo utilizado es un mdulo bluetooth HC-06 y es compatible con Arduino. Dicho mdulo trabajo mediante conexin serie con el Arduino, y se comunica con el exterior mediante bluetooth, ya sea a travs de un telfono mvil, ordenador, tablet, etc.

Fig6. Dispositivo Bluethooth HC-06. Funciona a 3.3V, Como se ve solo disponemos de 4 pines que son los necesarios, por un lado tenemos VCC que ir conectado a los 3.3V del Arduino, por otro GND que ira al pin GND de Arduino, despus tenemos TXD que ir conectado al pin RXD del Arduino y RXD que ir al pin TXD de Arduino.

11

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES
Para el desarrollo de este modulo se implemento una lgica basada en casos, los cuales responden a datos que llegan via Bluethooth a nuestro Arduino por uno de sus puertos seriales, y dependiendo de el dato que arrive se cumplir la lgica programada.

El cdigo se detalla a continuacin .

Fig7. Cdigo para la comunicacin del dispositivo bluethooth y arduino.

12

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Una vez detallados todos los mdulos se puede mostrar la integracin de cada uno de ellos en un solo cdigo fuente el cual fue el que se implemento en el proyecto .

El cdigo final se adjunta al final del documento.

A continuacin se muestra algunas imgenes del proyecto implementado

13

UNIVERSIDAD TCNICA PARTICULAR DE LOJA


ELECTRNICA Y TELECOMUNICACIONES

Referencias
Ejemplo Blink LCD. [En lnea]. Disponible en: < http://arduino.cc/es/Tutorial/LiquidCrystalBlink> Pagina oficial de Arduino: [En linea] disponible en:<http://www.arduino.cc/ >

Informacin sobre sensores: [En linea] Disponible en :<http://www.ladyada.net/learn/sensors/index.html >

14

Das könnte Ihnen auch gefallen