control de camara

Upload: and8991

Post on 06-Jul-2015

165 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD MAYOR FACULTAD DE INGENIERIA

CONTROLADOR DE UNA CAMARA FOTOGRAFICA DIGITAL A TRAVES DE LA UTILIZACION DE MICROCONTROLADOR

Proyecto de Ttulo para Optar al Ttulo de Ingeniero de Ejecucin Electrnica

MARTIN SEBASTIAN SERRANO DUCLOS

SANTIAGO DE CHILE ABRIL - 2010

UNIVERSIDAD MAYOR FACULTAD DE INGENIERIA

CONTROLADOR DE UNA CAMARA FOTOGRAFICA DIGITAL A TRAVES DE LA UTILIZACION DE MICROCONTROLADOR

Proyecto de Ttulo para Optar al Ttulo de Ingeniero de Ejecucin Electrnica

Alumno Profesor Gua

Martn Sebastin Serrano Ducls Herman Garca Rivadeneira

SANTIAGO DE CHILE ABRIL - 2010

AGRADECIMIENTOS

Quiero agradecer a mis amigos por brindarme sus apoyos incondicional todo este tiempo. A mi profesor gua, por la informacin entregada a lo largo de este proyecto. Quiero agradecer en especial a mi amigo Hans Neumann, por haberme brindado su ayuda en el desarrollo del proyecto. A todos ellos, gracias.

DEDICATORIA

Este proyecto va dedicado desde lo ms profundo de mi corazn a mi familia, que durante este largo camino que recorr desde mi iniciacin en esta universidad hasta el da de mi tesis, por brindarme todo su apoyo, aconsejarme en qu cosas debo hacer y en darme palabras de aliento en este proceso tan importante.

INDICE RESUMEN ABSTRACT CAPITULO I : INTRODUCCION 1.1 INTRODUCCION. 1.1.1 Objetivo General. 1.1.2 Objetivo Especfico. 1.2 CARACTERISTICA DEL PRODUCTO. 1.3 ENTORNO DE TRABAJO. CAPITULO II : ESTUDIOS DE ALTERNATIVAS DE SOLUCION DEL PROBLEMA 2.1 OBJETIVO. 2.2 RESTRICCIONES. 2.3 HARDWARE. 2.3.1 Microcontroladores. 2.3.1.1 PIC 18F452 2.4 SOFTWARE. 2.4.1 C++. 2.4.2 VisualBasic. CAPITULO III : DISEO DEL HARDWARE DEL CONTROLADOR 3.1 INTRODUCCION. 3.2 COMPONENTES DEL DISPOSITIVO. 3.2.1 Regulador de tensin 78L05. 3.2.2 Interruptores y Pulsadores. 3.2.3 Pantalla LCD. 3.2.3.1 Caractersticas esenciales de una pantalla LCD. 3.2.4 Transistor 2N2222. 3.2.5 Cmara. 3.3 CIRCUITO FINAL DEL PROYECTO. 3.3.1 Detalle de cada parte del circuito. 3.4 INTRODUCCION A LAS HERRAMIENTAS USADAS EN EL DESARROLLO DE LA SOLUCION EN HARDWARE. 3.4.1 Proteus. 3.4.2 PIC C Compiler. 3.4.3 Programador universal TOPMAX. 3.4.4 PCBWIZ. 3.5 DIAGRAMA DE FLUJO DEL PROYECTO. 3.5.1 Diagrama y esquema del sistema. 3.5.1.1 Diagrama general. 3.5.1.2 Funcin de Retardo. vi vii 1 1 1 1 2 3

8 8 8 8 9 11 13 13 14 15 15 15 15 16 16 17 18 18 19 19 24 24 24 25 25 26 26 26 28i

3.5.1.3 Funcin Hora Real. CAPITULO IV : DISEO DEL SOFTWARE DEL CONTROLADOR 4.1 DIAGRAMA DE BLOQUE. 4.2 PROGRAMA EN VISUAL BASIC. 4.3 IMPLEMENTACION FISICA. 4.4 APLICACIN EN VISUAL BASIC 4.5 CABLE CONVERSOR DE USB A RS232. 4.6.1 Conector DB9.

30 32 32 32 35 35 36 36

CAPITULO V: COMPARACION ENTRE EL CONTROLADOR DESARROLLADO Y LOS DISPOSITIVOS TC-80n3 DE CANON Y MC-36 DE NIKON Y COSTOS INVOLUCRADOS EN EL PROYECTO 38 5.1 COMPARACION ENTRE LOS DISPOSITIVOS 38 5.2 COSTOS INVOLUCRADOS EN EL PROYECTO. 40 CAPITULO VI : CONCLUSIONES BIBLIOGRAFIA 43 44

ANEXO N 1 : PROGRAMA EN EL PIC A TRAVES DEL COMPILADOR PIC C COMPILER 46 ANEXO N 2 : PROGRAMA EN VISUAL BASIC 74 ANEXO N 3 : HERRAMIENTAS COMPUTACIONALES UTILIZADOS EN EL PROYECTO 90 A.3.1 Proteus. 90 A.3.1.1 Isis. 90 A.3.1.2 Ares. 91 A.3.1.3 Caractersticas generales del programa Proteus. 92 A.3.2 PIC C Compiler 93 A.3.2.1 Entorno. 93 A.3.2.2 Compilador. 94 A.3.2.3 Entorno del programa. 94 A.3.3 TOP MAX. 97 A.3.3.1 Descripcin. 97 A.3.3.2 Caractersticas. 97 A.3.3.3 Componentes soportados. 97 A.3.3.4 Proceso de grabacin del microcontrolador. 98 A.3.4 PCBWiz. 100 A.3.4.1 Diseo del circuito impreso. 100 A.3.5 VISUAL BASIC. 102 A.3.5.1 Interfaz PC dispositivo. 102 A.3.5.2 El puerto serie en Windows. 104ii

ANEXO N 4 : MATERIALES UTILIZADOS EN EL PROYECTO A.4.1 Pantalla LCD. A.4.1.1 Caractersticas generales de una pantalla LCD. A.4.1.2 Patillaje. A.4.1.3 DDRAM. A.4.1.4 Modos de funcionamiento. A.4.2 Comunicacin microcontrolador-PC. A.4.2.1 Patillaje puerto serie y puerto USB. A.4.2.1.1 Caractersticas del patillaje del cable DB9. ANEXO N 5 : DISEO DEL CIRCUITO A TRAVES DEL PROGRAMA PCBWiz A.5.1 Diseo el circuito impreso. A.5.1.1 Partes no fsicas. A.5.1.2 Partes fsicas. A.5.1.3 Producto terminado listo para colocar en placa.

106 106 106 107 108 108 109 111 111

113 113 114 115 115

ANEXO N 6 : MANUAL DE USO DE LOS SISTEMAS (HARDWARE Y SOFTWARE) 117 A.6.1 Hardware. 117 A.6.1.1 Funcin CUENTA REGRESIVA. 118 A.6.1.2 Funcin HORA REAL. 120 A.6.2 Software. 123 A.6.2.1 Instalacin del Driver. 123 A.6.2.2 Instalacin del Software de programacin. 123 A.6.2.3 Desarrollo del programa. 124 A.6.3 Ejemplos de aplicacin con el dispositivo en distintas funciones. 126 A.6.3.1 Para NUMERO DE FOTOS igual a 1 (una sola toma). 126 A.6.3.2 Para NMERO DE FOTOS mayores a 1. 134 A.6.3.3 Para ALMACENAR UN PERFIL en el caso de una misma aplicacin. 144

iii

INDICE DE FIGURAS Figura 1.1 Ejemplo de tiempo de exposicin de corta duracin de aproximadamente 15 minutos. 3 Figura 1.2 Ejemplo de exposicin de aproximadamente 40 minutos. 4 Figura 1.3 Ejemplo de tiempo de exposicin muy largo. 4 Figura 1.4 Ejemplo de una secuencia de tomas que muestran el desarrollo de una flor. 5 Figura 1.5 Reproduccin de una bacteria en un determinado lapsus de tiempo. 7 Figura 2.1 Grfico comparativo de microcontroladores de diferentes marcas. 10 Figura 3.1 Descripcin en bloques de la solucin Hardware. 15 Figura 3.2 Tipos de pulsadores. 16 Figura 3.3 Pantalla LCD de 16x2. 17 Figura 3.4 Crsitales de cuarzo. 19 Figura 3.5 Pulsadores. 20 Figura 3.6 Regulador de tensin LM7805. 21 Figura 3.7 Salida al conector Jack macho. 22 Figura 3.8 Conexin entre el PIC 18F452 y la cmara fotogrfica. 22 Figura 3.9 Conexin entre el PIC y la pantalla LCD. 23 Figura 3.10 Circuito completo de la solucin en Hardware. 23 Figura 3.11 Diagrama de flujo general del proyecto. 27 Figura 3.12 Diagrama de la funcin Hora Retardo del proyecto. 29 Figura 3.13 Diagrama de la funcin Hora Real del proyecto. 31 Figura 4.1 Solucin a travs de una aplicacin en un PC. 32 Figura 4.2 Ventana principal del Software. 33 Figura 4.3 Puerto COM cerrado. 33 Figura 4.4 Puerto COM abierto. 33 Figura 4.5 Seleccin de trabajo a realizar. 34 Figura 4.6 Hora real del PC con el que se est trabajando. 34 Figura 4.7 Comunicacin entre el PC y la cmara. 35 Figura 4.8 Tipos de conectores RS232 a USB2.0 mas comunes. 36 Figura 4.9 Patillaje de conectores macho y hembra en un conector DB9. 37 Figura A.1 Vista principal programa ISIS. 91 Figura A.2 Ventana de inicio programa ARES. 92 Figura A.3 Vista principal del compilador PCW. 94 Figura A.4 Editor de cdigo. 95 Figura A.5 Editor de cdigo con ventana de compilacin. 96 Figura A.6 Programador Topmax para PIC (de cualquier tipo). 98 Figura A.7 Ventana inicio Max Loader. 99 Figura A.8 Secuencia de grabacin del microcontrolador. 99 Figura A.9 Ventana de inicio del programa PCB Wizard. 101 Figura A.10 Pgina de inicio del programa Visual Basic. 103 Figura A.11 Ventana de comprobacin de la correcta instalacin del puerto USB. 103 Figura A.12 Ventana de componentes de Visual Basic. 104iv

Figura A.13 Figura A.14 Figura A.15 Figura A.16 Figura A.17 Figura A.18 Figura A.19 Figura A.20 Figura A.21 Figura A.22 Figura A.23 Figura A.24 Figura A.25 Figura A.26 Figura A.27 Figura A.28 Figura A.29 Figura A.30 Figura A.31 Figura A.32 Figura A.33 Figura A.34 Figura A.35 Figura A.36 Figura A.37 Figura A.38 Figura A.39 Figura A.40 Figura A.41 Figura A.42 Figura A.43

