Descargar

Ejemplo para los led C++ (encendido y apagado)

Enviado por ybar


Partes: 1, 2

  1. Resumen
  2. Introducción
  3. Especificaciones del proyecto

Resumen

El proyecto consiste en recrear una casa inteligente con varias de las funciones más controladas por un micro controlador. Entre las variables controladas en la casa son la luz. Esta es controlada por 8 led diferentes.

El presente proyecto está clasificado dentro de este interesante área de la domótica. Se trata del diseño de un dispositivo doméstico que controla el encendido y apagado de un interruptor que se conecta a una bombilla de la propia vivienda. Dicho control se lleva a cabo recibiendo señales digitales enviadas desde un ordenador hasta el dispositivo ordenando encender o apagar dicha bombilla. Por tanto se han realizado dos módulos, uno emisor conectado a un ordenador y a la red eléctrica (realizado por Roger Ybar Yana), y otro receptor, conectado a una bombilla y a la red eléctrica

Introducción

El proyecto "Equipo para Domótica basado en el lenguaje c: Interruptor" trata de elaborar un módulo doméstico receptor que controla el encendido y apagado de un interruptor conectado a una bombilla de una vivienda. El módulo recibe señales digitales enviadas desde un ordenador a través de la red eléctrica convencional de la vivienda. El módulo decodifica la orden recibida y actúa encendiendo o apagando la luz.

La evolución marca el ritmo de la vida y las casas tampoco pueden escapar a ella. De la cueva con fuego, para calentar e iluminar, a las antorchas, las velas, el candil y por último: la electricidad.

La electricidad nos ha permitido elevar el nivel de confort en nuestras casas y ha dado paso a la entrada de los electrodomésticos: lavadora, refrigerador, lavavajillas, horno, en incluso máquinas capaces de realizar tareas cotidianas de forma casi autónoma (aun queda por solucionar la carga y descarga de las mismas), elevando nuestro nivel de confort a cotas en otro tiempo inimaginables.

Estas máquinas no existirían sin el desarrollo de una nueva evolución: la electrónica, permitiendo realizar programaciones (rutinas), que regulan cada proceso (lavado en frio, grabación de un video).

La siguiente evolución que ha llegado es la: Domótica, que se encarga de la integración y regulación de ambos sistemas (eléctricos y electrónicos), de tal manera que "la casa" es capaz de "sentir" (detectar la presencia de personas, la temperatura, el nivel de luz) y reaccionar por sí sola, a estos estímulos (regulando el clima, la iluminación, conectando la alarma), al mismo tiempo que es capaz de comunicarse e interactuar con nosotros (telecontrol) por multitud de medios (pantalla táctil, PC, móvil), llegando a elevadas cotas de confort, seguridad y sobretodo: ahorro energético.

La razón principal de la existencia de casas inteligentes o viviendas domóticas es el incremento de localidad de vida, ya que los habitantes de una casa equipada con tecnologías integradas disfrutan de mayor comodidad, seguridad, confort, información, y racionalización del consumo energético.

Una casa inteligente simultáneamente usa la electricidad, la electrónica y la informática, para crear un diseño arquitectónico propio, de tal manera que las personas que la habitan disfruten de mayores comodidades. comunicaciones y automatización.

ÁPÍTULO I

Especificaciones del proyecto

1.1 Definición del problema

En nuestro país el problema que se presenta es que casi no se desarrolla tecnología propia por lo que estamos atrasados en este aspecto con respecto a otros países; de una casa inteligente ya que esta tecnología tiene un gran futuro en todos los países desarrollados y en vías de desarrollo como es el caso de Argentina. Esta problemática de falta de tecnología propia es una característica muy poco disimulada actualmente en nuestro país ya que sólo nos hemos convertido en consumidores de tecnología y no en productores. La Domótica es una tecnología nueva que proporciona seguridad y confort a las personas y creo que ésta es una gran oportunidad para que nuestro país empiece a ser productor de tecnología. Cabe señalar que este proyecto no consiste en implementar un sistema Demótico completo, sino sólo controlar y visualizar el estado de algunos dispositivos representados en la

Maqueta.

edu.red

Motivo se construirá una casa a escala (maqueta) para poner sobre la misma los dispositivos.

El lenguaje de programación para este proyecto es C++ para la construcción otros elementos ya sean de la misma casa o externos.

También se contará con un panel de control para que

OBJETIVOS GENERALES

Los objetivos generales de este proyecto son realizar un sistema de administración y control de los elementos del hogar, el análisis de las distintas tecnologías y su funcionamiento.

OBJETIVOS ESPECÍFICOS

– Análisis y exploración de componentes para las interconexiones entre dispositivos y el servidor.

– Diseño de la infraestructura de acceso e intercambio de información basado en la web.

– Diseño de una interfaz de control interactiva.