Patillaje de la pantalla LCD. Esquema de asignacin de los pines de la pantalla LCD. Esquema de tipo de cable USB utilizado. Conectores tipo A (izquierda) y tipo B (derecha) del cable USB. Vista alzada y frontal del conector macho USB de los dos tipos. Vista frontal de los conectores USB macho y hembra de los dos tipos. Caractersticas de los pines del puerto serie y del puerto USB. Diseo de la placa con componentes electrnicos. Diseo de placa con las pistas y los componentes electrnicos introducidos. Diseo de la parte trasera del fotolito final que va a la insoladora. Dispositivo terminado Especificacin de los botones del dispositivo. Men principal. Men retardo. Men cuenta. Men intervalo. Mensaje ERROR INTERVALO. Men obturacin. Mensaje ERROR OBTURACION. Men de secuencia de programa. Men de grabacin de datos. Men programacin hora real. Men retardo. Men cuenta. Men intervalo. Men obturacin. Men de secuencia de programa. Men de grabacin de datos. Ventana principal del software. Ajuste en la cantidad de Horas. Mensaje de error al ejecutar el programa.

107 107 109 109 109 110 111 114 115 116 117 117 118 118 119 119 119 119 120 120 120 120 121 121 121 122 122 122 124 124 125

INDICE DE TABLAS Tabla 1 Tabla 2 Tabla 3 Tabla 4 Tabla 5 Tabla 6 Tabla 8 Parmetros operativos del 74LS05. 16 Comparacin entre los 3 productos. 39 Listado de precio de los componentes del diseo fsico del proyecto. 40 Listado de precio de la soldadura del diseo fsico del proyecto. 41 Listado de precio de los componentes del diseo del software del proyecto. 42 Sub total costo mano de obra. 42 Parmetros elctricos del puerto USB. 110

v

RESUMEN El proyecto Controlador de una cmara fotogrfica digital a travs de la utilizacin de Microcontrolador tiene como objetivo crear un dispositivo autnomo capaz de controlar la obturacin de una cmara fotogrfica mediante la utilizacin de un microcontrolador PIC 18F452. El trabajo tambin incluye el desarrollo de una aplicacin de software que ejecuta en un PC las mismas funciones logradas con el microcontrolador, usando Visual Basic versin 6.0 y una comunicacin por puerto USB. En el Captulo I se incluye una breve introduccin al proyecto, se plantean los objetivos generales y especficos del proyecto y, adems, se describe el entorno de trabajo del proyecto. En el Captulo II se estudian alternativan de solucin del problema propuesto, especificando el tipo de hardware y software en el que se basa el diseo. El Captulo III tiene relacin con el diseo de hardware del proyecto. Se especifican todos los componentes que forman parte de la solucin, adems de las herramientas computacionales que se utiliza en la realizacin del proyecto. En el Captulo IV se incluye el diseo de software del proyecto, utilizando el programa Visual Basic versin 6.0. En el Captulo V se efecta una comparacin entre el dispositivo desarrollado y los productos ya existentes en el mercado. Adems se realiza una evaluacin de costos del prototipo del controlador. En el Captulo VI se incluye las conclusiones finales acerca de proyecto y se hablarn sobre distintas aplicaciones propuestas, tanto en el rea de la medicina como en la astronoma. En anexos se detallan todas las caractersticas de los elementos que componen el proyecto. Como resultado final de este proyecto se logr crear dos productos: (a) un dispositivo en hardware y (b) una aplicacin que corre en un PC. Ambos productos ofrecen las mismas prestaciones, esto es, controlar a una mquina fotogrfica digital, permitiendo programar el inicio de operacin, los instantes en que se realizan las tomas, la cantidad de tomas y el tiempo de obturacin. La solucin de hardware desarrollada se compara ventajosamente con dispositivos similares existentes en el mercado ya que su programacin es ms amigable dado que se dise con un display alfanumrico y adems puede almacenar perfiles de programacin que permiten una operacin repetitiva ms eficiente.

vi

ABSTRACT

The objective of the project " Controlador de una cmara fotogrfica digital a travs de la utilizacin de Microcontrolador " is to create a standalone device capable of controlling the shutter of a camera using a microcontroller. The work also includes the development of a software application running in a PC with the same functionality achieved with the microcontroller, using Visual Basic version 6.0 and a USB communication interface. Chapter I includes a brief introduction to the project, its general and specific objectives, and a description of the working environment. In Chapter II, alternative solutions of the proposed problema are studied, specifiying the kind of hardware and software in wich the design is based. Chapter III is devoted to the hardware design of the project. All components that constitute part of the solution are specificed, together with the computing tolos employed in the realization of the project. Chapter IV includes the software design of the project, using the program Visual Basic version 6.0. In Chapter V a comparison is made between the device developed and existing products in the market. The costs of the controller are also assessed. Chapter VI includes the finals conclusions of the Project and proposed applications of the controller. Details of characteristics of the elements that take part in the Project are included in annexes. The project final result is the creation of two products: (i) a hardware device, and (ii) a software application that runs on a PC. Both products offer the same functionality, ie, the control of a digital camera allowing the programming of the starting time of operation, the instant when the shots are made, the amount of shots and the exposure time. The hardware solution developed compares advantagerously with similar devices available in the market since its programming is more friendly, due to a design that incorporates an alphanumeric display and the capacity of storing programming profiles, which make repetitive operations more efficient.

vii

CAPITULO I INTRODUCCION 1.1 INTRODUCCION. El tema de este Proyecto de memoria surge a partir de la necesidad de crear un dispositivo autnomo que controle el disparo de una cmara fotogrfica digital profesional y semiprofesional, que sea amigable para el usuario y que tambin sea capaz de satisfacer algunas necesidades para personas dedicadas al rea de la fotografa. Debido a que en la actualidad esta rea se ha masificado de tal manera que se ha creado no slo una forma de lucrar con este negocio, sino que tambin hay personas que toman esta actividad como un pasatiempo y otras personas las ocupan en tareas cientficas. 1.1.1 Objetivo General. El objetivo general del proyecto se orienta a crear un dispositivo autmata que, una vez que se ha programado, sea capaz de controlar el obturador de una cmara fotogrfica en cuanto al tiempo de obturacin e intervalos entre obturaciones, entre otras caractersticas sin la necesidad de que una persona est manejando la cmara. 1.1.2 Objetivo Especfico. Disear en hardware (circuito basado en microcontrolador) y tambin en software (programa instalado en un PC) un dispositivo programable capaz de realizar los siguientes controles sobre el obturador de una cmara fotogrfica digital: Controlar el tiempo de obturacin de una toma. Controlar la cantidad de tomas a efectuar. Controlar el intervalo de tiempo entre tomas. Controlar el tiempo de inicio de la secuencia de tomas. Permitir almacenar un perfil de operacin definido por el usuario. La programacin debe ser simple y amigable para el usuario. El dispositivo diseado en hardware, debe ser porttil.

1

1.2 CARACTERISTICA DEL PRODUCTO. Este proyecto nace a raz de la respuesta hacia una situacin comn de las personas, del querer hacer las cosas mediante la automatizacin de maquinarias sin la necesidad de ser intervenidos por persona alguna aparte de la programacin previa. Adems, ofrece una serie de beneficios, tales como: Ser un producto ms barato que el dispositivo ya comercializado en el mercado. Realizar las mismas funciones que el dispositivo comercial adems de otra funcin adicional que no dispone dispositivo comercial. Modo de programacin ms amigable que el producto comercial. Ser un desarrollo nacional. Si ha pedido del usuario ste quiere agregarle otras aplicaciones, stos sern posible de agregar dependiendo de la situacin a las que se refiera el usuario. Si el usuario desea controlar la cmara a travs de una computadora, sin la utilizacin del dispositivo, se crear una aplicacin que realice la comunicacin desde la computadora hacia la cmara. Una vez conocido el comportamiento de estos sistemas de automatizaciones, tambin se pueden aplicar y desarrollar en distintas reas que requieran de temporizacin, tales como en el rea de la medicina (comportamiento de una clula o bacteria, tambin en el caso de la astronoma para registrar el movimiento de una estrella, como tambin puede ser utilizado en la domtica, automatizacin de iluminacin, sistemas de regado, etc.

2

1.3 ENTORNO DE TRABAJO. Debido a que para este proyecto se necesitan herramientas computacionales para la programacin y desarrollo de circuitos, existen diferentes modos de desarrollo para un ptimo funcionamiento. 1) 2) 3) 4) LINUX UNIX MS-DOS Microsoft WINDOWS

Se podra haber optado por utilizar un entorno LINUX o UNIX, pero dado que su tasa de penetracin en el mercado an no est consolidada no se podra llegar a la mayora de la poblacin. MS-DOS es un entorno conocido por mucha gente pero est condenado a la desaparicin, los inconvenientes que plantea, adems de su desaparicin, el costo en horas de programacin que supone programar un entorno amigable para el usuario final en este sistema operativo, adems del costo a la hora de programar comunicaciones con dispositivos externos mediante puerto serie. Por lo tanto, la solucin adoptada es la de usar Microsoft Windows, un entorno conocido por gran parte del usuario medio. Es un entorno bastante extendido y que cuenta con buenas herramientas de programacin. Tanto en la programacin del microcontrolador como en el software de aplicacin se utilizar esta plataforma de Microsoft Windows. A continuacin se mostrarn algunos resultados con la utilizacin de este proyecto conectada hacia una cmara fotogrfica: En las figuras 1.1, 1.2 y 1.3 se muestran unas aplicaciones a travs del control de tiempo de obturacin de la cmara en el registro de la trayectoria de las estrellas.

Figura 1.1 Ejemplo de tiempo de exposicin de corta duracin de aproximadamente 15 minutos.3

La figura 1.1 muestra un ejemplo del control de un tiempo de exposicin relativamente corto de aproximadamente 15 minutos en que se ha enfocado el polo celestial mostrando as cmo las estrellas giran alrededor del polo. Esta foto fue tomada en el sector de Valle Nevado, Chile.

Figura 1.2

Ejemplo de exposicin de aproximadamente 40 minutos.

La figura 1.2 muestra un ejemplo del control de un tiempo de exposicin largo el cual muestra el movimiento de las estrellas.

Figura 1.3

Ejemplo de tiempo de exposicin muy largo.

4

La figura 1.3 muestra un ejemplo del control de un tiempo de exposicin bastante largo (90 minutos) el cual muestra el movimiento de las estrellas y en que se ha enfocado el polo celestial mostrando as cmo las estrellas giran alrededor del polo. En la figura 1.4 se muestran un ejemplo del control de una secuencia de tomas en el que se controla la cantidad de tomas y el tiempo entre ellas de modo de mostrar el desarrollo de una flor

Figura 1.4

Ejemplo de una secuencia de tomas que muestran el desarrollo de una flor.

5

Tal como se mencion anteriormente, otras de las aplicaciones que pueden requerir de temporizacin es en el rea de la medicina, tal como se muestra en la figura 1.5, que muestra la reproduccin de una sola bacteria, que durante un lapsus de tiempo se puede reproducir en cientos de miles de bacterias.

6

Figura 1.5

Reproduccin de una bacteria en un determinado lapsus de tiempo.

7

CAPITULO II ESTUDIOS DE ALTERNATIVAS DE SOLUCION DEL PROBLEMA 2.1 OBJETIVO. El objetivo de este proyecto tiene como funcin principal la creacin y aplicacin de un dispositivo que sea capaz de controlar en forma autnoma la obturacin de una cmara fotogrfica. Consta de 2 partes, un dispositivo fsico (Hardware) que controle en forma autmata la obturacin de la cmara, y otro desarrollo en Software que desarrolle la misma aplicacin que en Hardware pero controlada desde el computador. 2.2 RESTRICCIONES. Este dispositivo debe cumplir ciertas caractersticas puesto que debe competir con unos dispositivos ya existentes en el mercado. Es por eso que su interfaz con el usuario debe ser amigable, en este caso debe tener un display alfanumrico ya que los dispositivos comerciales existentes tienen slo un display numrico. Otra de las aplicaciones que tiene este proyecto es la adicin de una aplicacin programable en Software que realice las mismas funciones que la solucin en Hardware. Otra de las restricciones de este proyecto tiene que ver con el costo del proyecto. El costo de este dispositivo deber ser menor que el de los ya existentes en el mercado. En el captulo V se evaluar el costo de este dispositivo. 2.3 HARDWARE. Para la implementacin del Hardware es necesaria la utilizacin de elementos programables que tengan la capacidad de ejecutar ciertas funciones. Existen 2 dispositivos en el mercado que son los necesarios para satisfacer las necesidades del proyecto. Estos son los Microprocesadores y Microcontroladores. Microprocesador: Se define Microprocesador como un dispositivo integrado digital capaz de interpretar y ejecutar un conjunto secuencial de instrucciones (programa). Bsicamente contiene circuitos electrnicos que realizan operaciones aritmticas, lgicas y de control. Se trata de un sistema muy complejo, por eso debe ir integrado en chips. Microcontrolador: El Microcontrolador est formado por un Microprocesador y el conjunto de subsistemas que normalmente requiere un microprocesador: memoria voltil (clculo temporal), memoria no voltil (donde almacena el programa), entrada y salida. El Microcontrolador es un computador completo, aunque de limitadas prestaciones, que est contenido en el chip de un circuito integrado programable y se destina a gobernar una sola tarea con el programa que reside en su memoria. Sus lneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar.

8

A continuacin se detallarn algunas de las diferencias entre Microprocesador y Microcontrolador: La configuracin mnima bsica de un Microprocesador est constituida por un Micro de 40 Pines, una memoria RAM, una memoria ROM y un decodificador de direcciones; Un microcontrolador incluye todo estos elementos del Microprocesador en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores en el circuito impreso por su amplia simplificacin de circuitera. El costo para un sistema basado en Microcontrolador es mucho menor, mientras que para el basado en Microprocesador, es bastante ms alto. Los Microprocesadores tradicionales se basan en la arquitectura de Von Newmann, mientras que los microcontroladores trabajan con arquitectura de Harvard. El tiempo de desarrollo de su proyecto electrnico es menor para los Microcontroladores. En los microprocesadores todas las operaciones se realizan sobre el acumulador. La salida del acumulador est conectada a una de las entradas de la Unidad Aritmtica y Lgica (ALU), y por lo tanto ste es siempre uno de los dos operandos de cualquier instruccin, las instrucciones de simple operando (borrar, incrementar, decrementar, complementar), actan sobre el acumulador. En los microcontroladores, la salida de la ALU va al registro W y tambin a la memoria de datos, por lo tanto el resultado puede guardarse en cualquiera de los dos destinos. La gran ventaja de esta arquitectura(Microcontroladores ) es que permite un gran ahorro de instrucciones ya que el resultado de cualquier instruccin que opere con la memoria, ya sea de simple o doble operando, puede dejarse en la misma posicin de memoria o en el registro W, segn se seleccione con un bit de la misma instruccin . Las operaciones con constantes provenientes de la memoria de programa (literales) se realizan slo sobre el registro W. Debido a las prestaciones entre un dispositivo y otro, y tambin en funcin de este proyecto, es que se decide trabajar con los MICROCONTROLADORES. 2.3.1 Microcontroladores. Los microcontroladores son utilizados en diversos circuitos electrnicos comerciales desde hace unos aos de forma masiva, debido a que, por sus capacidades internas, permiten reducir el tamao y el precio de los equipos. En estos ltimos aos se ha facilitado enormemente el trabajo con los microcontroladores al bajar los precios, aumentar las prestaciones y simplificar los montajes, de manera que en muchas ocasiones merece la pena utilizarlos en aplicaciones donde antes se utilizaba la lgica discreta.

9

Diversos fabricantes ofrecen amplias gamas de microcontroladores para todas las necesidades. Pero, sin duda, hoy en da los microcontroladores ms aceptados para diseos aficionados (y buena parte de los profesionales) son los microcontroladores PIC. Actualmente hay una enorme cantidad de productos que funcionan en base de uno o varios microcontroladores. La variedad de los microcontroladores es grande, y se debe elegir adecuadamente el dispositivo. Esta es una muestra de las marcas que fabrican microcontroladores: 1) 2) 3) 4) 5) 6) 7) MICROCHIP NATIONAL SEMICONDUCTOR MOTOROLA ZILOG INTEL THOMSON ATMEL

Un estudio comparativo entre microcontroladores de estas marcas muestran las diferencias entre microcontroladores de mismas caractersticas pero de diferentes marcas. Esto ayudar a ir descartando posibilidades. El estudio consiste en hacerles pasar una serie de pruebas, una de las cuales es el tamao promedio que ocupa el cdigo de los programas de prueba que son los siguientes: - Empaquetamiento de dos dgitos BCD. - Control de un bucle que decrementa un contador hasta cero. - Transmisin sncrona por desplazamiento en serie de 8 bits.

Figura 2.1 Grfico comparativo de microcontroladores de diferentes marcas. En la figura 2.1 se hace notoria la capacidad que tienen lo microcontroladores de la marca MICROCHIP en relacin a las otras marcas. Una vez echado un vistazo a los microcontroladores MICROCHIP y las posibilidades que ofrece se obtiene las siguientes conclusiones. Hay ms acceso a las herramientas de10

programacin y grabacin de microcontroladores de MICROCHIP que de otro tipo de microcontroladores. Hay una muy abundante bibliografa. Adems de programarse en lenguaje ensamblador tambin es posible programarlo en lenguaje C. Por ltimo, MICROCHIP ha sacado una nueva gama de microcontroladores PIC capaces de trabajar con la comunicacin USB, y con sus respectivos drivers. Entre los microcontroladores PIC utilizados en este proyecto, la primera incursin fue con el PIC 16F84, pero debido a que no fue capaz de almacenar todo el programa utilizado en este proyecto, se opt por uno de mayor capacidad como el PIC 16F877, pero a medida que se avanz en el programa y como tambin se quiso agregar otras funciones, tampoco fue capaz de soportar el crecimiento del programa. Fue as que se lleg a la conclusin de utilizar al PIC 18F452 dada su mayor capacidad para poder almacenar completamente el programa. Este modelo es uno de los ms populares, siendo un simple chip de 40 patillas, cuya estructura de plstico contiene mucha de la tecnologa que se necesita conocer para entender los sistemas de control con microcontroladores. El PIC 18F452, en definitiva, pudo almacenar todo el programa, y quedando capacidad para almacenar perfiles de operacin. 2.3.1.1 PIC 18F452. En todo este proyecto, y como cerebro del sistema, todo el sistema hardware diseado se regir a travs de la utilizacin de PIC 18F452. Caractersticas generales. El PIC18F452 tiene un procesador de alto rendimiento RISC capaz de procesar hasta 10MIPS (con un reloj de 40MHZ) con instrucciones de 16 bits y un camino de datos de 8 bits: Adems incorpora un multiplicador de 8x8 en hardware de un solo ciclo. La memoria de programa puede direccionar hasta 32KBytes (FLASH) la memoria de datos hasta 1,5KBytes, y una EEPROM de 256 bytes. Las interrupciones disponen de diferentes niveles de prioridad. Otras caractersticas de este microcontrolador son:

Cdigo compatible con la familia 16 y 17 de los PIC. Reloj que puede trabajar por encima de los 10 MIPs. o Uso de cristal de 40 MHZ. o Cristales de 4 MHZ. a 10 MHZ. utilizando un multiplicador de frecuencia PLL. Instrucciones de 16 bits con bus de datos de 8 bits. Prioridad de interrupciones.11

Multiplicador hardware de 8 x 8 que funciona en un solo ciclo de mquina. Tres pines para manejo de interrupciones externas. Manejo de niveles de corriente de 25 mA. En modo fuente. Timer 1 de 16 bits, Timer 2 de 8 bits. Timer 3, (no lo posee la gama media), de 16 bits (65535 conteos). Dos mdulos de Captura/Comparacin/PWM. Mdulos de comunicacin en serie con soporte para RS-485 y RS-232. El PIC18F452 posee un contador de programa de 21 bits que permite ubicar una capacidad de memoria de 2 Mega Palabras. Las posiciones de memoria ms all de la memoria fsica construida se leen como 0. El PIC 18F452 posee 32 K Bytes de memoria FLASH de programa, agrupados de a 2 Mbytes, con el fin de contener instrucciones complejas. Por lo tanto este dispositivo puede almacenar 16.000 instrucciones simples. El vector de RESET se halla en la direccin 0000h y el de interrupciones en las posiciones 0008h y 0018h. El microcontrolador PIC18F452 tiene cinco puertos de entrada/salida paralelo de usos generales llamados PUERTO A, PUERTO B, PUERTO C, PUERTO D y PUERTO E. Algunos pines de estos puertos estn multiplexados con funciones especficas de algunos perifricos. Para ahorrar energa, (factor clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos.

12

2.4 SOFTWARE. Como ya se mencion anteriormente, este proyecto consta de 2 partes, un desarrollo fsico y un Software programable que se explicar en este captulo. En principio se utilizar el sistema operativo Windows puesto que es el ms extendido en los PCs y que la mayora de las personas utiliza, adems posee las mayores interfaces de comunicacin con los dispositivos, tal como se mencion en el captulo 1.3. Por otra parte, en cuanto a lenguajes de programacin se encuentran 2 lenguajes que sirven para el desarrollo del software: el lenguaje C (y sus derivados como C++) y el lenguaje Visual Basic. 2.4.1 C++. Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas. Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura). Un sistema de tipos que impide operaciones sin sentido. Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir mltiples archivos de cdigo fuente. Acceso a memoria de bajo nivel mediante el uso de punteros. Interrupciones al procesador con uniones. Un conjunto reducido de palabras clave. Por defecto, el paso de parmetros a una funcin se realiza por valor. El paso por referencia se consigue pasando explcitamente a las funciones las direcciones de memoria de dichos parmetros. Punteros a funciones y variables estticas, que permiten una forma rudimentaria de encapsulado y polimorfismo. Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una nica variable "empleado"). Lenguaje muy eficiente puesto que es posible utilizar sus caractersticas de bajo nivel para realizar implementaciones ptimas. A pesar de su bajo nivel es el lenguaje ms portado en existencia, habiendo compiladores para casi todos los sistemas conocidos.13