– Diseño de la aplicación sobre la infraestructura Domótica basándose en los aspectos de automatización de tareas domésticas, así como la operación y mantenimiento de las instalaciones de la casa.

– Conclusiones.

ALCANCES

– el desarrollo de las actividades y el resultado obtenido óptimamente.

– La recreación de la casa servirá para ver la interacción de los distintos dispositivos conectados mediante la placa controladora capaz de detectar cambios de estados y reportarlos a través de señales.

– Finalmente la aplicación completa del sistema funcionando correctamente y su respectiva documentación.

– preparación de los estudiantes del manejo de HARDWARE SOFTWARE y sobre todo el lenguaje C++

LIMITACIONES

– Se limitó el tema de seguridad a ingresar usuario y password, la seguridad se deja en manos de la tecnología.

– No se implementaron todos los dispositivos de un hogar completo sino sólo la recreación de algunos dispositivos a modo de comprender y mostrar el funcionamiento del sistema.

– Este software se implementó en el sistema operativo Windows XP Profesional Edition debido a que es el sistema con el que cuenta la computadora de desarrollo, además este sistema puede correr en cualquier computadora con sistema operativo Windows con IIS.

– La recreación se llevará a cabo usando una computadora personal corriendo ahí mismo el servidor y el cliente y si las instalaciones de la Universidad lo permite se podría elegir cualquier PC (Personal Computer) conectada a nuestro servidor (PC portátil).

– La placa controladora será conectada a cada dispositivo (entradas) y al servidor (salida).

HARDWARE

– Computadora Vaio de Sony, Pentium IV a 2.4 GHz. con 512 MB en RAM.

– Placa controladora

Algo muy importante de resaltar es que la placa controladora que se utilizará para interconectar los distintos dispositivos tiene un precio bastante económico, lo cual nos da una perspectiva de que se pueden desarrollar sistemas domóticos de bajo costo, lo cual permitiría ser más accesible a un número mayor de personas.

Descripción del Módulo:

A continuación se visualiza el módulo y los cables para su interconexión:

edu.red

Las especificaciones eléctricas del módulo son las siguientes:

? La alimentación del módulo es de 220V

? Las salidas del tomacorriente son de 220V

? 10 A de corriente máxima por cada salida

? Circuito de conexión al puerto paralelo

Para el máximo aislamiento del PC.

Diagrama del circuito electrónico

Circuito de entradas al puerto paralelo:

Circuitos de salidas del puerto paralelo:

Nota: en las salidas sólo se esquematizaron los circuitos correspondientes a la conexión de un pin; para utilizar las 8 salidas del puerto paralelo tienen que ser construidos 8 circuitos idénticos.

SOFTWARE

– C++: se utilizará para la compilación y ejecución de los programas hechos.

– Sistema operativo Windows XP Profesional Edition: es el sistema operativo en el que trabajaré para desarrollar e implementar mi proyecto y sobre todo el programa compatible portalk.

ANÁLISIS DEL ESTADO DEL SISTEMA

El desarrollo de casas inteligentes ha tenido una gran variedad de aspectos para analizar desde precios, tecnologías, dispositivos a conectar, etc.

En este proyecto se usará tecnología propia. Al utilizar tecnología propia en el desarrollo al trabajo le dará mayor valor.

A continuación mencionaré las tecnologías que más se utilizan en la actualidad en la Domótica como una referencia al proyecto que estoy realizando: eléctricas de la vivienda, por lo tanto ya no es necesario tender nuevos cables para conectar dispositivos.

METODOLOGIA DE CONSTRUCCIÓN

Para comenzar nuestro proyecto primero definimos las variables de lo que íbamos a controlar.

– Primera variable: El encendido de luces por medio de LED.

– C++ y ensamblador.

El realizar los circuitos ya en la placa fue algo muy complicado ya que fue la primera vez que los hacíamos y por esto realizamos muchos circuitos y perdimos muchos componentes hasta poder realizar circuitos perfectos y un soldado perfecto y comprobar que los circuitos funcionaban correctamente.

– Circuito para controlar la intensidad de luz de la casa

– Circuito principal donde se encuentra montado nuestro PIC

– Circuito para los led de presencia

La realización de la maqueta donde se colocan los circuitos también fue algo complicado ya que este trabajo se tiene que hacer con mucha delicadeza así con la misma que tuvimos para realizar los circuitos.

Armado de la maqueta

edu.red

Después de tener todo, colocamos los led de luz dentro de la casa para realizar las primeraspruebas.

FIG. Led de luz dentro de la habitación

edu.red

Fig. Led de presencia en la entrada principal de la casa

edu.red

Al realizar las primeras pruebas nos dimos cuenta que había algunas cosas que modificar por lo que no a realizarles pruebas a cada circuito y nuestra programación fue revisada de nuevo. conexiones respectivamente a nuestros circuitos con cable plano.