Proporciona facilidades para realizar programas modulares y/o utilizar cdigo o bibliotecas existentes. 2.4.2 VisualBasic. Posee una curva de aprendizaje muy rpida. Integra el diseo e implementacin de formularios de Windows. Permite usar con suma facilidad la plataforma de los sistemas Windows dado que tiene acceso prcticamente total a la API de Windows incluidas libreras actuales. El cdigo en Visual Basic es fcilmente migrable a otros lenguajes. Es un lenguaje muy extendido por lo que resulta fcil encontrar informacin, documentacin y fuentes para los proyectos. Fcilmente extensible mediante libreras DLL y componentes ActiveX de otros lenguajes. Posibilidad de aadir soporte para ejecucin de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control. Acceso a la API multimedia de DirectX (versiones 7 y 8). Tambin est disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1: VBOpenGL type library Existe una versin integrada en las aplicaciones de Office, versiones tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos como por ejemplo una hoja de clculo de EXCEL o una base de datos ACCESS (VBA) Es un entorno perfecto para realizar pequeos prototipos rpidos de ideas.

Para efectos de este proyecto y por su simplicidad se escogi el programa VISUAL BASIC

14

CAPITULO III DISEO DEL HARDWARE DEL CONTROLADOR 3.1 INTRODUCCION. Este captulo tiene varias partes, en la primera parte se detalla seccin por seccin y en un diagrama de bloque los componentes que hay en el hardware. En la segunda parte se mostrar el circuito final del proyecto con una breve explicacin acerca de las herramientas computacionales utilizadas en este proyecto. En la tercera parte y final del proyecto se mostrar en un diagrama de flujo la programacin del dispositivo. En la figura 3.1 se muestra el diagrama de bloque necesario para el desarrollo del dispositivo. Consta de 3 partes, la primera parte es la entrada de los comandos, o botones de entrada, y la fuente de poder que no es ms que la alimentacin del microcontrolador. La segunda parte consta del cerebro del sistema, que es la que cumple todas las funciones programadas por el usuario. La tercera y ltima parte consta del display LCD que es la pantalla que muestra la informacin de lo que se quiera programar y tambin consta de la salida de la corriente que debe ir hacia la cmara.

Figura 3.1

Descripcin en bloques de la solucin Hardware.

3.2 COMPONENTES DEL DISPOSITIVO. A continuacin, se detallarn parte por parte los componentes del dispositivo: 3.2.1 Regulador de tensin 78L05. Este regulador pertenece al bloque fuente de poder que aparece en la figura 3.1. Normalmente el microcontrolador PIC18F452 se alimenta con 5 voltios aplicados entre los pines Vdd y Vss que son, respectivamente, la alimentacin y la masa del chip. Como en este proyecto se va a trabajar con una batera a una tensin de 9v y de hasta 70 mA. y slo se deben obtener 5 voltios, es necesario el uso de un regulador de tensin. En este proyecto se usar el 78L05. Se dispone adems de un diodo a la entrada para protegerlo en el caso que se apliquen tensiones con la polaridad invertida. En la tabla 2

15

se muestran las caractersticas especficas del regulador de tensin 7805, como tambin los rangos operativos.

Tabla 1

Parmetros operativos del 74LS05.

3.2.2 Interruptores y Pulsadores. Estos dispositivos permiten introducir un nivel lgico 0 o 1 segn la posicin en que se encuentren, cerrado o abierto. La lectura del estado de interruptores y pulsadores, indicados en la figura 3.2, se ejecuta con la conexin de estos dispositivos entre una entrada y masa para as forzar la entrada a un nivel lgico alto (5 V) mediante una resistencia Pull-Up de 10 kohms.

Figura 3.2

Tipos de pulsadores.

Mientras el dispositivo est abierto, la entrada mantiene una tensin de 5 V que corresponde a un nivel lgico 1. Cuando se cierra, la entrada pasa a valer 0 V correspondiente al nivel lgico 0. 3.2.3 Pantalla LCD. En el bloque display LCD de la figura 3.1, se muestra la pantalla que debe mostrar la informacin que el ususario desea programar. Las pantallas de cristal lquido o display LCD (Liquid Crystal Display) para mensajes tienen la capacidad de mostrar caracteres alfanumricos, permitiendo representar la informacin que genera un equipo electrnico de una manera fcil, econmica y amigable para el usuario. La pantalla consta de una matriz de caracteres (normalmente de 5x7 puntos) distribuidos en una, dos, tres o cuatro lneas de 16 hasta 40 caracteres cada lnea. El proceso de visualizacin es gobernado16

por un microcontrolador incorporado a la pantalla, siendo el Hitachi 44780 el modelo ms utilizado. Para este proyecto se utiliz la pantalla de 16 caracteres y 2 lneas (16x2) que aparece en la figura 3.3.

Figura 3.3

Pantalla LCD de 16x2

Debido a que una de las caractersticas deseadas es que el dispositivo presente una interfaz amigable es que se usar una pantalla LCD de modo que la comunicacin con el usuario sea amigable y alfanumrica. Esta es una gran caracterstica que hace la gran diferencia con los dispositivos ya existentes en el mercado, tal como se mencionar en el captulo V. Adems existe una versin de estas pantallas LCD que vienen con luz incluida, lo cual facilita al usuario, con un click, el uso del dispositivo en lugares de baja o nula luminosidad, como por ejemplo al tomar fotografas de noche. 3.2.3.1 Caractersticas esenciales de una pantalla LCD. Consumo muy reducido, del orden de 7,5 mW. Pantalla de caracteres ASCII, adems de los caracteres japoneses Kanji, caracteres griegos y smbolos matemticos. Desplazamiento de los caracteres hacia la izquierda o a la derecha. Memoria de 40 caracteres por lnea de pantalla, visualizaciones 16 caracteres por lnea. Movimiento del cursor y cambio de su aspecto. Luminosidad incorporada. Esto sirve para su utilizacin nocturna o en lugares con baja luminosidad. Pueden ser gobernados de dos formas principales: o Conexin con bus de 4 bits. o Conexin con bus de 8 bits.

17

3.2.4 Transistor 2N2222. En el bloque salida se usar como conmutador electrnico uns transistor bipolar, al cual se har trabajar en corte y saturacin. Para esta funcin se ha elegido el transistor 2N2222 el cual es un transistor bipolar NPN de baja potencia de uso general y muy rpido. Sirve tanto para aplicaciones de amplificacin como de conmutacin. Puede amplificar pequeas corrientes a tensiones pequeas o medias; por lo tanto, slo puede tratar potencias bajas (no mayores de medio vatio). Puede trabajar a frecuencias medianamente altas. Las hojas de especificaciones sealan como valores mximos garantizados 500 miliamperios en la corriente del colector, 50 voltios de tensin de colector-emisor, y hasta 500 mW. de potencia. La frecuencia de transicin es de 250 a 300 MHZ, lo que permite utilizarlo en aplicaciones de radio de alta frecuencia (hasta 300 MHZ). El beta (factor de amplificacin) del transistor es de por lo menos 100; valores de 150 son tpicos. La utilizacin de este transistor es de suma importancia para este proyecto puesto que su funcin es operar como conmutador que obturar la cmara fotogrfica. Para esto, se trabajar este transistor en corte y saturacin. 3.2.5 Cmara. Este producto es compatible con cmaras fotogrficas que tengan la capacidad de trabajar con estos mandos a distancia. Estos mandos de conectan a travs de un conector jack. En el captulo 3.3 se mostrar cmo se conecta el dispositivo hacia la cmara. El dispositivo es compatible con ciertas cmaras, por ejemplo, para las cmaras Canon es compatible con lo modelos EOS 10D, EOS 1D Mark II N, EOS 1V, EOS 20D, EOS 20Da, EOS 3, EOS 30D, EOS 5D, EOS D30, EOS D60, EOS-1D, EOS-1D MARK II, EOS-1D Mark III, EOS-1Ds y EOS-1Ds MARK II.

18

3.3 CIRCUITO FINAL DEL PROYECTO. 3.3.1 Detalle de cada parte del circuito. Dentro del bloque microcontrolador existe adems del microcontrolador propiamente tal, otros elementos que no deben faltar a fin de que pueda funcionar correctamente. Uno muy importante es el reloj que todo microcontrolador debe tener.

Figura 3.4

Cristales de cuarzo.

En la Figura 3.4 se muestra el oscilador de cristal de cuarzo que, como se est trabajando con la configuracin oscilador XT, permite una frecuencia de reloj muy estable comprendida entre 100 KHz y 4 MHZ. En este trabajo de usar una frecuencia de 4 MHz. Este oscilador va conectado a los pines OSC1/CLKIN y OSC2/CLKOUT del PIC 18F452. El circuito y los valores son obtenidos de la hoja de datos del microcontrolador. Como se muestra en el diagrama de bloque de la figura 3.1 otro bloque es el de botones de entrada. Este bloque tiene como misin el permitir al usuario programar el dispositivo. La disposicin de estos pulsadores se muestra en la figura 3.5.

19

Figura 3.5

Pulsadores.

Las funciones de los pulsadores se describen a continuacin: El Botn > se ubica en el pin 4 (puerta A, lnea 2) del PIC 18F452. Tiene las siguientes funciones: - Sirve para avanzar el men hacia la derecha para cambiar de funcin (tiempo real y funcin retardo). - Tambin sirve para incrementar la cantidad de tiempo o de disparos de cada una de las funciones.

El Botn EXE sirve para ejecutar el programa o tambin para volver al men de inicio una vez que se tenga una dificultad con la programacin. Este botn va en el pin 5 (puerta A, lnea 3).

20

El bloque fuente de poder de la figura 3.1, se encuentra compuesto por un regulador de tensin, que para este proyecto se eligi el circuito integrado LM7805, que tiene la funcin de energizar el circuito final completo. En la figura 3.6 se muestra el regulador de tensin LM7805 que alimentar todo el circuito. En el pin 1 se conecta la batera de 9 volts y en el pin 3 sale el voltaje regulado a 5 volts que alimentar todo el circuito.

Figura 3.6

Regulador de tensin LM7805.

Por ltimo, en el diagrama de bloque de la figura 3.1 est la funcin bloque de salida. La funcin de este bloque es muy importante debido a que es el encargado de producir la obturacin de la cmara fotogrfica. La cmara fotogrfica tiene una entrada por donde es posible obturarla a travs de un interruptor mecnico. Este bloque reemplaza esto por un interruptor electrnico. En la figura 3.7 se muestra la salida de todo el circuito hacia el cable jack que posteriormente va hacia la cmara. Este paso es de suma importancia puesto que la funcionalidad del transistor NPN 2N2222 es actuar como interruptor y lograr la obturacin de la cmara fotogrfica. La cmara entrega un voltaje de 3,5 V que polariza al transistor. Se elije una resistencia de colector (que en este caso es de 100K) tal que permita un mnimo de consumo de corriente, con el fin de no agotar la batera de la cmara y adems permita la correcta obturacin de la cmara fotogrfica.

21

Figura 3.7

Salida al conector Jack macho.

A continuacin, en la figura 3.8 se muestra la conexin entre el microcontrolador PIC y la cmara pasando a travs del transistor 2N2222. Aqu se muestra lo que se mencion en la figura 3.7 acerca de la funcin del interruptor. Como se aprecia a la base de transistor se le aplica la salida del PIC. Cuando es una tensin baja (0 volts) el transistor no conduce porque est en el corte. Luego si la salida del PIC es un voltaje alto (aproximadamente 5 volts) el transistor se satura, realizando el cerrado del circuito de obturacin de la cmara fotogrfica.

Figura 3.8

Conexin entre el PIC 18F452 y la cmara fotogrfica.

Para conectar el PIC con la pantalla LCD se utiliz el puerto B del PIC. Como se muestra en la figura 3.9 se utiliz una conexin de 4 bits hacia la pantalla LCD. Esta pantalla tiene la caracterstica que tiene luz propia, a travs de una botonera se puede encender la luz y ver la informacin en la pantalla en plena oscuridad.

22

Figura 3.9 Conexin entre el PIC y la pantalla LCD Por ltimo, en la figura 3.10 se mostrar el producto terminado. Se muestra el esquema total del proyecto que al final ser diseada en forma fsica.

Figura 3.10

Circuito completo de la solucin en Hardware.

23

3.4 INTRODUCCION A LAS HERRAMIENTAS USADAS EN EL DESARROLLO DE LA SOLUCION EN HARDWARE. A continuacin se describir brevemente cada una de las herramientas utilizadas para llevar a cabo el diseo e implementacin de la solucin del Hardware. El detalle de cada una de estas herramientas se encuentra en el Anexo 4 de este proyecto. 3.4.1 Proteus. A fin de simular, hacer pruebas y disear el circuito impreso del circuito diseado se us el programa PROTEUS. PROTEUS es un entorno integrado diseado para la realizacin completa de proyectos de construccin de equipos electrnicos en todas sus etapas: diseo, simulacin, depuracin y construccin. El juego de herramientas se compone de dos elementos, perfectamente integrados entre s: Isis: Es la herramienta para la elaboracin avanzada de esquemas electrnicos, que incorpora una librera de ms de 6.000 modelos de dispositivos digitales y analgicos. Ares: Es la herramienta para la elaboracin de placas de circuito impreso con posicionador automtico de elementos y generacin automtica de pistas, que permite el uso de hasta 16 capas. 3.4.2 PIC C Compiler. Aunque la solucin es en hardware, existe una parte de programacin con el fin de realizar el programa que se imprimir en el PIC. Para este proyecto se us el compilador PIC C Compiler, el cual producir los archivos .HEX que se cargarn en el microcontrolador. El PICC Compiler fue desarrollado para cumplir con las especificaciones del lenguaje ANSI C. El compilador produce tres tipos de archivos. Archivos con extensin .hex que permite grabar el programa ejecutable en el PIC por medio del uso de un programador. El archivo con extensin .asm contendr un listado en assembler del programa compilado con la informacin del mapeo de memoria. Estos archivos son muy tiles para la depuracin de los programas y para determinar la cantidad de pasos de programas (ciclos de ejecucin) que tiene la aplicacin. Los archivos con extensin .pre contienen la informacin preprocesada del programa, #defines, #includes, etc. La cual es expandida y guardada en el archivo.

24

3.4.3 Programador universal TOPMAX. Una vez que se ha simulado y probado el circuito diseado, es necesario implementar todo fsicamente. Por lo tanto ser necesario en un momento dado, cargar fsicamente el programa diseado en el PIC. Para realizar eta tarea, se us un programado universal denominado Top Max. El programador Top Max es un programador universal, que adems tiene la capacidad de comprobar las RAMS. Posee un zcalo de 48 patillas DIP universal y un zcalo TTL expandible. Esta tecnologa permite programar cualquier componente de hasta 48 patillas sin necesidad de adaptador. El Top Max permite adems de programar, probar componentes lgicos TTL y CMOS, as como comprobar memorias estticas y dinmicas. 3.4.4 PCBWIZ. Llegado el momento de armar fsicamente el circuito diseado, es necesario disear un circuito impreso en donde se ubicarn todos los elementos ocupados. Para esta tarea se us el programa PCBWiz. El software PCBWiz permite la implementacin del circuito en una placa PCB de manera ptima para crear un circuito abarcando el mnimo espacio posible, con la ventaja de poder dar forma a esta placa.

25

3.5 DIAGRAMA DE FLUJO DEL PROYECTO. 3.5.1 Diagrama y esquema del sistema. En este captulo se describe el funcionamiento de las rutinas del programa (tanto en Hardware como en Software) utilizado para llevar a cabo las funciones del lector, tanto de lectura de los cdigos como los procesos que realiza el programa en el PC. Todo esto se explica mediante tres diagramas de flujo. Cada uno de los diagramas muestra sus respectivas configuraciones para su fcil y rpida comprensin. 3.5.1.1 Diagrama general. La figura 3.11 muestra el diagrama de flujo general con el que fue diseado el proyecto, ya sea tanto para el producto fsico como para el Software. Este es el funcionamiento bsico general de todo el proyecto. Se desglosar cada parte en sucesivos diagramas para ms especificacin. A continuacin se detalla cada apartado esencial (funcin de Retardo y funcin de Hora Real) que hay que comprender para leer el cdigo fuente.

26

INICIO

Figura 3.11

Diagrama de flujo general del proyecto.27

3.5.1.2 Funcin de Retardo. La figura 3.12 muestra el diagrama de flujo de los pasos a seguir al programar la funcin Retardo. Consiste en indicar en qu momento deber comenzar a operar una vez terminada la programacin. Dentro de esta parte se encuentran dos opciones: Fijar cantidad de retardo: en este caso se le indica cunto tiempo debe transcurrir para que comience a operar una vez terminada la programacin. Una vez comenzada la ejecucin del programa, la pantalla LCD va mostrando en forma de cuenta regresiva cunto tiempo resta para ejecutar las funciones que se programaron. Esto se muestra en formato de Horas, Minutos y Segundos. Cantidad de disparos: tal como su nombre lo indica, le pregunta al usuario la cantidad de disparos que desea ejecutar. Tiene un lmite de cantidad de fotos a almacenar dependiendo de la cantidad de memoria que tiene la cmara, o tambin, de la memoria externa que se le introduce a esta cmara. Esta opcin lo lleva a programar dos aspectos importantes: a) Ingrese Intervalo: es el intervalo de tiempo de espera entre cada disparo. b) Obturacin: esta funcin permite programar el tiempo que el diafragma de la cmara deber permanecer abierto. c) Perfil: esta funcin le permite al usuario guardar los datos ingresados para una segunda aplicacin en el caso que el usuario apague el equipo y despus vuelva a encenderlo y desee usar la misma secuencia.

28

Figura 3.12 Diagrama de la funcin Hora Retardo del proyecto.29

3.5.1.3 Funcin Hora Real. La figura 3.13 muestra el diagrama de flujo de los pasos a seguir al programar la funcin de Hora Real. Indicando tiempo real: Otra de las funciones que hay en el men consiste en preguntarle al usuario si quiere trabajar con la hora real. Una vez entrado en esta funcin, lo primero que se le pide al usuario es poner la hora actual (hora real) y, una vez ya programado, le pregunta al usuario las funciones de: fijar hora de inicio del programa, cantidad de disparos, intervalo y obturacin definidas en el men de cuenta regresiva. Una vez que se ejecuta el programa la funcin retardo empieza a funcionar una vez que la hora ajustada sea igual a la hora real. En esta funcin tambin se aplica la funcin de perfiles, ya que una vez ingresados los datos y almacenados para una segunda aplicacin, slo se le pedir al usuario ingresar la hora real y, a travs del perfil, hacer las comparaciones correspondientes.

30

Figura 3.13

Diagrama de la funcin Hora Real del proyecto.31

CAPITULO IV DISEO DEL SOFTWARE DEL CONTROLADOR 4.1 DIAGRAMA DE BLOQUES En este captulo se incluye la segunda parte del dispositivo, la del desarrollo del software que controle las temporizaciones de la cmara a travs de un PC. Esta solucin consta de 3 secciones, tal como se muestra en la figura 4.1. En la primera parte se muestra el software de programacin, en la segunda parte se muestra el cable conversor USB-RS232 puesto que salida de los datos desde el PC es de forma lgica (1 y 0). La tercera parte consiste en la interfaz 2N2222 ya que como se habl anteriormente el transistor 2N2222 tiene la funcin de actuar como interruptor y lograr la obturacin de la cmara fotogrfica.

Figura 4.1 Solucin a travs de una aplicacin en un PC Para este proyecto se ha optado por utilizar Microsoft Visual Basic, dado que el realizar entornos amigables para el usuario es una tarea sencilla, con lo que se gana tiempo de programacin para implementar las tareas realmente necesarias. Adems gestionan eficientemente las comunicaciones con dispositivo externos mediante el puerto serie.

4.2 PROGRAMA EN VISUAL BASIC Como se mencion anteriormente, una de las aplicaciones fue el control de la cmara fotogrfica a travs de la utilizacin de un software de programacin. Las funciones de esta aplicacin son similares a las del circuito fsico (tambin trabaja con Retardo y con Hora Real). A continuacin, en la figura 4.2, se muestra la pantalla de programacin presentada al usuario.

32

Figura 4.2 Ventana principal del Software. Esta aplicacin es de manejo sencillo, puesto que slo hay que ingresar datos en los espacios correspondientes. El programa est hecho de forma tal que va validando de inmediato los datos que se ingresan, a fin de evitar un mal funcionamiento posterior. Primer paso: se le pide al usuario ingresar el puerto COM al que est conectado el puerto USB del cable, como se muestran en las figuras 4.3 y 4.4.

Figura 4.3 Puerto COM cerrado.

Figura 4.4 Puerto COM abierto. Una vez que el equipo reconozca el puerto, el programa le pregunta al usuario el tipo de trabajo que desea realizar (figura 4.5).

33

Figura 4.5 Seleccin de trabajo a realizar. Hora Real: Esta funcin es idntica a la funcin Hora Real del Hardware. La ventaja que ofrece este programa es que la hora real trabaja en funcin de la hora real del computador con el que el usuario est trabajando. Al costado superior derecho indica cul es la hora del computador (figura 4.6).

Figura 4.6 Hora real del PC con el que se est trabajando.

Una vez que los datos hayan sido ingresados en sus correspondientes casillas se procede a presionar el botn Activar Programacin para poder realizar la operacin. Retardo: Esta funcin es la ms sencilla puesto que slo le pregunta al usuario en cuanto tiempo ms quiere realizar la operacin, sin necesidad de estar dependiendo de la hora del computador. En ambas funciones, cuando se quiera enviar la informacin hacia la cmara para su obturacin, se conecta el PC con la cmara a travs de una interfaz de comunicacin que es un circuito que contiene el transistor 2N2222 el cual cumple con la funcin de interruptor, cumpliendo la misma funcin explicada anteriormente en la solucin con hardware. En el captulo 4.3 se mostrar mediante una implementacin fsica la conexin entre el PC y la cmara fotogrfica. En el anexo N 6 se mostrar en detalle el correcto uso de esta aplicacin.

34

4.3 IMPLEMENTACION FISICA. Para un mejor entendimiento acerca de la implementacin fsica fue necesario el programa de simulacin Proteus, puesto que a travs de esta simulacin se llevar a cabo el diseo fsico de la comunicacin entre el PC y la cmara fotogrfica. En la figura 4.7 se muestra el diseo virtual de la comunicacin. Esta consiste de una entrada desde el puerto USB del PC pasa por el transistor NPN 2N2222 (haciendo el mismo procedimiento que el diseo fsico del proyecto hablado anteriormente) saliendo a travs de una puerto Jack macho que se conectar hacia la cmara.