RESULTADOS OBTENIDOS

Al finalizar nuestro proyecto, obtuvimos un prototipo de lo que podría ser una casa inteligente. Se construyo una casa la cual consta de 6 led de presencia los cuales hacen que se prenda la luz de las habitaciones como también se apaguen.

O como también se prendan todos o se apaguen todos

– Una sala

– Una cocina

– Un dormitorio B

– Un dormitorio A

– Un pasillo

– Un baño

Este proyecto necesito de una inversión un poco mayor a la que habíamos considerado, ya que perdimos mucho material en las pruebas y en el armado de los circuitos.

Resultados obtenidos de la casa inteligente con el programa C++

PUERTO PARALELO

Descripción del funcionamiento del puerto paralelo

La función de cada terminal del conector DB-25 se muestra en la figura. Las señales que ocupan esas terminales se pueden dividir en cuatro grupos básicos: tierras, salidas de datos, entradas de diálogo y salidas de dialogo. En la figura, las tierras se indican con círculos, las entradas de diálogo se indican con flechas que apuntan al conector y las salidas (tanto de datos como de diálogo) tienen flechas que apuntan hacia afuera del conector. (Note que algunas de las líneas tienen una abreviatura convencional que se indica entre paréntesis.)

Conector DB-25, provisto en la mayoría de las computadoras IBM compatibles. Las flechas que apuntan

hacia fuera del conector DB-25 son salidas, las que apuntan hacia adentro, entradas. Los terminales restantes, señalados con círculos, son tierras.

Líneas de tierras y de datos

Las tierras cumplen dos funciones: la primera es que vinculan las tierras de señal de los dos dispositivos que se interconectan de modo que puedan compartir una tierra común como referencia para la señal.

La otra es que, puesto que, la conexión entre los dos dispositivos se realiza a menudo mediante un cable tipo cinta, las tierras (llamadas muchas veces retornos de tierra en este contexto) actúan como blindajes de las líneas más importantes. Por ejemplo, el conductor conectado al terminal 19 de un cable de cinta apantalla a la 6 de la 7, y viceversa. Esto impide que las señales D4 afecten capacitivamente la línea D5, y viceversa. En los cables de calidad que no se hacen de tipo cinta, cada retorno de tierra se retuerce alrededor de una línea de señal formando un par retorcido, para proporcionar un poco de blindaje.

Como su nombre lo indica, la salida de datos transfiere información desde la computadora a un periférico en paralelo. Esto se hace con ocho bits (un byte) por vez utilizando los terminales 2-9. DO se considera el bit menos significativo (LSB) y D7 el más significativo (MSB). (Nota: algunas computadoras emplean las designaciones D1 -D8 en lugar de D0-D7).

Los bits, como también las demás señales, se representan mediante niveles de tensión TTL convencionales: una señal entre 2,4 y 5 voltios es un nivel alto o 1 binario. Cualquier señal entre 0,8 y 2,4 voltios se considera dato no válido.

Introducción:

Ŭ puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores, relés, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente.

Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero con muy poco dinero se le puede adicionar una tarjeta con un segundo puerto paralelo (LPT2).

En reglas generales la dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente en el setup de la PC o bien en el cartel que generalmente la PC muestra en el momento del booteo. Puede darse el caso que el LPT1 asuma la dirección 0x3BC (956 en decimal) y el LPT2 0x378, en ese caso habrá que tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea posible. De lo contrario se puede modificar el software que veremos mas adelante para aceptar esas direcciones.

Breve descripción del puerto paralelo:

El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y señales utilizadas podemos ver en la siguiente figura:༯font>

edu.red༯font>

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la dirección hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se deberán escribir los ocho bits nuevamente.

Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la dirección hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la dirección 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura será devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15.

En la siguiente tabla se puede ver lo antedicho en una forma más gráfica:

edu.red

Conceptos básicos༯font>

ࠠࠅxisten dos métodos básicos para transmisión de datos en las computadoras modernas. En un esquema de transmisión de datos en serie un dispositivo envía datos a otro a razón de un bit a la vez a través de un cable. Por otro lado, en un esquema de transmisión de datos en paralelo un dispositivo envía datos a otro a una tasa de n número de bits a través de n número de cables a un tiempo. Sería fácil pensar que un sistema en paralelo es n veces más rápido que un sistema en serie, sin embargo ésto no se cumple, básicamente el impedimiento principal es el tipo de cable que se utiliza para interconectar los equipos. Si bién un sistema de comunicación en paralelo puede utilizar cualquier número de cables para transmitir datos, la mayoría de los sistemas paralelos utilizan ocho líneas de datos para transmitir un byte a la vez, como en todo, existen excepciones, por ejemplo el estándar SCSI permite transferencia de datos en esquemas que van desde los ocho bits y hasta los treinta y dos bits en paralelo. En éste artículo nos concentraremos en transferencias de ocho bits ya que ésta es la configuración del puerto paralelo de una PC.