Figura 4.7

Comunicacin entre el PC y la cmara.

4.4 APLICACIN EN VISUAL BASIC. Como se mencion anteriormente en el software de programacin, el envo de datos desde el PC hacia la cmara se hace a travs del pin 4 (DTR) que cumple la funcin de activar el puerto cuando se quiera activar la cmara. El valor de la salida es similar a la salida del PIC 18F452, as que la interaccin entre el software y la cmara es a travs del transistor NPN 2N2222. A travs de la comunicacin de la cmara con el PC los datos que se transmiten en los niveles lgicos RS232 es de lgica negativa (es decir, un voltaje positivo en la conexin representa un 0, mientras que un voltaje negativo representa un 1). Para garantizar un 0 lgico, una lnea debe mantenerse un voltaje entre +3 y +15 V. Del mismo modo para un 1 lgico una lnea debe mantener estar entre -3 y -15 V. Es importante resaltar que cuando un puerto serie no est transmitiendo mantiene el terminal de transmisin en 1 lgico a -12 V, normalmente.

35

Como se quiere en este proyecto trabajar con valores TTL (de 0 a +5 V) se requiere la necesidad de un circuito integrado que convierta los valores negativos que arroja la comunicacin RS232, es por esta razn que se va a trabajar con el circuito MAX232. El MAX232 convierte los niveles RS232 (que trabaja entre +12 y -12 V) a voltajes TTL y viceversa sin requerir ms que una fuente de +5 V y unos condensadores. Este chip contiene dos drivers TTL RS232 y dos RS232 TTL. Necesita cuatro condensadores externos de unos pocos microfaradios para generar el voltaje RS232 internamente.

4.5 CABLE CONVERSOR DE USB A RS232. Hoy en da existen situaciones donde es necesario convertir, o bien, emular un puerto serie RS232 a partir de un puerto USB. Esto se debe a que muchas de las computadoras modernas ya no incluyen el puerto serie RS232, ya que para aplicaciones informticas se considera obsoleto. Sin embargo existen muchas aplicaciones en electrnica donde resulta muy conveniente usar el puerto serie RS232 para el intercambio de informacin y en el PC resulta la interfaz ms conveniente. Afortunadamente hay en el mercado una variedad de convertidores de USB a RS232 integrados en un cable o bien como adaptador, tal como se muestra en la figura 4.8, que muestra 2 tipos de conexiones: a la izquierda se muestra un par de conectores USB 2.0 y RS232 conectados con cables de entre 1 metro y 1,5 de largo y a la derecha se muestran conectados los puertos USB y RS232 sin un cable de por medio.

Figura 4.8 4.5.1 Conector DB9.

Tipos de conectores RS232 a USB2.0 mas comunes.

El conector DB9 (originalmente DE-9) es un conector analgico de 9 clavijas de la familia de conectores D-Subminiature (D-Sub o Sub-D). El conector DB9 se utiliza principalmente para conexiones en serie, ya que permite una transmisin asncrona de datos segn lo establecido en la norma RS-232 (RS-232C). En la figura 4.9 se muestra el patillaje de los conectores macho y hembra que hay en un conector DB936

Figura 4.9

Patillaje de conectores macho y hembra en un conector DB9.

Se debe tener en cuenta que existen adaptadores DB9-DB25 para convertir fcilmente un enchufe DB9 en uno DB25 y viceversa.

37

CAPITULO V COMPARACION ENTRE EL CONTROLADOR DESARROLLADO Y LOS DISPOSITIVOS TC-80n3 DE CANON Y MC-36 DE NIKON Y COSTOS INVOLUCRADOS EN EL PROYECTO 5.1 COMPARACION ENTRE LOS DISPOSITIVOS Estudios hechos sobre este tema muestran que este producto ya existe a nivel comercial (grandes empresas como Canon y Nikon ya poseen este dispositivo, como es el caso del TC-80N3 de la Canon y el MC-36 de la Nikon). Estos dispositivos ofrecen entre s casi las mismas funciones, pero a diferencia de lo que se propone en este proyecto, estos dispositivos ofrecen una comunicacin con el usuario slo en forma numrica, lo cual no es tan amigable y podra complicar al usuario si no es un conocedor sobre el tema a tratar. Lo que se ofrece con el dispositivo desarrollado en este trabajo es una comunicacin alfanumrica con el usuario, lo cual es de fcil manejo, uso y entendimiento logrando as una interfaz mucho ms amigable. Uno de los problemas que se present fue el querer demostrar cmo el dispositivo competir con los dispositivos ya instalados en el mercado (el TC-80n3 y el MC-36) y convencer al usuario que lo diseado ofrece otras prestaciones y de ptimo entendimiento. A continuacin, se mostrar en la tabla 2 una comparacin entre las caractersticas de estos 3 productos. Se ver las ventajas que ofrece nuestro producto frente a los ya existentes en el mercado:

38

TC-80n3

MC-36

ESTE PROYECTO

CUENTA REGRESIVA TRABAJO EN HORA REAL MEDICION DE INTERVALO MEDICION DE OBTURADOR

SI

SI

SI

NO

NO

SI

SI

SI

SI

DE 1 SEGUNDO A 99 HORAS 59 MNUTOS 59 SEGUNDOS DE 0 A 99

DE 1 SEGUNDO A 99 HORAS 59 MNUTOS 59 SEGUNDOS DE 0 A 99

A PEDIDO DEL USUARIO (Con un mnimo de 1 segundo) A PEDIDO DEL USUARIO

CANTIDAD DE DISPAROS COMUNICACIN CON EL USUARIO

NUMERICO

NUMERICO

ALFA-NUMERICO (DE 16X2 CARACTERES)

PANTALLA LCD CON LUMINOSIDAD COMUNICACIN SOFWARECMARA

SI

SI

SI

NO

NO

SI

Tabla 2 Comparacin entre los 3 productos.

39

5.2 COSTOS INVOLUCRADOS EN EL PROTOTIPO Este proyecto se concibe desde diversos puntos de vista: Diseo fsico: La tabla 3 muestra la cantidad y el costo de los diferentes componentes utilizados para el montaje del dispositivo:

COMPONENTES

PRECIO UNIDAD $ 6.900 $ 7.900 $ 310

CANTIDAD

PRECIO TOTAL $ 6.900 $ 7.900 $ 310

PIC 18F452 LCD c/luminosidad REGULADOR DE VOLTAJE LM7805 SWITCH ON/OFF PULSADORES RESISTENCIAS 10 K RESISTENCIAS 330 CRISTAL OSCILADOR 4 MHZ CONDENSADORES 22 Pf POTENCIOMETRO 1 K TRANSISTOR 2N2222 RESISTENCIA 27 K RESISTENCIA 100 K CONECTOR JACK MACHO CAJA HARDWARE

1 1 1

$ 230 $ 130 $ 10 $ 10 $ 380 $ 160 $ 50 $ 230 $ 10 $ 10 $ 250 $ 1.820

1 6 6 6 1 2 1 1 1 1 1 1

$ 230 $ 780 $ 60 $ 60 $ 380 $ 320 $ 50 $ 230 $ 10 $ 10 $ 250 $ 1.820

SUB TOTAL

$ 19.310

Tabla 3 Listado de precio de los componentes del diseo fsico del proyecto.

40

Tambin hubo un trabajo de diseo de placa y, posteriormente, un trabajo de soldadura en el diseo fsico. Este costo se muestra en la tabla 4 CONCEPTO PRECIO UNIDAD CANTIDAD PRECIO TOTAL $ 15.000

DISEO PLACA PCB SOLDADURA ARMADO

$ 15.000

1

$ 5.000 $ 5.000

1 1

$ 5.000 $ 5.000

SUB TOTAL

$25.000

Tabla 4 Listado de precio de la soldadura del diseo fsico del proyecto.

Diseo del software: Componentes partes SOFTWARE. A continuacin en la tabla 5 se muestra el costo involucrado en elementos usados en la solucin del software. CONCEPTO PRECIO UNIDAD CANTIDAD PRECIO TOTAL $ 200 $ 380 $ 10 $ 10 $ 3.900

CONECTOR JACK MACHO TRANSISTOR 2N2222 RESISTENCIA DE 27 K RESISTENCIA DE 45 K CABLE ADAPTADOR USB RS-232 SOFTWARE PROGRAMACION DIODO 1N4007 CAJA SOFTWARE

$ 200 $ 380 $ 10 $ 10 $ 3.900

1 1 1 1 1

$ 5.000

1

$ 5.000

$ 15 $ 420

1 1

$ 15 $ 420

SUB TOTAL

$ 9.73541

Tabla 5 Listado de precio de los componentes del diseo del software del proyecto.

En la tabla 6 se muestran los costos involucrados en la mano de obra utilizada.

Mano de obra: CALADO SOLDADURA PROGRAMACION $ 5.000 $ 1.000 $ 35.000

SUB TOTAL

$ 41.000

Tabla 6

Sub total costo mano de obra.

TOTAL FINAL PRODUCTO: Como ya se mencion en el captulo anterior acerca de las caractersticas de este dispositivo con los ya existentes en el mercado, a continuacin se mostrar las diferencias econmicas entre estos 3 productos. En el mercado se encuentran los dispositivos TC-80n3 a un precio que vara entre los US$ 149.99 (aproximadamente $ 82.500 con un dlar a $ 550) y los USS 160 y el MC36 a un precio desde los US$ 153.99, en cambio el producto que se desarrollar tiene un precio mercado por el producto general de $ 95.310. Este costo es levemente superior a los de los productos del mercado, pero hay que hacer notar que es el costo total del prototipo de dos soluciones diferentes. Si esto se fabricara a escala, el costo bajara considerablemente. A pesar del costo levemente superior, se debe hacer notar que este producto en relacin a los ya diseados ofrece mejores caractersticas.

42

CAPITULO VI CONCLUSIONES Los objetivos planteados en el proyecto se cuplieron satisfactoriamente. Se logr un dispositivo que realiza ms funciones que los dispositivos existentes en el mercado y con una interfaz mucho ms amigable, lo cual lo hace fcil de usar por cualquier persona. Se ha diseado un equivalente en software para ser usado en un PC que controle la cmara fotogrfica. Este trabajo tiene adems proyecciones de uso en otras actividades en donde se necesite un temporizador inteligente, como en el caso de: (a) La medicina, en donde se puede necesitar tomar una serie de fotografas a intervalos de tiempo adecuados para registrar fotogrficamente, por ejemplo, la mitosis celular, el desarrollo de un cultivo bacteriano, etc., en donde se utilizar la caracterstica de tomas de fotos en secuencia. (b) La astronoma, para registrar la trayectoria de los cuerpos celestes, en este caso se usa la caracterstica de control de tiempo de obturacin (largos tiempos) o registrar el movimiento del sol en un amanecer o atardecer a travs de una secuencia de tomas. (c) La botnica, para registrar fotogrficamente el desarrollo de una flor, usando en este caso una secuencia de tomas. (d) La domtica, como por ejemplo el control de riego de un jardn o de un parque, o el control de luces de una habitacin para simular que hay gente en la casa cuando est deshabitada. En general este trabajo tiene mltiples aplicaciones en donde se necesite temporizar eventos.

43

BIBLIOGRAFIA

Libros Enrique Palacios, Fernando Remiro, Lucas J. Lpez (2006). Microcontrolador PIC desarrollo de proyecto. 2 edicin Alfaomega Ra-Ma Manuales http://www.librospdf.net/programacoin-de-pics/1/ . Tutorial_hi_tech.pdf. Introduccin al lenguaje C http://www.taringa.net/posts/downloads/1314901/PCB-Wizard. Todo sobre el programa PCWiz http://www.ieeproteus.com/ares.html Proteus .Todo sobre el programa de simulacin

http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/VisualBasic6/b basic60.pdf. .Manual sobre programa Visual Basic. http://web.media.mit.edu/~jackylee/mas742/CCS_Manual.pdf. .Manual sobre el programa PIC C Compiler http://www.monografias.com/trabajos27/microcontroladores/microcontroladores .shtml#concl .Todo sobre Microcontroladores

Sitios Web www.forosdeelectronica.com www.pablin.com.ar www.alldatasheet.com www.electronica2000.com

44

ANEXOS

45

ANEXO N 1 PROGRAMA EN EL PIC A TRAVES DEL COMPILADOR PIC C COMPILER #include //pic posible a utilizar #fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador #use delay (clock=4000000) //Fosc=4Mhz #define use_portb_lcd TRUE //definir portb lcd #include //libreria manejo lcd #include #use fast_io(a) // con esta instruccion evitamos que se #use fast_io(b) // este configurando cada vez que usamos #use fast_io(c) #byte porta = 5 #byte portb = 6 // se definen las direcciones de memoria #byte portc = 7 // se definen las direcciones de memoria void mostrar(char *men[], int x, int y) //men=mensaje,x,y=posicion,t=tiempo { char LAST_VOLUME=0; lcd_init(); write_eeprom(LAST_VOLUME,men); lcd_gotoxy(x,y); printf(lcd_putc,men); } void mostrar2(char *men1[], char *men2[], int x, int y) //men=mensaje,x,y=posicion, { //t=tiempo char LAST_VOLUME=0,vol1,vol2; lcd_init(); write_eeprom(LAST_VOLUME,men1); LAST_VOLUME++; write_eeprom(LAST_VOLUME,men2); LAST_VOLUME++; LAST_VOLUME=0; vol1 = read_EEPROM (LAST_VOLUME); lcd_gotoxy(x,y); printf(lcd_putc,men1,vol1); LAST_VOLUME++; vol2 = read_EEPROM (LAST_VOLUME); y++; lcd_gotoxy(x,y); printf(lcd_putc,men2,vol2); } void mostrar4(char *men1[], char i, int x, int y) //men=mensaje,x,y=posicion,t=tiempo46

{ char LAST_VOLUME=0,vol1,vol2; lcd_init(); write_eeprom(LAST_VOLUME,men1); LAST_VOLUME++; LAST_VOLUME=0; vol1 = read_EEPROM (LAST_VOLUME); lcd_gotoxy(x,y); printf(lcd_putc,men1,vol1); LAST_VOLUME++; vol2 = read_EEPROM (LAST_VOLUME); y++; lcd_gotoxy(x,y); printf(lcd_putc,"%u",i); } Void mostrar6(char *men1[], char h, char m, char s, char c, int x, int y) //men=mensaje, { //x,y=posicion,t=tiempo char LAST_VOLUME=0,vol1;//,vol2,vol3,vol4; lcd_init(); write_eeprom(LAST_VOLUME,men1); LAST_VOLUME++; LAST_VOLUME=0; vol1 = read_EEPROM (LAST_VOLUME); lcd_gotoxy(x,y); printf(lcd_putc,men1,vol1); lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",h); x=x+3; LAST_VOLUME++; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",m); x=x+3; LAST_VOLUME++; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",s); x=x+5; lcd_gotoxy(x,y); lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",c); } void mostrar7(char *men1[], char *men2[], char h, char m, char s, char c, int x, int y) { //men=mensaje,x,y=posicion,t=tiempo47