Un típico sistema de comunicación en paralelo puede ser de una dirección (unidireccional) o de dos direcciones (bidireccional). El más simple mecanismo utilizado en un puerto paralelo de una PC es de tipo unidireccional y es el que analizaremos en primer lugar. Distinguimos dos elementos: la parte transmisora y la parte receptora. La parte transmisora coloca la información en las líneas de datos e informa a la parte receptora que la información (los datos) están disponibles; entonces la parte receptora lee la información en las líneas de datos e informa a la parte transmisora que ha tomado la información (los datos). Observe que ámbas partes sincronizan su respectivo acceso a las líneas de datos, la parte receptora no leerá las líneas de datos hasta que la parte transmisora se lo indique en tanto que la parte transmisora no colocará nueva información en las líneas de datos hasta que la parte receptora remueva la información y le indique a la parte transmisora que ya ha tomado los datos, a ésta coordinación de operaciones se le llama acuerdo ó entendimiento. Bién, en éstos ámbitos tecnológicos es recomendable utilizar ciertas palabras en inglés que nos permiten irónicamente un mejor entendimiento de los conceptos tratados. Repito: a la coordinación de operaciones entre la parte transmisora y la parte receptora se le llama handshaking, que en español es el acto con el cual dos partes manifiestan estar de acuerdo, es decir, se dan un apretón de manos.

El hardware del puerto paralelo༯font>

ࠠࠅl puerto paralelo de una típica PC utiliza un conector hembra de tipo D de 25 patitas (DB-25 S), éste es el caso más común, sin embargo es conveniente mencionar los tres tipos de conectores definidos por el estándar IEEE 1284, el primero, llamado 1284 tipo A es un conector hembra de 25 patitas de tipo D, es decir, el que mencionamos al principio. El orden de las patitas del conector es éste:

edu.red

ࠠࠅl segundo conector se llama 1284 tipo B que es un conector de 36 patitas de tipo centronics y lo encontramos en la mayoría de las impresoras; el tercero se denomina 1284 tipo C, se trata de un conector similar al 1284 tipo B pero más pequeño, además se dice que tiene mejores propiedades eléctricas y mecánicas, éste conector es el recomendado para nuevos diseños. La siguiente tabla describe la función de cada patita del conector 1284 tipo A:

edu.red

Escribiendo datos al puerto paralelo༯font>

ࠠࠃon ocho bits podemos escribir en el puerto un total de 256 valores diferentes, cada uno de éstos representa un byte de información y cada byte puede representar una acción concreta que nosotros podemos definir de acuerdo a nuestras necesidades. En éste artículo el objetivo es entender cómo trabajar con el puerto paralelo, por lo tanto hagamos un programa que nos permita escribir un número cualquiera entre 0 y 255 de tal manera que sea posible visualizar el valor en formato binario. En primer lugar consulte la documentación de su compilador para verificar la correcta sintáxis de la función que nos sirve para escribir en el puerto, en el caso específico de Symantec C++, dicha función es outp( ). Ésta función requiere dos parámetros, el primero de tipo unsigned int que especifica la dirección del puerto paralelo, y el segundo de tipo char que especifica el valor a escribir en las líneas de datos de puerto. Una típica llamada a la función outp( ) se parece a ésto:

outp(0x378, 65);

ࠠࠓe aprecia la facilidad de manejo de la función, aunque diferentes compiladores dan a sus respectivas funciones nombres diferentes, la mecánica es la misma, se requieren dos parámetros, la dirección del puerto y el valor a escribir en el puerto. Estudie el siguiente código:

/**********************************************************

* puerto2.c *

* Escribe datos al puerto paralelo de la PC *

**********************************************************/

#include

#include

int puerto(int direcc);

int seleccion;

int main()

{

unsigned int __far *puntero_a_direccion;

int i, direccion[3]={0,0,0}, disponible[3]={0,0,0};

puntero_a_direccion = (unsigned int __far *)0x00000408;

printf("Seleccione el puerto:n");

/* ¿Cuantos puertos existen? *

Partes: 1, 2
Página siguiente 

Comentarios

El comentario ha sido publicado.

 


Trabajos relacionados

Ver mas trabajos de Ingenieria

 

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de edu.red. El objetivo de edu.red es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de edu.red como fuentes de información.

El Centro de Tesis, Documentos, Publicaciones y Recursos Educativos más amplio de la Red. Términos y Condiciones | Haga publicidad en Monografías.com | Contáctenos | Blog Institucional© edu.red S.A.

<!–

Valid XHTML 1.0 Transitional

–>