char LAST_VOLUME=0,vol1,vol2;//,vol3,vol4; lcd_init(); write_eeprom(LAST_VOLUME,men1); LAST_VOLUME++; write_eeprom(LAST_VOLUME,men2); LAST_VOLUME++; LAST_VOLUME=0; vol1 = read_EEPROM (LAST_VOLUME); lcd_gotoxy(x,y); printf(lcd_putc,men1,vol1); LAST_VOLUME++; vol2 = read_EEPROM (LAST_VOLUME); lcd_gotoxy(16,y); printf(lcd_putc,men2,vol2); LAST_VOLUME++; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",h); x=x+4; LAST_VOLUME++; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",m); x=x+4; LAST_VOLUME++; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",s); x=x+5; lcd_gotoxy(x,(y+1)); printf(lcd_putc,"%u",c); } void escribir(int tipo, int hret, int mret, int sret, int cant, int hobt, int mobt, int sobt, int hint, int mint, int sint) //tipo= CuentarRegresiva o TiempoReal { int a=0; write_int16_eeprom(0x02,hret); write_int16_eeprom(0x03,mret); write_int16_eeprom(0x04,sret); write_int16_eeprom(0x05,cant); write_int16_eeprom(0x06,hint); write_int16_eeprom(0x07,mint); write_int16_eeprom(0x08,sint); write_int16_eeprom(0x09,hobt); write_int16_eeprom(0x10,mobt); write_int16_eeprom(0x11,sobt);48

} int eeprom[10]; void leer(int n) { int numPerfil=0; if(n==1) { numPerfil=0; } eeprom[0]=read_int16_eeprom(0x02);//hret eeprom[1]=read_int16_eeprom(0x03);//mret eeprom[2]=read_int16_eeprom(0x04);//sret eeprom[3]=read_int16_eeprom(0x05);//cant eeprom[4]=read_int16_eeprom(0x06);//hint eeprom[5]=read_int16_eeprom(0x07);//mint eeprom[6]=read_int16_eeprom(0x08);//sint eeprom[7]=read_int16_eeprom(0x09);//hobt eeprom[8]=read_int16_eeprom(0x10);//mobt eeprom[9]=read_int16_eeprom(0x11);//sobt } int hr=0; int mr=0; int sr=0; void reloj(int *h, int *m, int *s) { if(*s0) { ss--; } } if(input(PIN_A3)==0) { tt=1; } if(input(PIN_A0)==0) { tt=4; p=1; *h=hh; *m=mm; *s=ss;52

} } } } boolean ver(int hrr, int mrr, int srr, int hret, int mret, int sret) { boolean b=false; int real=0,retardo=0,br=0; int hx=0, mx=0, sx=0; while(hx0) { while(hr0) { si=si-1; } } } if(so==0 && mo==0 && ho>0) { so=59; mo=59; if(ho==1) { ho=0;66

} else { ho=ho-1; } } else { if(so==0 && mo>0) { mo=mo-1; so=59; } else { if(so>0) { so=so-1; } } } br=0; ban4=0; cantAux=cant; while(cantAux>0) { if(ban==0) { while(hr>=0) { while(mr>=0) { while(sr>=0) { mostrar7(men14,men22,hr,mr,sr,cantAux,1,1);//R delay_ms(955);//BIEN if(sr==0) { sr=59; break; } sr--; } if(mr==0)67

{ mr=59; break; } mr--; } if(hr==0) { hr=23; break; } hr--; } ban=1; } if(ban==1) { while(hi>=0) { while(mi>=0) { while(si>=0) { mostrar7(men14,men23,hi,mi,si,cantAux,1,1);//I delay_ms(955);//BIEN if(si==0) si=59; break; } si--; } if(mi==0) { mi=59; break; } mi--; } if(hi==0) { hi=23; break; }68

hi--; } ban=2; } hi=hin; mi=min; si=sin; if(si==0 && mi==0 && hi>0) { si=59; mi=59; if(hi==1) { hi=0; } else { hi=hi-1; } } else { if(si==0 && mi>0) { mi=mi-1; si=59; } else { if(si>0) { si=si-1; } } } if(ban==2) { while(ho>=0) { while(mo>=0) { while(so>=0) { mostrar7(men14,men24,ho,mo,so,cantAux,1,1);//O69

output_high(PIN_c1);//on delay_ms(955);//BIEN if(so==0) { so=59; break; } so--; } if(mo==0) { mo=59; break; } mo--; } if(ho==0) { ho=23; break; } ho--; } ban=1; } output_low(PIN_c1);//off ho=hob; mo=mob; so=sob; if(so==0 && mo==0 && ho>0) { so=59; mo=59; if(ho==1) { ho=0; } else { ho=ho-1; } } else {70

if(so==0 && mo>0) { mo=mo-1; so=59; } else { if(so>0) { so=so-1; } } } cantAux--; } } void main() { int iEeprom=0; set_tris_a(0xff); // se configura el puerto A como entrada set_tris_b(0x00); // se configura el puerto B como salida set_tris_c(0x00); // se configura el puerto C como salida while(iEeprom y despus se selecciona la aplicacin a trabajar con el botn EJECUTAR. En la figura A.25 se muestran las opciones a trabajar.

Figura A.25

Men principal.

A.6.1.1 Funcin CUENTA REGRESIVA. Al encender el dispositivo el primer men que aparece es CUENTA REGRESIVA. Presionando el botn EJECUTAR se pasa al siguiente men en donde ser posible seleccionar RETARDO, NUMERO DE FOTOS, INTERVALO Y OBTURACION. Lo primero que aparece es la funcin RETARDO. Esta parte del programa cumple la funcin de programar el tiempo de retardo que consiste en indicar cunto tiempo despus de terminar de programar se desea que el programa comience a funcionar. Una vez en RETARDO se pasa al siguiente men de HORA. Aqu se indicar la cantidad de horas que el usuario desea trabajar. La seleccin de las HORAS, MINUTOS Y SEGUNDOS se hacen con el botn ENTER. En la figura A.26 se muestra la secuencia de la programacin en la funcin RETARDO. Esta parte del programa cumple la funcin de programar el tiempo de retardo (el momento en que deber comenzar la temporizacin). Con los botones > se escogen los tiempos de programacin y con el botn ENTER se cambia de HORAS a MINUTOS y SEGUNDOS. Una vez que est listo la programacin del RETARDO con el botn EJECUTAR se cambia de funcin a NUMERO DE FOTO.

Figura A.26

Men retardo.

En la figura A.27 se muestra la programacin de CUENTA (consiste en escoger la cantidad de fotos que el usuario desee sacar). Con los botones > se escoge la cantidad de fotos (tiene un lmite de 100 fotos que puede variar dependiendo de los requerimientos del usuario) y una vez que el usuario haya seleccionado la cantidad con118

el botn ENTER se cambia a la funcin INTERVALO u OBTURACION (esto se debe a que si el usuario selecciona 1 sola foto no es necesario el tiempo de intervalo puesto que el intervalo es el tiempo que transcurre entre cada foto, de esta manera se va directo al tiempo de OBTURACION.

Figura A.27

Men cuenta.

Si el usuario seleccion ms de una foto en la siguiente funcin se debe programar el tiempo de INTERVALO entre cada foto (el cual es el mismo para todos los intervalos), tal como se muestra en la figura A.28. Esta programacin es similar a la funcin RETARDO, con los botones > se programan los tiempos y con el botn ENTER se cambia de HORA a MINUTOS y SEGUNDOS y para almacenar los datos digitar el botn EJECUTAR.

Figura 2.28

Men intervalo.

Si el usuario errneamente pulsa el botn EJECUTAR sin haber ingresado un valor en el tiempo de INTERVALO, en pantalla aparecer ERROR INTERVALO (figura 2.29) lo que le indica al usuario que debe ingresar un valor para esta funcin.

Figura 2.29

Mensaje ERROR INTERVALO.

A continuacin, en la figura A.30 se programa el tiempo de OBTURACION (que consiste en el tiempo en que el obturador de la cmara se mantiene abierto). Su programacin es del mismo procedimiento que el tiempo de RETARDO e INTERVALO.

Figura A.30

Men obturacin.

119

Si el usuario errneamente pulsa el botn EJECUTAR sin haber ingresado un valor en el tiempo de OBTURACION, en pantalla aparecer ERROR OTURACION (figura 2.31) lo que le indica al usuario que debe ingresar un valor para esta funcin.

Figura A.31

Mensaje ERROR OBTURACION.

Una vez guardado todos los datos el programa pregunta si se DESEA CONTINUAR, esto es, que el programa corra y cumpla con las funciones programadas por el usuario. En la figura A.32 se muestra lo que sale en pantalla, si el usuario desea continuar debe apretar el botn EJECUTAR, pero si desea cambiar unos datos con el botn ENTER vuelve a la funcin inicial (RETARDO) y se pueden volver a ingresar los datos.

Figura A.32

Men de secuencia de programa.

Tambin si el usuario desea crear un perfil, en la figura A.33 se le pregunta al usuario si desea almacenar estos datos para una posterior aplicacin o no. Si se desea almacenar los datos presionar el botn EJECUTAR y si no lo desea, presionar el botn ENTER.

Figura A.33 A.6.1.2 Funcin HORA REAL.

Men de grabacin de datos.

Dentro de la funcin HORA REAL estn las funciones de AJUSTE HORA REAL, RETARDO, NUMERO DE FOTOS, INTERVALO Y OBTURACION. La seleccin de las HORAS, MINUTOS Y SEGUNDOS se hacen con el botn ENTER. En la figura A.34 se le pide a usuario ajustar la HORA REAL puesto que todo el trabajo se hace en funcin a esta operacin

Figura A.34

Men programacin hora real.120

Una vez ajustado la HORA REAL, en la figura A.35 se muestra la secuencia de la programacin en la funcin RETARDO. Esta parte del programa cumple la funcin de programar el tiempo de RETARDO en funcin de la HORA REAL. Con los botones > se escogen los tiempos de programacin y con el botn ENTER se cambia de HORAS a MINUTOS y SEGUNDOS. Una vez que est listo la programacin del RETARDO con el botn EJECUTAR se cambia de funcin a NUMERO DE FOTO.

Figura A.35

Men retardo.

En la figura A.36 se muestra la programacin de CUENTA (consiste en escoger la cantidad de fotos que el usuario desea tomar). Con los botones > se escoge la cantidad de fotos (tiene un lmite de 100 fotos que puede variar dependiendo de los requerimientos del usuario) y una vez que el usuario haya seleccionado la cantidad con el botn ENTER se cambia a la funcin INTERVALO u OBTURACION (esto se debe a que si el usuario selecciona 1 sola foto no es necesario el tiempo de intervalo puesto que el intervalo es el tiempo que transcurre entre cada foto, de esta manera se va directo al tiempo de OBTURACION).

Figura A.36

Men cuenta.

Si el usuario seleccion mas de una foto en la siguiente funcin se debe programar el tiempo de INTERVALO entre cada foto, tal como se muestra en la figura A.37. Esta programacin es similar a la funcin RETARDO, con los botones > se programan los tiempos y con el botn ENTER se cambia de HORA a MINUTOS y SEGUNDOS y para almacenar los datos digitar el botn EJECUTAR.

Figura A.37

Men intervalo.

A continuacin, en la figura A.38 se programa el tiempo de OBTURACION (que consiste en el tiempo en que el obturador de la cmara se mantiene abierto). Su

121

programacin es semejante al procedimiento que el tiempo de RETARDO e INTERVALO.

Figura A.38

Men obturacin.

Una vez que el usuario haya guardado todos los datos el programa le pregunta si DESEA CONTINUAR, esto es, que el programa corra y cumpla con las funciones programadas por el usuario. En la figura A.39 se muestra lo que aparece en pantalla. Si el usuario desea continuar debe apretar el botn EJECUTAR, pero si desea cambiar unos datos, entonces con el botn ENTER vuelve a la funcin inicial (HORA REAL) y se pueden volver a ingresar los datos.

Figura A.39

Men de secuencia de programa.

Tambin si el usuario desea crear un perfil, en la figura A.40 se le pregunta si desea almacenar estos datos para una posterior aplicacin o no. Si se desea almacenar los datos presionar el botn EJECUTAR y si no lo desea, presionar el botn ENTER.

Figura A.40

Men de grabacin de datos.

122

A.6.2 Software. Junto con el Hardware tambin viene un Software que cumple con las mismas funciones que el dispositivo fsico, pero con la diferencia que el software trabaja con la hora del PC. La comunicacin del Software con la cmara se hace a travs de una interfaz de comunicacin que consta de un cable USB-RS232 ms un circuito que cumple con la funcin de interruptor de la cmara A.6.2.1 Instalacin del Driver. Antes de ejecutar el programa, primero se debe instalar el DRIVER (que viene incluido en el CD) que permita la conexin del cable USB-RS232 con el PC 1) Introducir el CD que normalmente viene con el driver conversor RS232-USB.

2) Instalar el Driver PL2303_Prolific_DriverInstaller, o puede ser cualquier cable conversor. Este driver puede ser instalado en todos los sistemas operativos del Windows. 3) En la seccin Administrador de dispositivos en propiedades del sistema verificar si el puerto es reconocido o no. Si no es reconocido en el tem Puertos (COM & LPT) aparece en signo de interrogacin. 4) Comprobar si el puerto COM del cable es reconocido por el Driver.

5) Para verificar el puerto al que est conectado el dispositivo, hay que dirigirse a la seccin Administrador de dispositivos y ver en el tem Puertos (COM & LPT) en qu puerto est conectado el conversor. A.6.2.2 Instalacin del Software de programacin. En el CD viene incluido el COMDLG32.OCX, recordando que dependiendo del sistema operativo, se debe escribir el siguiente comando para registrar el archivo OCX: Windows 95, 98 o Me: Windows NT o 2000: Windows XP: Windows 7: C:\windows\system\COMDLG32.OCX C:\WINNT\system32\COMDLG32.OCX C:\windows\system32\COMDLG32.OCX C:\windows\system32\COMDLG32.OCX

A continuacin se detallarn las partes del programa y se ensear cmo usar este programa. La figura A.41 muestra la pantalla de inicio del programa.

123

A.6.2.3 Desarrollo del programa.

Figura A.41 Ventana principal del software.

1) Al inicio del programa, en la casilla marcada con azul con la leyenda Seleccione opcin de trabajo se debe elegir entre dos opciones: Hora Real o Cuenta Regresiva. 2) Una vez seleccionada la opcin de trabajo se procede a ingresar los datos correspondientes. En cada funcin el usuario se encuentra con 3 casillas, que van a corresponder a las Horas, Minutos y Segundos respectivamente. 3) Si el usuario ha ingresado un dato errneo en la casilla correspondiente aparece marcado en Amarillo la casilla que debe ajustar. En la figura A.42 se muestra un ejemplo en que el usuario ingresa un nmero mayor a 24 (que es la cantidad mxima de horas que se va a trabajar) sta aparece en Amarillo y el usuario deber ajustar.

Figura A.42

Ajuste en la cantidad de Horas.124

4) Una vez que el usuario ha terminado de ingresar los datos mediante el teclado, en la opcin Activar Programacin se guardan los datos y se procede a iniciar el programa. 5) En el caso que el usuario desea ingresar una cantidad de fotos mayor que 1, el programa le indica con un mensaje al usuario que debe ingresar un valor para los tiempos de intervalo, de lo contrario, al apretar el botn Activar Programacin el programa no se ejecuta y le indica un mensaje de error de ejecucin (figura A.43).

Figura A.43

Mensaje de error al ejecutar el programa.

6) Si el usuario desea salir del programa con el botn Detener de reinician los datos para una segunda aplicacin. 7) Este software tiene la capacidad de, si el usuario lo desea, crear un perfil y almacenarlo para una segunda aplicacin. En el botn guardar el usuario puede crear un archivo con el perfil que desea crear, y despus para volver a ocupar el mismo perfil, con el botn abrir busca el perfil ya creado para una siguiente aplicacin. Para ambos sistemas se utiliza el mismo modo de funcionamiento de la cmara. Esta tiene dos funciones, que son de importancia si el usuario desea trabajar con un tiempo inferior a 1 segundo, de modo que sea la propia cmara la que controle el tiempo de obturacin. Modo Bulb: funcin que le permite al usuario trabajar el obturador en forma manual, esto es, el diafragma permanece abierto mientras se mantenga presionado el pulsador. Modo Normal: funcin que le permite al usuario configurar el tiempo de obturacin directamente con la cmara. Esta funcin se debe usar cuando el tiempo de obturacin sea menor a 1 segundo. En este modo, al presionar el pulsador la cmara abre el obturador un tiempo controlado por la propia cmara. Si el pulsador permanece presionado, el diafragma no permanece abierto.

125

A.6.3

Ejemplos de aplicacin con el dispositivo en distintas funciones.

A.6.3.1 Para NUMERO DE FOTOS igual a 1 (una sola toma). Para este ejemplo, tanto en TIEMPO REAL como en CUENTA REGRESIVA se utiliza slo la programacin de la funcin RETARDO y la funcin OBTURACION, dado que programar INTERVALO no tiene sentido en este ejemplo. CUENTA REGRESIVA: A continuacin se ensear a programar el dispositivo para la funcin CUENTA REGRESIVA. Para este ejemplo se usar un tiempo de RETARDO de 1 Hora, 2 Minutos y 3 Segundos y con una OBTURACION de 5 Segundos. a) Encender dispositivo. Se obtiene la pantalla CUENTA REGRESIVA. b) Presionar EJECUTAR (1).

(1) c) Presionar >>>> o > o > o >> o > o > o > se cambia de funcin CUENTA REGRESIVA a TIEMPO REAL (13) y con el botn EJECUTAR se entra a la funcin (14).

129

(13)

(14) b) Presionar >>>> o > o > o > o > o > o >> o > o > o > o > o > o >> o > o > o > o > o > o > se cambia de funcin CUENTA REGRESIVA a TIEMPO REAL (43) y con el botn EJECUTAR se entra a la funcin (44).

138

(43)

(44) b) Presionar >>>> o > o > o > o > o > o >> o > o > o > o > o > o