Micfrontroladores PICAXE
Micfrontroladores PICAXE
Micfrontroladores PICAXE
6 Leccin 1: Primeras Experiencias con los PICAXE . . . . .9 Uso y prueba de leds: primeros programas en BASIC . . . . . . . . .9 Uso y prueba de timbres y zumbadores . . . . . . . . . . . . . . . . .12 Prueba y uso de sensores digitales . . . . . . . . . . . . . . . . . . . . .13 Prueba y uso de fotorresistencias . . . . . . . . . . . . . . . . . . . . . .14 Ms sobre el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . . .16 Entrenador PICAXE-18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Preparando el tablero tutorial . . . . . . . . . . . . . . . . . . . . . . . .18 El software gratuito para trabajar con PICAXE . . . . . . . . . . . . .18 Ejecutando un programa de muestra . . . . . . . . . . . . . . . . . . .19 Instrucciones para uso en Windows . . . . . . . . . . . . . . . . . . . .19 Aprendiendo a hacer programas en BASIC . . . . . . . . . . . . . . .20 Utilizando el comando Symbol . . . . . . . . . . . . . . . . . . . . . . .20 El circuito del entrenador PICAXE-18 . . . . . . . . . . . . . . . . . .21 Utilizando Bucles For...Next . . . . . . . . . . . . . . . . . . . . . . . . .22 Controlando la velocidad de un motor . . . . . . . . . . . . . . . . . .22 Uso de timbres y zumbadores electrnicos en el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Uso de entradas con sensores digitales . . . . . . . . . . . . . . . . . .23 Uso de entradas con sensores analgicos . . . . . . . . . . . . . . .24 Cmo se leen las entradas analgicas . . . . . . . . . . . . . . . . . .25 Programacin por organigramas o diagramas de flujo . . . . . . .25 Dibujando organigramas . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Uniendo bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Simulacin de pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
Convirtiendo organigramas . . . . . . . . . . . . . . . . . . . . . . . . .27 Utilizando smbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Guardando e imprimiendo organigramas . . . . . . . . . . . . . . . .28 Sistemas de nmeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Visualizando cifras analgicas en el display de 7 segmentos . . .29 Controlando motores paso a paso . . . . . . . . . . . . . . . . . . . . .29 Subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 El circuito del entrenador . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Examen Mltiple choisse Leccin 1 . . . . . . . . . . . . . . . . . . . .33 Leccin 2: Diseo y Construccin de Proyectos con PICAXE . . . . . . . . . . . . . . . . . . . . .35 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Kit entrenador para PICAXE 08 . . . . . . . . . . . . . . . . . . . . . . .39 Aprendiendo a programar la tarjeta entrenadora 08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 Juego de luces tipo auto fantstico . . . . . . . . . . . . . . . . . . . . .44 Alarma para puertas y ventanas empleando la tarjeta entrenadora PICAXE 08 . . . . . . . . . . . . . . . . . . . . .47 La Tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . .51 Aprendiendo a utilizar el ADC en la tarjeta entrenadora del PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . .53 Control de temperatura con la tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 Programa para desplegar nmeros BCD con la tarjeta entrenadora del PICAXE 18 . . . . . . . . . . . . . . . . . . . .63 Cerradura electrnica empleando la tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . .........68 Examen Multiple choisse Leccin 2 . . . . . . . . . . . . . . . . .........75
Director de la Coleccin Club SE Ing. Horacio D. Vallejo Jefe de Redaccin Pablo M. Dodero Autor de esta edicin: Ismael Cervantes de Anda, Docente de la Escuela de Cmputo (ESCOM) e Instituto Politcnico Nacional (IPN). Mxico DF. Club Saber Electrnica es una publicacin de Saber Internacional SA de CV de Mxico y Editorial Quark SRL de Argentina Editor Responsable en Argentina y Mxico: Ing. Horacio D. Vallejo Administracin Argentina: Teresa C. Jara
Administracin Mxico: Patricia Rivero Rivero Comercio Exterior Argentina: Hilda Jara Comercio Exterior Mxico: Margarita Rivero Rivero Director Club Saber Electrnica: Luis Leguizamn Responsable de Atencin al Lector: Alejandro A. Vallejo Coordinador Internacional Jos Mara Nieves Publicidad Argentina: 4301-8804 - Mxico: 5839-5277 Staff Vctor Ramn Rivero Rivero
Olga Vargas Liliana Vallejo Mariela Vallejo Javier Isasmendi Ramn Mio Fernando Ducach Areas de Apoyo Teresa Ducach Disprof Fernando Flores Claudio Gorgoretti Paula Vidal Ral Romero Internet: www.webelectronica.com.ar Web Manager: Luis Leguizamn
Club Saber Electrnica N 29. Fecha de publicacin: Mayo de 2007. Publicacin mensual editada y publicada por Editorial Quark, Herrera 761 (1295) Capital Federal, Argentina (005411-43018804), en conjunto con Saber Internacional SA de CV, Av. Moctezuma N 2, Col. Sta. Agueda, Ecatepec de Morelos, Mxico (005255-58395277), con Certificado de Licitud del ttulo (en trmite). Distribucin en Mxico: REI SA de CV. Distribucin en Argentina: Capital: Carlos Cancellaro e Hijos SH, Gutenberg 3258 - Cap. 4301-4942 - Interior: Distribuidora Bertrn S.A.C. Av. Vlez Srsfield 1950 - Cap. Distribucin en Uruguay: Rodesol SA Ciudadela 1416 Montevideo, 901-1184 La Editorial no se responsabiliza por el contenido de las notas firmadas. Todos los productos o marcas que se mencionan son a los efectos de prestar un servicio al lector, y no entraan responsabilidad de nuestra parte. Est prohibida la reproduccin total o parcial del material contenido en esta revista, as como la industrializacin y/o comercializacin de los aparatos o ideas que aparecen en los mencionados textos, bajo pena de sanciones legales, salvo mediante autorizacin por escrito de la Editorial. Revista Club Saber Electrnica, ISSN: 1668-6004
l campo de accin de los microcontroladores ha rebasado sus expectativas originales de aplicacin, ya que en la actualidad los podemos encontrar no slo en aplicaciones industriales (dentro de los PLCs por ejemplo), sino dentro de nuestras mismas casas. A lo mejor no lo sabemos, pero para precisar este comentario basta con sealar un aparato electrodomstico como es una lavadora automtica, que para controlar sus procesos de lavado, secado y pre - planchado, requiere de un microcontrolador. Y as podemos continuar con ms ejemplos, tales como las TV, las consolas de video juego, las PCs, el refrigerador, etc. Si los microcontroladores los tenemos en nuestras casas, imaginen en un vehculo, en los aviones, en los celulares, en resumen, se encuentran en todos aquellos aparatos o juguetes que se controlan por s mismos. En un futuro no sera extrao encontrar microcontroladores hasta dentro de nuestros cuerpos, controlando algn rgano o miembro artificial. Con el transcurso del tiempo los microcontroladores van ganando terreno, y se van incorporando a ms aplicaciones, tanto para el rea de diseo como para el de mantenimiento, lo que requiere de ms personas que tengan conocimientos sobre la programacin de microcontroladores. Si buscamos en el mercado microcontroladores de diferentes marcas, vamos a encontrar una gran cantidad de fabricantes, adems de muchas versiones que nos ofrecen, lo que nos da un volumen de matrculas enorme, dndonos alternativas muy diversas en cuanto a la eleccin de algn microcontrolador en particular. Del universo existente de microcontroladores, vamos a enfocarnos en los PICAXE, porque cuentan con una herramienta de programacin que nos facilita el aprendizaje, y una vez que tengamos la prctica y habilidad en la programacin, podremos emigrar a otro tipo de microcontroladores, porque con los PICAXE aprendemos a realizar diagramas de flujo, que es una herramienta indispensable en la programacin. Los conocimientos sobre programacin, normalmente se adquieren a travs de un curso formal ya sea en universidades o escuelas tcnicas, pero qu sucede con aquellas personas que no pueden, por cualquier razn, incorporarse a estudiar microcontroladores? Lo importante es que si alguien est interesado(a) en aprender a programar microcontroladores, y no puede llevar un curso formal, tenga una alternativa de estudio que pueda administrar la misma persona. El enfoque que tiene la presente obra, es la de llevar un curso comenzando en la primera parte con las caractersticas bsicas de los microcontroladores PICAXE, para que de manera genrica el lector pueda ingresar de forma fcil a la programacin de los microcontroladores. En la segunda parte de la obra, el lector podr adquirir conocimientos ms avanzados en cuanto a tcnicas de programacin, para ello se abordan los temas nuevamente explicando aspectos bsicos para reafirmar los conocimientos, y adems sobre distintos ejemplos se van explicando diferentes situaciones para ir incorporando diversas herramientas de programacin. Al finalizar cada una de las partes que conforman al libro, el lector se encontrar con un examen, que le permitir ir evaluando su nivel de conocimientos, y as pueda reforzar aquellas partes en donde se encuentre dbil. Pues bien querido lector, en general esta obra es el resultado del impulso que en Club Saber Electrnica, queremos darles a todas aquellas personas que tengan ganas de aprender, y por lo tanto, esperamos que este libro sea de su total agrado y utilidad, muchas gracias por elegirnos y hasta la prxima. Agradezco las facilidades prestadas por el Instituto Politcnico Nacional y en especial a la Escuela Superior de Cmputo, para la realizacin de la presente obra,la cual es el resultado de la comprobacin de diversos experimentos en sus laboratorios
ISBN N: 978-987-1116-91-1 CDD 621.381
PICAXE: La Nueva Forma de Programar un PIC Desde que el primer microprocesador vio la luz del mundo (el 4004), y cuya nica y principal operacin era una suma de 1 bit, se comenz con una carrera tecnolgica en la cual lejos de ver el fin, da tras da se van logrando cosas inimaginables. Tal es el caso de los microcontroladores que vendran a ser el ejemplo resumido y en pequeo de una computadora personal (PC).
Un microcontrolador, que puede ser de 8, 18, 28, 40 terminales o ms, internamente dentro de su encapsulado posee como equipamiento mnimo un microprocesador, memoria RAM, y distintas versiones de memoria ROM. Los microcontroladores ms avanzados, aparte de lo mencionado anteriormente, tambin llegan a poseer temporizadores, ADC, DAC, Comunicacin en paralelo, USAR, etc. En la figura 1 vemos todo lo necesario para programar un PICAXE. Un microcontrolador, desde el punto de vista de operacin, puede considerarse como si fuera una PC, ya que cuenta con el conjunto bsico de implementos que necesita realizar sus funciones, esto es, microprocesador, disco duro, memoria RAM, etc. Clsicamente, cuando programamos un microcontrolador,
Figura 1
Figura 2
de forma implcita se tiene que desarrollar un programa que trabaja a manera del BIOS de una PC, ya que lo primero que debemos tomar en cuenta es la configuracin de sus puertos ya sea como de entrada o de salida, configurar sus dems herramientas como pueden ser los temporizadores, los ACD, etc. Han aparecido en el mercado sistemas de desarrollo que permiten la programacin del microcontrolador de una manera relativamente fcil, en la cual se puede emular el proceso que nos interesa desarrollar. Para la mayora de estos sistemas de desarrollo, una vez que se tiene terminada la aplicacin, el paso siguiente es armar el prototipo e insertar el microcontrolador debidamente programado. Recientemente ha sido lanzado al mercado un sistema de desarrollo para programar microcontroladores PIC llamado PICAXE, que de por s quien ha utilizado estos microcontroladores puede constatar lo sencillo que resulta su programacin. El sistema de desarrollo PICAXE hace las cosas todava ms sencillas para el programador, ya que se cuenta con dos opciones para disear una aplicacin, una por medio de diagramas de flujo y otra es por medio de BASIC, y aunque esto no es ninguna novedad, ya que estas herramientas existan con anterioridad, lo ventajoso del PICAXE radica en el hecho de que se trata de un microcontrolador PIC el que en un segmento de memoria ROM interna le ha sido grabado, desde su fabricacin,
un firmware a manera de BIOS que simplifica la forma de programarlo. Al igual que en todos los sistemas de desarrollo, existen ya predefinidas toda una serie de tarjetas de prcticas sobre las cuales podemos emular las aplicaciones que hemos diseado, pero gracias al firmware que poseen los microcontroladores PICAXE se puede armar la aplicacin completa incluyendo al microcontrolador, y sobre la aplicacin programarlo sin necesidad del sistema de desarrollo, ni del circuito programador de microcontroladores. Ver figura 2. De hecho, el sistema PICAXE hace ms accesible la programacin de microcontroladores a todas aquellas personas que tan slo cumplan con el nico e indispensable requisito que es el de querer aprender. Vea en la figura 3 una pantalla de la aplicacin que nos permitir realizar el programa que vamos a cargar dentro del PIC. Aqu no vamos a mencionar las ventajas y desventajas del sistema PICAXE con respecto a otros; lo nico que podemos agregar es que se trata de otra manera de programar microcontroladores PIC, empleando diagramas de flujo y/o lenguaje BASIC, (figura 4) los cuales ya sea de manera consciente o totalmente implcita recurrimos a ellos para elaborar un programa. A lo largo de este libro iremos aprendiendo paso a paso la forma de cmo programar los microcontroladores bajo el sistema PICAXE. Para ello, como primer paso, emplearemos una tarjeta de desarrollo de la cual proporcionaremos su circuitera para que ustedes la puedan armar. Posteriormente, despus de realizar algunas prcticas, avanzaremos ya sobre aplicaciones en donde se tenga al microcontrolador como elemento principal y al cual programaremos en sitio. Pues bien, los invitamos a que exploren esta nueva forma de programar microcontroladores que, estamos seguros, les ser de gran utilidad.
Conociendo los Microcontroladores de este Sistema El PICAXE es un sistema de microcontroladores PIC muy fcil de programar ya que utiliza un lenguaje BASIC muy senci-
Figura 3
Figura 4
Figura 5
llo, adems de contar tambin con la posibilidad de programarlos con diagramas de flujo. El sistema PICAXE aprovecha todas las caractersticas de los microcontroladores de bajo costo que incorporan memoria FLASH. El sistema PICAXE est disponible en tres versiones que son el de 8 terminales (PICAXE-08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28). En estos microcontroladores ya se tienen definidas las terminaFigura 7 les que tienen la funcin de entrada y salida de datos, adems de las terminales que sirven para programar al PICAXE en sitio, o en otras palabras, sobre la misma aplicacin. En las figuras 5, 6 y 7 se muestran los circuitos esquemticos de la disposicin de cada uno de los microcontroladores PICAXE. En la figura 5 se muestra el circuito esquemtico para un PICAXE de 8 terminales, de las cuales las que estn identificadas como Pin1 E/S, Pin2 E/S, Pin3 E/S y Pin4 E/S, son terminales que pueden funcionar como entradas o salidas de datos del exterior hacia el microcontrolador. Las terminales
identificadas como Serial En y Serial Sal, se utilizan para programar al microcontrolador a travs del puerto serie de una PC, para lo cual las terminales del conector identificado como CON1 se hacen llegar al conector DB9 de la PC tal como se muestra en la figura 4. Por otra parte, de la misma figura 1 se observa que la terminal identificada como Serial Sal, cumple con una doble funcin, y dependiendo de dnde se ubique un jumper selector en el conector CON2, se podr programar al PIC o esa misma terminal. Una vez programado el PIC, tendr la funcin de una terminal de salida de datos. Del circuito esquemtico de la figura 6 Figura 6 se observa la forma en que estn dispuestas las terminales de un PICAXE de 18 terminales, de las cuales las que se encuentran identificadas como En 0, En 1, En 2, En 6 y En 7 son dedicadas exclusivamente a adquirir datos del exterior hacia el microcontrolador. Las terminales que se encuentran identificadas de la Sal 0 a Sal 7 son exclusivamente para enviar datos hacia afuera del microcontrolador, mientras que las terminales identificadas
como Serial Sal y Serial En se utilizan para programar al microcontrolador. En el circuito de la figura 7 se muestra la forma de conectar a un PICAXE de 28 terminales, en donde aparte de las terminales de entrada que se encuentran definidas como En 0 a En 7, tambin se cuenta con las terminales de salida identificadas como Sal 0 a Sal 7, adems de 4 terminales para entrada de datos analgicos, y por ltimo las terminales de programacin del microcontrolador. Ya se ha mencionado que el sistema PICAXE no requiere de programador o borrador, ya que utiliza nicamente tres alambres conectados al puerto serie de una computadora, tal como se describe en la figura 8. Una vez que han sido identificadas las terminales a utilizar en el conector del puerto serie de la PC, ahora lo que sigue es Figura 8
preparar la conexin hacia el PIC, tomando en cuenta las terminales tal como se observa en la figura 9. Como se puede apreciar de la figura 9, se puede emplear (es recomendable) un plug de los utilizados para conectar los audfonos a la salida de audio de un walkman o discman, y tener un cable con un conector DB9 en un extremo y un plug de audio en el otro, tal como se ilustra en la figura 10. Por ltimo, diremos que para armar el cable de programacin, tal como se muestra en la figura 10, en las figuras 8 y 9 se muestra la configuracin de las terminales tanto del conector DB9 como el plug de audio.
Utilitario Gratuito para Hacer Programas Lo diferente del sistema de microcontroladores PICAXE, con respecto a la programacin tradicional de los microcontroladores PIC, radica en la programacin basada en un lenguaje BASIC y diagramas de flujo. Esto hace que los microcontroladores del sistema PICAXE sean muy fciles de programar, en un ambiente amigable. Para programar los microcontroladores PICAXE debemos, en primera instancia, instalar el software que contiene el am-
Figura 9
Figura 10
biente de programacin, por lo que describiremos paso a paso la forma de hacerlo. El software lo puede bajar de nuestra pgina de internet que usted ya conoce www.webelectronica.com.ar; debe hacer click en el cono password e ingresar la clave PICAXEPRO. Recuerde que para bajar cualquier informacin, debe ser socio del club SE, lo cual es gratuito y puede inscribirse por Internet en slo un par de minutos (siga las instrucciones que dimos para bajar el programa PICAXEPRO y encontrar cmo hacerse socio si an no lo es). Una vez que se tenga el software, se encontrar con una carpeta con el nombre de progedit, a la cual debemos acceder (observe la figura 11). Luego debemos ingresar a la carpeta progedit y tenemos que ubicar el programa identificado como Programming Editor, al cual debemos de hacerle un doble click con el ratn de la PC para que ste se ejecute y se pueda instalar el programa de los PICAXE, tal como se muestra en la figura 12. Una vez que ejecutamos el programa de instalacin Programming Editor aparecer la ventana que se muestra en la figura 13, sobre la cual debemos oprimir con el ratn el cuadro
identificado como next para que contine la instalacin. Posteriormente ser desplegada la ventana donde se muestra la licencia que debemos aceptar, porque de otra manera no podremos continuar con la instalacin del software, por lo que nuevamente oprimiremos el cuadro identificado como next; esta accin se indica en la figura 14. Como paso siguiente, pregunta por el nombre del usuario que normalmente utilizar el software; aqu podemos instalar la aplicacin para que pueda ser utilizada por todas las personas que utilicen la computadora, y despus de seleccionar esta accin tenemos que oprimir el cuadro identificado como next, tal como se muestra en la figura 15. Posteriormente debemos decir en dnde se guardar el software de programacin, que por lo general, aqu no tenemos que modificar dato alguno, a menos de que querramos asignar otra localidad, tal como se ilustra en la figura 16. Una vez seleccionada la opcin correspondiente, procederemos a hacer click sobre el cuadro identificado como next. Por ltimo, aparecer una ventana de confirmacin para estar seguros de que los datos que introdujimos se encuentran correctos; si es as, debemos oprimir el cuadro identificado como next para que contine la instalacin, tal como se aprecia en la figura 17.
Cuando se est instalando el software, se indica grficamente tal como se ilustra en la figura 18; aqu debemos esperar hasta que se terminen de instalar, tanto el software de programacin como todas las utileras que sern empleadas por los PICAXE. En la figura 19 se muestra la ventana que nos indica que ya se ha concluido con la instalacin, por lo que debemos oprimir el cuadro identificado como finish. Una vez instalado el software de programacin de los PICAXE, en el escritorio de nuestra PC encontraremos un cono de acceso directo identificado como PICAXE Programming
Editor, al cual, para comenzar a programar los microcontroladores, debemos hacer un doble click con el mouse para que se ejecute el programa, tal como se muestra en la figura 20. En la figura 21 y 22 se observa un ejemplo del ambiente grfico, tanto en lenguaje BASIC como en diagrama de flujo. ******
Figura 20 - Icono de acceso rpido en el escritorio de la PC. Figura 17 - Ventana de confirmacin de datos.
Uso y Prueba de Leds: Primeros Programas en BASIC Para que un microcontrolador desarrolle una tarea mediante la ejecucin del programa que tiene grabado en su memoria, es preciso que el mismo est alimentado y posea componentes externos que permitan su funcionamiento. Normalmente se emplean resistencias, diodos emisores de luz, capacitores, buzzers piezoelctricos (zumbadores), interruptores, etc. El objetivo de este texto es que Ud. utilice al microcontrolador PICAXE como un elemento multipropsito y le saque el mayor jugo posible. Antes de explicar cmo se puede realizar la prueba de los componentes que trabajan con el microcontrolador, daremos
algunas consideraciones generales sobre las fuentes de energa que usaremos para alimentar a nuestro circuito. Qu es una batera? Una batera es una fuente de energa elctrica (es una fuente de potencia porttil). Las bateras estn constituidas por elementos qumicos que almacenan energa. Al conectarlas a un circuito, esta energa qumica se convierte en energa elctrica que puede luego alimentar al circuito. Qu tamao de batera se utilizan en electrnica? Las bateras vienen en todo clase de tipos y tamaos. La mayora de las bateras consisten en un grupo de pilas, en donde cada pila provee cerca de 1.5V (figura 1). Por lo tanto 4 pilas crean una batera de 6V y 3 pilas una de 4.5V. Como regla general, mientras ms grande es la batera, ms tiempo du-
Figura 1
rar (ya que contiene ms qumicos y por lo tanto ser capaz de convertir ms energa). Una batera de mayor voltaje no dura ms que una batera de menor voltaje. Por lo tanto, una batera de 6V formada por 4 pilas AA dura mucho ms que una batera PP3 de 9V (batera de 9V comn), ya que por ser fsicamente ms grande contiene una mayor cantidad total de energa qumica. Por lo tanto, aquellos equipos que requieren mucha potencia para operar (por ejemplo un reproductor porttil de CDs, el cual tiene un motor y un lser para leer los CDs) siempre utilizarn pilas AA y no bateras PP3. Los microcontroladores PICAXE generalmente requieren entre 3 a 6V para operar, y por lo tanto es mejor utilizar una batera formada por tres a cuatro pilas AA. Nunca utilice una batera PP3 de 9V ya que la alimentacin de 9V puede daar el microcontrolador. Qu tipo de batera debo utilizar? Los distintos tipos de bateras contienen diferentes qumicos. Las bateras de carbn-zinc son las ms baratas, y son adecuadas para utilizarse en muchos circuitos de microcontroladores. Las bateras alcalinas son ms costosas, pero tienen una vida mucho ms larga y se las debe emplear cuando se necesita alimentar dispositivos que requieren mucha corriente tales como motores. Las bateras de litio son mucho ms costosas pero tienen una larga vida, y por lo tanto se utilizan comnmente en circuitos de computadoras, videocaseteras, etc. Otro tipo de bateras son las bateras recargables, las cuales pueden recargarse cuando se agotan. Estas estn hechas, usualmente, de nquel y cadmio (Ni-cad) de hidrxido de metal cadmio (NiMH). Atencin: Nunca haga corto-circuito en los terminales de
una pila o una batera. Las bateras alcalinas y las recargables pueden suministrar corrientes muy grandes, y pueden calentarse tanto que pueden llegar a explotar o derretir la carcasa. Siempre asegrese de conectar la batera en el sentido correcto (rojo positivo (V+) y negro negativo -0V tierra-). Si las bateras se conectan al revs, el microcontrolador corre peligro de calentarse y daarse. Los paquetes de bateras se conectan a menudo, al circuito integrado mediante cables con conectores adecuados. Asegrese siempre que los cables rojo y negro estn conectados en la direccin correcta. Tambin es de mucha utilidad pasar los cables de la batera a travs de los agujeros del tablero antes de soldarlos en su lugar (esto proveer una unin mucho ms fuerte, la cual ser mucho menos propensa a soltarse). Nunca use una batera PP3 de 9V para alimentar directamente a un microcontrolador, ya que el mismo slo trabaja con voltajes entre 3 y 6V. Algunos soportes de bateras pequeas requieren la soldadura de cables a contactos metlicos en la caja. En este caso debe ser muy cuidadoso de no sobrecalentar los contactos metlicos. Si los contactos se calientan mucho, derretirn el plstico que los rodea y por lo tanto se caern. Una buena manera de prevenir esto es pedirle a un amigo que sostenga los contactos metlicos con una pinza pequea. Las pinzas actuarn como un disipador de calor y ayudarn a evitar que el plstico se derrita. Qu es un LED? Un Diodo Emisor de Luz (LED) es un componente electrnico que emite luz cuando la corriente pasa a travs de l. Un LED es un tipo de diodo especial. Un diodo es un componente que slo permite el flujo de corriente en una direccin. Por lo tanto al utilizar un diodo, el mismo debe estar conectado en la direccin correcta. La pata positiva (nodo) de un LED es ms larga que la pata negativa (mostrada por una barra en el smbolo). La pata negativa tambin posee un extremo plano en la cubierta plstica del LED. En la figura 2 se puede observar el aspecto y el smbolo de un led. Para qu se utilizan los LEDs? Los LEDs se utilizan principalmente como luces indicadoras. Los LEDs rojos y verdes se utilizan, comnmente, en artefactos electrnicos tales como televisores para mostrar si el televisor
Figura 2
Figura 3
est encendido o si est en el modo stand-by (en espera). Los LEDs estn disponibles en una variedad de colores diferentes, incluyendo rojo, amarillo, verde y azul. Existen tambin LEDs ultra-brillantes, los cuales se utilizan en luces de seguridad tales como las luces intermitentes utilizadas en bicicletas. Los LEDs infrarrojos producen una luz infrarroja que no es visible al ojo humano, pero que puede utilizarse en dispositivos tales como mandos a distancia de equipo de video. Cmo se usan los LEDs? Los LEDs slo necesitan una pequea cantidad de corriente para operar; esto los hace mucho ms eficientes que las lamparitas elctricas (esto significa, por ejemplo, que si se tuviera una alimentacin por bateras un LED alumbrara por mucho ms tiempo que una bombilla elctrica). Si se pasa demasiada corriente por un LED el mismo se puede daar; es por esto que los LEDs normalmente se utilizan junto con una resistencia en serie para protegerlos de corrientes excesivas. El valor de la resistencia requerida depende del voltaje de la batera utilizada. Para una batera de 4.5V se puede utilizar una resistencia de 330 o 330R que es lo mismo (fig. 3), y para una batera de 3V lo apropiado es una resistencia de 120. Cmo se conecta un LED a un microcontrolador? Debido a que el LED slo requiere una pequea cantidad de corriente para operar, el mismo se puede conectar directamente entre un pin de salida del microcontrolador y 0V (sin olvidar incluir la resistencia en serie para proteccin). Cmo se prueba el LED con el microcontrolador? Despus de conectar el LED, el mismo puede probarse utilizando un simple programa tal como el siguiente: Main: High Wait Low Wait Goto 0 1 0 1 main
descargue el programa (asegrese que el entrenador est bien conectado por medio del cable al puerto serial de la PC), luego corra el jumper a la posicin salida y vea si obtiene el funcionamiento deseado. Si el LED no funciona verifique: 1. que el LED est conectado en la salida 0 (por medio de un simple cablecito). 2. que se est utilizando la resistencia correcta en la placa entrenadora y que el LED est en el sentido correcto. 3. que se est utilizando el nmero de pin correcto dentro del programa. 4. que todos los componentes estn bien soldados. Para la prueba, se puede emplear tambin el circuito de una mascota virtual (figura 4) dado que ser uno de los proyectos que presentaremos ms adelante. El programa de la tabla 1 enciende y apaga 15 veces al LED conectado al pin de salida 0 utilizando una tcnica de programacin BASIC llamada bucle for...next (esta tcnica no puede utilizarse con organigramas). _________________________________________ Tabla 1: Programa para encender y apagar un led 15 veces Main: For b1 = 1 to 15 ;inicio de un bucle High 0 ;se pone en alto la salida 0 Pause 500 ;se hace una pausa de 1/2 seg. Low 0 ;se pone en estado bajo la salida 0 Pause 500 ;se hace una pausa de 1/2 seg. ;se contina con el bucle hasta que termine Next b1 End ; fin del programa _____________________________________________________
Figura 4
Este programa debe encender y apagar el LED (conectado al pin de salida 0) una vez por segundo. Para realizar esta primera prctica, ejecute el utilitario Editor de Programa segn lo descrito (descripto) en este mismo captulo; luego, escriba el programa anterior, conecte la placa entrenadora con el PICAXE colocado, asegrese que el jumper correspondiente est en el lado de programacin, conecte uno de los leds de la placa en la salida 0,
Figura 5
El nmero de veces que el cdigo debe repetirse se almacena en la memoria del chip PICAXE utilizando una variable llamada b1 (el PICAXE tiene 14 variables nombradas de b0 a b13). Una variable es un registro de almacenamiento de nmeros dentro del microcontrolador, que el mismo puede utilizar para almacenar nmeros a medida que el programa se ejecuta. Le aconsejamos que lea o repase todo lo anterior nuevamente, que baje de Internet el programa para trabajar con PICAXE y practique con el ejercicio que acabamos de dar y con los que seguimos:
Cmo se usan los zumbadores? La conexin de los zumbadores a un PICAXE es muy sencilla. Simplemente conecte el cable rojo al pin de salida del microcontrolador y el cable negro a 0V (tierra), figura 5. Tome en cuenta que los zumbadores ms econmicos no tienen cubierta plstica exterior. En estos casos es necesario montar el zumbador sobre una seccin del circuito impreso (con cinta adhesiva de doble contacto) para crear un sonido que se pueda escuchar. El circuito impreso acta como una caja de sonido (baffle) y amplifica el sonido emitido por el zumbador. Asegrese de pegar la cinta adhesiva al lado correcto del zumbador (el lado de bronce que no tiene los cables!). En algunas ocasiones puede que desee emitir sonidos ms fuertes. En este caso lo adecuado es utilizar un parlante (bocina) en vez de un zumbador. Al utilizar parlantes es necesario conectar un condensador (por ejemplo un capacitor electroltico de 10F) al circuito del microcontrolador para evitar causarle daos al chip. Recuerde que, al igual que el zumbador, los parlantes slo operan correctamente si estn montados en una caja de sonido. Despus de conectar el zumbador, el mismo puede probarse utilizando un simple programa tal como el siguiente: Main:
Uso y Prueba de Timbres y Zumbadores Qu es un zumbador electrnico? Un zumbador electrnico es un miniparlante (minibocina) de bajo costo que se utiliza para hacer sonidos. El sonido generado por el zumbador puede cambiarse alterando las seales electrnicas suministradas por el microcontrolador. Para qu se utilizan los zumbadores? Los zumbadores se utilizan en una gran variedad de diferentes productos para dar retroalimentacin al usuario. Un buen ejemplo de esto es una mquina expendedora, la cual emite un sonido cada vez que se presiona un botn para escoger un refresco o algo para comer. Este sonido da retroalimentacin al usuario para indicarle que se recibi la seal del botn presionado. Otros tipos de zumbadores se utilizan a menudo en tarjetas musicales de cumpleaos, para tocar una meloda cuando se abre la tarjeta. Cul es la diferencia entre un zumbador y un timbre ? El timbre (o sirena) contiene un pequeo circuito electrnico, el cual genera la seal electrnica necesaria para emitir un sonido. Por lo tanto, cuando el timbre se conecta a una batera siempre emitir el mismo sonido. El zumbador no tiene este circuito y por ende necesita una seal externa. Esta seal puede suministrarla un pin de salida del microcontrolador. El zumbador tambin requiere menos corriente para operar y por lo tanto durar ms en circuitos alimentados por bateras.
Sound 2, (65,100) Sound 2, (78,100) Sound 2, (88, 100) Sound 2, (119, 100) Go to main Este programa har que el zumbador (conectado al pin de salida 2) haga 4 sonidos diferentes (valores 65, 78, 88, 119), siguiendo el diagrama de flujo de la figura 6. Vea qu sencillo es programar Figura 6 main (del ingls principal), es una etiqueta que dice que est por empezar el programa. sound 2 es una instruccin que dice que el PICAXE genere un sonido y lo emita por la salida 2, cuya frecuencia depender del primer nmero que est entre parntesis en la instruccin y su valor puede ser cualquiera entre 0 y 127. De la misma mamera que antes, podemos probar este programa, utilizando el entrenador propuesto en este captulo y conectando el zumbador en la salida 2. Ejecute el utilitario Editor de Programa; luego, escriba el programa anterior, conecte
la placa entrenadora con el PICAXE colocado, asegrese que el jumper correspondiente est en el lado de programacin, conecte el zumbador en la salida 2, descargue el programa (asegrese que el entrenador est bien conectado por medio del cable al puerto serial de la PC), luego corra el jumper a la posicin salida y vea si obtiene el funcionamiento deseado. Si el zumbador no funciona verifique: 1. Que el valor del sonido (primer nmero en el parntesis) est entre 0 y 127. 2. Que se est utilizando el nmero de pin correcto dentro del programa. 3. Que todas las conexiones estn bien soldadas. Para probar este elemento tambin puede utilizar el circuito de la mascota virtual. En sntesis, al utilizar el comando sound, el primer nmero indica el nmero de pin (en los proyectos el pin 2 es utilizado frecuentemente). El siguiente nmero es el tono, seguido por la duracin. Mientras ms alto es el tono, mayor ser la altura tonal del sonido (tome en cuenta que algunos zumbadores no pueden emitir tonos muy altos y; por lo tanto, valores mayores de 127 puede que no se escuchen). Al utilizar sonidos mltiples puede incluirlos todos en la misma lnea. Por ejemplo: Sound 2, (65,100, 78, 100, 88, 100, 119, 100) El programa BASIC mostrado en la tabla 2 utiliza un bucle for...next para emitir 120 sonidos diferentes, utilizando la variable b1 para almacenar el valor (tono) del comando sound. El nmero almacenado en la variable b1 aumenta 1 en cada bucle (1-2-3-etc.); por lo tanto, al utilizar la variable b1 en la posicin del tono, la nota se cambia en cada bucle. El programa de la tabla 3 realiza la misma tarea, pero en orden inverso (contando el tono en cuenta regresiva). ___________________________________________________ Tabla 2 Main: For b1 = 1 to 120 step-1 ,iniciar un bucle for next Sound 2, (b1, 50) ,emita un sonido con el tono b1 Next b1 , siguiente b1 End ,fin del programa ___________________________________________________ Tabla 3 Main: For b1 = 120 to 1 step-1 ,iniciar un bucle for next Sound 2, (b1, 50) ,emita un sonido con el tono b1 Next b1 ,siguiente b1 End ,fin del programa ___________________________________________________
Le aconsejamos que baje de Internet el programa para trabajar con PICAXE y realice sus propios ejemplos. Si no tiene los programas para trabajar con los microcontroladores PICAXE, puede bajarlos sin cargo de nuestra web: www.webelectronica.com.ar, haciendo click en el cono password e ingresando la clave: picaxe212.
Prueba y Uso de Sensores Digitales Qu son los interruptores digitales? Un sensor digital es simplemente un componente del tipo interruptor, el cual slo puede estar en dos posiciones: encendido apagado. Si dibujramos una grfica de las seales de encendido-apagado del interruptor a medida que se oprime, el mismo se vera como se muestra en la figura 7. Los interruptores son componentes electrnicos que detectan movimientos. Existe una gran variedad de interruptores diferentes, por ejemplo: 1) interruptores de botn de presin que detectan cuando el botn ha sido oprimido 2) micro-interruptores con palanquitas largas que detectan pequeos movimientos 3) interruptores de nivel que detectan sacudidas 4) interruptores de lengeta (reed switches) que detectan el movimiento de un imn Para qu se utilizan los Interruptores? Los interruptores de botn de presin se utilizan comnmente en dispositivos tales como teclados. Los micro-interruptores se utilizan en alarmas contra robos, para detectar si se ha quitado la cubierta de la caja de la alarma. Los interruptores de lengeta (reed switches) se utilizan para detectar la apertura de puertas y ventanas, y los interruptores de nivel se utilizan a menudo para detectar movimiento en dispositivos tales como juguetes, secadores y alarmas. Los smbolos para un interruptor deslizante y para un interruptor de presin, se muestran en la figura 8. Los interruptores se instalan en los circuitos junto a una resistencia como se Figura 8 Figura 7
muestra en el diagrama de la figuTabla 4 ra 9. El valor de la resistencia no es importante, pero a menudo se utiliza una resistencia de 10k. Cuando el interruptor est abierto, la resistencia de 10k conecta el pin de entrada del microcontrolador a 0V, lo cual da una seal de apagado (nivel lgico 0) al pin de entrada del microcontrolador. Cuando el interruptor se activa, el pin de entrada se conecta al terminal positivo de la batera (V+). Esto da una seal de encendido (nivel lgico 1) al microcontrolador. El interruptor puede probarse utilizando un simple programa tal como el mostrado en la tabla 4. Este programa encender o apagar una salida dependiendo de si el interruptor es presionado o no. En este programa las tres primeras lneas constituyen un bucle continuo. Mientras la entrada est apagada, el programa seguir reinicindose una y otra vez. Si la entrada est encendida, el programa salta a la Figura 9 etiqueta llamada flash. El programa luego enciende por 2 Figura 10 segundos la salida 0 antes de regresar al bucle principal. Note cuidadosamente la ortografa de la lnea: if...then input3 (entrada 3) es una sola palabra (sin espacios en blanco). Es permitido utilizar tanto pin3 como input3, ambas significan lo mismo. Note tambin que despus del comando then, nicamente est la etiqueta en este punto no se permite ninguna otra palabra aparte de la etiqueta. Figura 11
Para realizar la prueba del interruptor con este programa, deber conectar el interruptor en la entrada 3 del entrenador y en la salida deberemos conectar un led. Luego, una vez descargado el programa siguiendo el procedimiento que explicamos para otros ejemplos, cada vez que presione el pulsador y lo mantenga presionado, se encender el led conectado en la salida 0 durante 2 segundos. Recuerde que para programar el jumper de la pata 7 debe estar del lado de programacin y luego del lado de salida 0 para que el circuito trabaje segn lo programado.
Prueba y Uso de Fotorresistencias Qu es una fotorresistencia? Una fotorresistencia es un tipo especial de resistencia, la cual reacciona a cambios en el nivel de luz. La resistencia de la fotorresistencia cambia a medida que vara la cantidad de luz que incide sobre la ventana del dispositivo. Esto permite a los circuitos electrnicos medir cambios en el nivel de luz. Vea en el captulo siguiente a la explicacin del funcionamiento de los PICAXE-18 la curva de respuesta y otros datos relevantes sobre las fotorresistencias. Para qu se utilizan las fotorresistencias? Las fotorresistencias se utilizan en las lmparas automticas de las rutas para encenderlas durante la noche y apagarlas durante el da. Tambin se utilizan en muchas alarmas y juguetes para medir niveles de luz. La fotorresistencia es un sensor del tipo analgico. Un sensor analgico mide una seal continua tal como luz, temperatura o posicin (en vez de una seal digital de encendido/apagado como es el caso de un interrup-
tor). El sensor analgico provee como seal un voltaje variable. Esta seal de voltaje puede representarse mediante un nmero entre el 0 al 255 (Por ejemplo: muy oscuro = 0, luz brillante = 255). Las fotorresistencias se pueden utilizar de dos maneras. La manera ms simple de utilizar una fotorresistencia es como un simple interruptor de encendido/apagado (digital) cuando el nivel de luz sube por arriba de cierto valor (llamado el valor de umbral), la fotorresistencia enviar una seal de encendido; cuando el nivel de luz est debajo de cierto nivel, la fotorresistencia enviar una seal de apagado. En este caso, la fotorresistencia se coloca en una configuracin de divisor de voltaje con Figura 13 una resistencia estndar. El valor de la resistencia estndar define el valor de umbral. Para fotorresistencias miniatura el valor adecuado es 1k, para fotorresistencias ms grandes del tipo ORP12 una resistencia de 10k es ms adecuada. Si se desea la resistencia fija puede reemplazarse por una resistencia variable de manera que el valor de umbral se pueda ajustar para diferentes valores del nivel de luz (figura 10). Una manera ms verstil de utilizar la fotorresistencia es midiendo un cierto nmero de valores de luz diferentes, de manera que las decisiones se puedan tomar para niveles de luz cambiantes en vez de un solo nivel de umbral fijo. Un valor cambiante se conoce como un valor analgico. Para medir valores analgicos el microcontrolador debe tener un convertidor analgico/ digital y adems el software utilizado debe ser capaz de soportar el uso de este convertidor. La mayora de los microcontroladores slo tienen convertidores a-d en algunos de sus pines de entrada; por lo tanto, el pin de entrada se debe seleccionar cuidadosamente.
Figura 12
En el microcontrolador de 8 patas slo uno de los pines puede utilizarse. El circuito electrnico que utiliza el convertidor a-d es un circuito divisor de voltaje idntico al mostrado en la figura 10. Las mediciones analgicas se realizan dentro del microcontrolador mismo. Para realizar una prueba, conecte la fotorresistencia, la misma se puede probar como un interruptor digital utilizando un simple programa tal como se ve en el diagrama de la figu-
ra 11 (que tambin muestra el diagrama de flujo que d origen al programa). Este programa encender y apagar la salida 0 de acuerdo al nivel de luz. Para probar la fotorresistencia, conctela al entrenador de la figura 13 y siga los procedimientos que hemos utilizado para la prueba de otros componentes. La misma se puede probar como un sensor analgico utilizando un simple programa, tal como se ve en la figura 12. El comando readadc se utiliza para leer el valor analgico (un nmero entre 0 y 255) dentro de la variable b1. Una vez que este nmero est en la variable b1, el mismo se puede probar para ver si es mayor que 100 mayor que 50. Si es mayor que 100 la salida 4 se enciende, si est entre 50 y 100 se enciende la salida 0, y si es menor de 50 ambas salidas se apagan. De esta manera culminamos este captulo presentacin de los microcontroladores PICAXE. Veamos ahora cmo trabajar con los PICAXE-18.
A manera Figura 15 de ejemplo, un horno de microondas (figura 15) puede utilizar un solo microcontrolador para procesar informacin proveniente del teclado numrico, mostrar informacin para el usuario en la pantalla y controlar los dispositivos de salida (motor de la mesa giratoria, luz, timbre y magnetrn). Un microcontrolador puede, a menudo, reemplazar a un gran nmero de partes separadas, o incluso a un circuito electrnico completo. Algunas de las ventajas obtenidas con el uso de microcontroladores en el diseo de productos son: Aumento en la confiabilidad debido al menor nmero de partes. Reduccin en los niveles de existencia ya que un microcontrolador reemplaza varias partes. Simplificacin del ensamblaje del producto y productos finales ms pequeos. Gran flexibilidad y adaptabilidad del producto, ya que las funciones del producto estn programadas en el microcontrolador y no incorporadas en el hardware electrnico. Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrnico. Algunas de las aplicaciones que utilizan microcontroladores incluyen artefactos domsticos, sistemas de alarma, equipo mdico, subsistemas de automviles y equipo electrnico de instrumentacin. Algunos automviles modernos contienen ms de treinta microcontroladores, utilizados en una amplia variedad de subsistemas desde el control del motor hasta el cierre a control remoto. En la Industria, los microcontroladores son usualmente programados utilizando programacin en lenguaje C. Sin embargo, debido a la complejidad de este lenguaje, es muy difcil, para estudiantes muy jvenes de bachillerato, el uso adecuado de dicho lenguaje.
Recordemos: Recordemos: El microcontrolador PICAXE es un PIC al que se le graba un pequeo programita interno (firmware) para que pueda ser programado directamente sin la necesidad de un cargador y los programas se pueden hacer en BASIC y en otros entornos muy amigables. En sntesis, tiene todas las bondades del PIC, pero son mucho ms fciles de usar. A modo de sntesis, por si Ud. ha comenzado la lectura por esta seccin, digamos que el microcontrolador PIC (microcontrolador programable, figura 14) es a menudo descrito como una computadora en un chip. Es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de entrada/salida, en una sola unidad. Estos microcontroladores son comprados en blanco y luego programados con un programa especfico de control. Una vez programado, este microcontrolador es introducido en algn producto para hacerlo ms inteligente y fcil de usar.
Figura 14
Ms Sobre el Sistema PICAXE El sistema PICAXE es un sistema de microcontrolador fcil de programar que utiliza un lenguaje BASIC muy simple, el
Figura 16
Figura 17
cual la mayora de los estudiantes pueden aprender rpidamente. El sistema PICAXE explota las caractersticas nicas de la nueva generacin de microcontroladores de bajo costo FLASH. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un costoso programador PIC. El poder del sistema PICAXE radica en su sencillez. No necesita de ningn programador, borrador o complejo sistema electrnico. El programa puede escribirse en BASIC o por medio de un diagrama de flujo y se carga mediante una conexin de tres cables conectada al puerto serie de la computadora. El circuito microcontrolador PICAXE utiliza nicamente tres componentes y puede ser ensamblado en un tablero experimental para componentes electrnicos (protoboard), en una placa universal (de las que se venden en casas de electrnica) o en una placa PCB (vea la figura 16). EL sistema PICAXE est disponible en distintas variedades: 8 pines, 18 pines y 28 pines. El controlador PICAXE-28 provee 22 pines de entrada/salida (8 salidas digitales, 8 entradas digitales y 4 entradas analgicas). El sistema PICAXE-18 provee 8 salidas y 5 entradas y el sistema PICAXE-08 provee 5 terminales para ser usados como entradas o salidas (con algunas restricciones). Las principales caractersticas de los microcontroladores PICAXE son: Bajo costo, circuito de fcil construccin. Hasta 8 entradas, 8 salidas y 4 canales analgicos. Rpida operacin de descarga del programa a la memoria del PICAXE mediante el cable serial. Software Editor de Programacin gratuito y de fcil uso. Lenguaje BASIC simple y fcil de aprender. Editor de diagramas de flujo incluido. Puede ser programado, tambin, mediante el software Crocodile Technology. Extenso nmero de manuales gratuitos y foro de apoyo en lnea. Tablero experimental y tutoriales disponibles. Paquete de control remoto infrarrojo disponible. Paquete de servocontrolador disponible. Los PICAXE son microcontroladores cuya licencia corres-
ponde a la empresa Revolution Education. Son PICs comunes (de la empresa Microchip) que poseen un pequeo programita interno que los hace ms fciles de operar. De esta manera, un PICAXE puede reemplazar a un PIC, pero un PIC no puede reemplazar a un PICAXE (dado que el PIC no tiene ese programita). Si Ud. compra un PICAXE, ver que tiene la matrcula de un PIC, sin embargo NO ES UN PIC comn, es un PIC que ha sido programado y as se ha convertido en un PICAXE. El sistema PICAXE consiste en tres componentes principales: 1) El Software Editor de Programacin: Este software debe ser ejecutado en una computadora y permite utilizar el teclado de la PC para escribir programas en un simple lenguaje BASIC. Los programas tambin pueden generarse dibujando diagramas de flujo. Alternativamente, el software Crocodile Technology puede ser utilizado para simular circuitos electrnicos completos, programndolos con diagramas de flujo. Por favor, vea el apndice de Crocodile Technology para mayor informacin. 2) El cable serie: Este es el cable que conecta el sistema PICAXE a la computadora. El cable slo necesita ser conectado durante la descarga de programas. No debe ser conectado cuando el PICAXE est siendo ejecutado debido a que el programa est permanentemente almacenado en el chip PICAXE, aun cuando la fuente de alimentacin haya sido desconectada. Hay dos tipos de cables para descarga disponibles (al usar el tablero experimental tutorial cualquiera de los dos cables puede ser utilizado), los cuales se conectan ya sea a un conector cabecera de tres pines o a un conector hembra estreo pequeo (J35), figura 17.
Entrenador PICAXE-18 Vamos a explicar cmo se utiliza un entrenador para PICAXE-18. Para ello, se supone que Ud. posee un tablero (placa de circuito impreso) ya montado. Si no lo tiene, no se preocupe, en este libro explicaremos cmo puede hacerlo Ud. mismo. Hay tres tipos de tableros electrnicos de tutoriales/proyectos disponibles: Figura 18a 3) El chip PICAXE y el tablero electrnico: El microcontrolador PICAXE ejecuta programas que han sido descargados al mismo. Sin embargo, para operar, el chip debe ser montado en un tablero electrnico que provea una conexin al chip microcontrolador. El tablero electrnico puede ser diseado por el usuario en un circuito impreso, en una interfaz prefabricada o, para ahorrar tiempo y por conveniencia, utilizar el tablero electrnico tutorial includo. Tanto en la figura 17 como en la figura 18, se pueden ver tableros que asumen el uso del microcontrolador PICAXE-18 (18 pines) montado en el tablero electrnico tutorial. A modo de ejemplo, y antes de continuar con la descripcin de los microcontroladores PICAXE, damos a continuacin el procedimento que suele ser empleado para trabajar con este sistema: 1. Escriba el programa en la computadora utilizando el software Programming Editor. 2. Conecte el cable de descarga desde la computadora al PICAXE. 3. Conecte el acumulador elctrico (batera) al PICAXE. 4. Utilice el software Editor de Programacin para descargar el programa. El cable de descarga puede ser removido posteriormente a la descarga. El programa comenzar a ejecutarse en el PICAXE automticamente. Sin embargo, el programa puede ser reiniciado en cualquier momento presionando el interruptor de reinicio. Figura 18b 1) Tablero electrnico tutorial: Este es un tablero tutorial que contiene interruptores, sensores, una pantalla de siete segmentos y conexiones para dispositivos de salida (es el tablero de la figura 17). 2) Tablero de Proyecto Estndar: Este es un tablero de proyecto que provee de 8 salidas (encendido / apagado on/off) digitales mediante un controlador Darlington (figura 18a). 3) Tablero para Proyecto de Alta Potencia: Este es un tablero que provee de 4 salidas digitales (mediante controladores FET) y dos salidas para motores reversibles (figura 18b).
Preparando el Tablero Tutorial Antes de usar el tablero tutorial, el mismo debe ser conectado a las bateras elctricas. La figura 19 nos muestra el enchufe hembra para caja de bateras. Localice los cables de la caja de bateras y doble el cable desnudo sobre el aislante en ambos cables. Coloque el cable rojo en el conector hembra marcado V+ y el negro en el conector marcado O V. Apriete los tornillos de manera que tanto el cable desnudo como el aislante queden atrapados en el enchufe, esto provee una conexin ms fuerte que simplemente prensando el cable desnudo. Utilice siempre la caja de bateras elctricas de 6V (se requiere de 4 pilas AA) suministrada. NO use una batera PP3 de 9V.
El Software Gratuito para Trabajar con PICAXE Requerimientos: Windows 95/98/ME/NT/2000/XP El software puede bajarlo de la pgina del fabricante (www.rev-ed.co.uk) o de nuestra web: www.webelectronica.com.ar (con la clave picaxe) y debe instalarse haciendo un click en el ejecutable, es decir, debe
Figura 19
instalar el software Editor de Programacin siguiendo las instrucciones en su pantalla. Si no lo tiene en su computadora, deber tambin instalar el software Adobe Acrobat Reader, ya que lo necesitar para poder leer los manuales de ayuda. Ejecutando un Programa de Muestra El siguiente programa enciende y apaga la salida 7 cada segundo. Cuando usted descarga este programa sobre el PICAXE del tablero (entrenador), el punto decimal del display de siete segmentos debe encenderse y apagarse cada segundo. main: high 7 pause 1000 low 7 pause 1000 goto main Este programa utiliza los comandos high y low para controlar el pin de salida 7, y utiliza el comando de pause para causar un retardo (1000 ms = 1 segundo). El ltimo comando, el comando goto hace que el programa salte a la etiqueta main, que es el comienzo del programa. Esto significa que el programa es un bucle perpetuo (lazo cerrado). Note que la primera vez que la etiqueta es utilizada, debe estar seguida por un smbolo de dos puntos (:). Este smbolo indica a la computadora que la palabra es una nueva etiqueta. A continuacin explicamos, paso a paso, cmo realizar este primer ejercicio de prueba: 1. Conecte el cable PICAXE a un puerto serie de la computadora y preste atencin a cul de los puertos lo conecta (normalmente COM1 COM2). 2. Ejecute el Software Programming Editor. 3. En el men desplegable escoja Ver -> Opciones para acceder a la pantalla de opciones (sta puede que aparezca automticamente). 4. Haga click en Modo y seleccione PICAXE-18 5. Haga click en Puerto Serie y seleccione el puerto serie al cual el cable PICAXE est conectado, luego haga click en OK. 6. Escriba el siguiente programa: main: high 7 pause 1000 low 7 pause 1000 goto main (Tome en cuenta el smbolo (:) directamente despus de la Figura 20 etiqueta main y los espacios entre los comandos y los nmeros). 7. Asegrese que el circuito PICAXE est conectado al cable serie y a las bateras. 8. Seleccione PICAXE -> Ejecutar. Una barra de descarga de programa debe aparecer mientras el programa es descargado. Al terminar la descarga, el programa debe comenzar a ejecutarse automticamente. El punto decimal LED -Light Emitting Diode: Diodo Emisor de Luz- en la salida 7, deber encenderse y apagarse una vez por segundo.
Instrucciones para Uso en Windows Damos, a continuacin, un listado de botones correspondientes a la barra del men (figura 20): Open = Abrir Save = Guardar o Salvar Cut = Cortar Copy = Copiar Paste = Pegar Print = Imprimir Run = Ejecutar a) Para descargar y ejecutar un programa: 1. Verifique que el cable de descarga est conectado tanto al PICAXE como al puerto serie de la computadora. 2. Verifique que las bateras estn conectadas al PICAXE. 3. Asegrese que el software Programming Editor est en el modo correcto (La palabra PICAXE-18 debe aparecer en la barra de estado en la esquina inferior izquierda de la pantalla). 4. Haga click en Ejecutar (o en el respectivo botn de la barra de herramientas) b) Para salvar un programa: 1. Haga click en Archivo -> Guardar como( en el respectivo botn de la barra de herramientas) 2. Escriba el nombre bajo el cual quiere guardar el archivo 3. Haga click en <OK> c) Para abrir un programa guardado: 1. Haga click en Archivo -> Abrir (o en el respectivo botn de la barra de herramientas)
Este programa utiliza el comando wait. Los comandos wait y pause se utilizan para crear retardos o tiempos muertos. Sin embargo, el comando wait puede ser utilizado nicamente con segundos enteros mientras que pause se puede utid) Para iniciar un nuevo programa: lizar para retardos ms cortos (el mismo se asigna en milsimas 1. Haga click en Archivo- Nuevo de segundo). Al comando wait se le pueden asignar nmeros del 1 al 65, los cuales deben escribirse despus del comando. e) Para imprimir un programa: Al comando pause se le pueden asignar nmeros entre 1 y 1. Haga click en Archivo -> Imprimir (o en el respectivo 65535. botn de la barra de herramientas) Es una buena tcnica de programacin usar tabulaciones 2. Si desea que a cada lnea del programa se le asigne un n(o espacios) al inicio de lneas sin etiquetas de manera que los mero, asegrese de marcar la casilla Imprimir nmeros de lnea. comandos estn alineados. El trmino espacios en blanco es 3. Haga click en <OK> utilizado por programadores para definir tabulaciones, espacios y lneas en blanco. Dichos espacios en blanco, utilizados correctamente, hacen al programa mucho ms fcil de leer y Aprendiendo a entender (vea las tabulaciones que hemos hecho en el prograHacer Programas en Basic ma de la tabla5; en la primera columna ponemos etiquetas o definimos variables, en la segunda columna colocamos las insUtilizando el Comando Symbol trucciones y en la tercera columna estn los comentarios que facilitan la comprensin del programa). Nota: Algunas versiones antiguas de lenguaje BASIC utiliAlgunas veces es difcil recordar cules pines estn coneczan nmeros de lnea en vez de etiquetas para trabajar con tados a cules dispositivos. El comando symbol puede, en eslos comandos goto. Desafortunadamente, este sistema puede tos casos, ser utilizado al inicio del programa para renombrar ser muy inconveniente ya que si el programa es modificado poslas entradas y salidas. Note que este programa asume la coneteriormente agregando o eliminando lneas, todos los nmeros xin de un timbre externo al pin de salida 7. Ver tabla 5. de lnea posteriores deben ser modificados. El sistema de etiqueRecuerde que los comentarios [explicaciones posteriores al tas, utilizado en la mayor parte de las versiones modernas de smbolo de apstrofe ()] facilitan mucho la comprensin de calenguaje BASIC, supera este problema automticamente. da lnea del programa. Estos comentarios son ignorados por la El cerebro del sistema PICAXE es el microcontrolador de computadora al descargar un programa al PICAXE. Todo lo 18 pines PIC16F627. Este PIC posee un programa que ha sido que en una lnea est despus de () es ignorado por grabado para convertirlo en un elemento del sistema PICAXE el programa. (se llama PICAXE-18). Las etiquetas (main: en el programa de la tabla 5) pueAunque los microcontroladores son relativamente baratos den ser cualquier palabra (con la excepcin de palabras cla(algunos microcontroladores cuestan menos de 2 dlares), los ves como por ejemplo switch) pero DEBEN empezar con una mismos son dispositivos muy complejos que contienen miles de letra. Cuando la etiqueta es definida por primera vez debe lletransistores, resistencias y otros componentes electrnicos. var al final el smbolo de dos puntos (:). Esto indica a la comEl microcontrolador PICAXE almacena sus programas (firmputadora que la palabra es una nueva etiqueta. ware) en su memoria FLASH no voltil. La ventaja de esta memoria es que TABLA 5 no pierde el programa descargado cuando la fuente de alimentacin (basymbol dp = 7 renombrar salida 7 dp (punto deci- teras) es desconectada del circuito mal) (cuando las bateras son reconectadas symbol buzzer = 1 renombrar salida 1 buzzer (timbre) el programa se inicia nuevamente). Sin embargo, cuando desee reprogramar main: hacer una etiqueta llamada main el PICAXE, puede descargar un nuevo high dp LED encendido programa; esta accin borra el viejo low buzzer timbre apagado programa almacenado en la memoria wait 1 esperar un segundo y almacena el nuevo programa en la low dp LED apagado memoria de programa. La memoria shigh buzze timbre encendido wait 1 esperar 1 segundo lo permite el almacenamiento de un goto main regresar al inicio (main) programa a la vez.
2. Seleccione el archivo deseado de la lista haciendo click en el mismo. Haga click en <OK>
Tome en cuenta que no es posible sacar el programa fuera de la memoria del PICAXE para leerlo; por ende, si desea guardar el cdigo de un programa para utilizarlo posteriormente debe guardarlo en su computadora antes de descargarlo al PICAXE. Esto es una restriccin que el operador debe tener en cuenta, dado que en un PIC s es posible leer el programa grabado en la memoria.
TABLA 6 symbol counter = b0 symbol dp = 7 main: for counter = 1 to 15 high dp pause 500 next counter end definir la variable counter como b0 asignar al pin 7 con el dp iniciar un bucle for.....next encender pin 7 esperar 0,5 segundos siguiente counter (b0) fin del programa
El microcontrolador contiene adems de la memoria ROM (Read Only Memory - Memoria de slo lectura), memoria temporal RAM (Random Access Memory - Memoria de Acceso Aleatorio). La memoria RAM es una memoria temporal utilizada para almacenar informacin mientras el programa es ejecutado. La misma es utilizada normalmente para almacenar respuestas de sumas matemticas que el microcontrolador hace mientras est trabajando. Esta memoria es voltil, lo cual significa que tan pronto las bateras son desconectadas, la informacin almacenada en la misma se pierde. Hay 14 bytes de memoria temporal disponibles y los mismos son denominados desde b0 a b13 dentro de los programas.
El Circuito del Entrenador PICAXE-18 La figura 21 muestra el circuito bsico PICAXE-18. El resistor de 4k7 (4700), conectado en el pin 4, se usa como resistencia de pull-up para quitar al micro del estado de reset. Si desea colocar un sistema de reset, debe conectar un interruptor o pulsador entre el pin 4 y masa (tierra, gnd) de modo que al ser presionado se produzca el estado de reset del micro. Tome en cuenta que el microcontrolador PICAXE no es un microcontrolador en blanco... ya tiene un programa interno para que pueda ser usado con el utilitario Programming Editor! El microcontrolador PICAXE est preprogramado con un firmware de carga que permite la descarga directa de programas con el cable suministra-
do de slo tres terminales. Los microcontroladores PIC comunes no tienen este programa y por ende no pueden ser programados mediante el sistema PICAXE. El microcontrolador PICAXE-18A es casi idntico al microcontrolador PICAXE-18 estndar, pero es ligeramente ms costoso ya que tiene el doble de capacidad de memoria (aproximadamente 80 lneas de programacin BASIC en vez de 40) y salidas analgicas de alta resolucin (en vez de baja resolucin). El sistema PICAXE utiliza una interfaz al puerto serie de la computadora muy simple (es un cable de tres hilos). Aunque esta interfaz no utiliza verdaderos voltajes RS232, es de muy bajo costo y ha tenido un desempeo confiable en casi todas las computadoras modernas. Vea en la figura 22 cmo se conecta este cable en la placa del entrenador. Es altamente recomendable utilizar esta interfaz, ya que cada vez que quiera programar el chip no debe quitarlo de la placa de circuito impreso, slo debe conectar el cable entre la placa y la computadora, ejecutar el programa Editor Programming y hacer la descarga correspondiente... as de simple! Nota: La mayor parte de las computadoras modernas tienen dos puertos serie, normalmente denominados COM1 y COM2. El software Editor de Programacin (Programming
Figura 21
Figura 22 Editor) debe ser configurado con el puerto al cual el microcontrolador est conectado. Para ello, en el men desplegable seleccione Ver -> Opciones -> Puerto Serie, para elegir el puerto serie correspondiente en su computadora. Si ya compr un cable de sistema PICAXE armado y utiliza una computadora que posee el antiguo conectador de puerto serie de 25 pines, utilice un adaptador 9-25 para poder conectar el cable PICAXE de 9 pines. Estos adaptadores pueden ser comprados en cualquier tienda (casa) especializada en computadoras. Pero tambin, Ud. puede armar el cable siguiendo las instrucciones que le daremos oportunamente.
Utilizando Bucles ForNext Con frecuencia, es til repetir una parte de un programa varias veces, por ejemplo al encender/apagar sucesivamente un diodo LED (Light Emitting Diode, Diodo emisor de luz). En estos casos un bucle fornext puede ser utilizado. Figura 23 El programa de la tabla 6 enciende y apaga 15 veces el diodo LED conectado al pin de salida 7. El nmero de veces que el TABLA 7 cdigo debe ser repetido es almarenombrar variables cenado usando la variable b0 (el PICAXE tiene 14 variables de 1 byte para uso general, nombradas de b0 a b13 en la memoria RAM del chip PICAXE). Estas vaprecargar mark1/space1 con relacin de 2:10 (1:5) riables pueden ser renombradas usando el comando symbol con el fin de hacerlas ms fcil de reprecargar mark2/space2 con relacin de 20:10 (2:1) cordar. Note nuevamente cmo los espacios en blanco han sido utilizainiciar un bucle for...next dos para mostrar claramente toencender motor dos los comandos contenidos enesperar tiempo indicado por mark1 tre los comandos for y next. apagar motor
symbol mark1 = b6 symbol space1 = b7 symbol mark2 = b8 symbol space2 = b9 let mark1 = 2 let space1 = 10 let mark2 = 20 let space2 = 10 main: for b2 = 1 to 200 high 0 pause mark1 low 0 pause space1 next b2 pause 2000 for b2 = 1 to 200 high 0 pause mark2 low 0 pause space 2 next b2 pause 2000 goto main
esperar tiempo indicado por space1 siguiente b2 detener motor por 2 segundos iniciar un bucle for.....next encender motor esperar tiempo indicado por mark2 apagar motor esperar tiempo indicado por space1 siguiente b2 detener motor por 2 segundos
Controlando la Velocidad de un Motor Debido a que el sistema PICAXE opera muy rpidamente, es posible controlar la velocidad de motores, encendindolos y apagndolos muy rpidamente. Este tipo
de control se conoce como PWM (Pulse TABLA 8 Width Modulation, Modulacin por anmain: cho del impulso). La PWM es una buena sound 6, (50,100) emitir un sonido en salida 6 con frecuencia 50 y longitud 100 tcnica de control ya que permite a los sound 6, (100,100) emitir un sonido en salida 6 motores operar a bajas velocidades mansound 6, (120,100) emitir un sonido en salida 6 teniendo un alto torque (fuerza de giro). pause 1000 esperar 1 segundo La PWM es utilizada frecuentemente en goto main saltar al inicio del programa (main) muchas aplicaciones, por ejemplo, para controlar la velocidad de taladros y destornilladores elctricos. Para que la PWM funcione correctaFigura 24 mente, se necesitan motores de alta calidad. Los programas aqu mostrados estn diseados para motores solares y puede que no funcionen correctamente si se utilizan motores de juguete baratos. Para la conexin del motor en nuestro entrenador, vea la figura 23. El programa se muestra en la tabla 7. Intente seguir el programa para ver si puede comprenderble b0 aumenta 1 lo; si no lo logra.... no se preocupe, recin estamos empezanunidad en cada Figura 25 do. bucle (1-2-3, etc.). Por consiguiente, al utilizar la variaUso de Timbres y Zumbadores Electrnicos en el ble b0 para asigSistema PICAXE nar el tono, el mismo puede ser Los timbres emiten un sonido cuando estn conectados a cambiado en cauna fuente de alimentacin. da bucle. Este sonido, usualmente, est fijo a una frecuencia deterEn la tabla 10 minada; as, los timbres pueden emitir un solo tono. Los zumse ve el programa badores electrnicos usan un tipo de sistema y pueden ser utilique realiza la miszados para emitir sonidos en diferentes tonos al proveerlos con ma funcin pero cambiando el tono en orden descendente, es una salida de diferentes frecuencias. decir de 120 a 1. El sistema PICAXE puede crear automticamente sonidos En la tabla 11 vemos el programa que emite todos los 256 de diferentes frecuencias utilizando el comando sound (ver tasonidos posibles. bla 8). En este ltimo caso el programa es ejecutado indefinidaPara probar este programa se debe instalar un zumbador mente. Sin embargo, es importante comprender cmo el PICAelectrnico en el tablero tutorial (entrenador). Para hacer esto, XE ejecuta las operaciones matemticas. ubique los conectores del zumbador, marcados con la palabra PIEZO (figuras 24 y 25). Luego suelde el cable roTABLA 9 jo al agujero marcado + y el cable negro al agumain: jero marcado -. En el programa, el primer nmero indica el nfor b0 = 1 to 120 iniciar un bucle for....next mero de pin (en el tablero tutorial el pin de salida sound 6, (b0,50) emitir sonido en salida 6 con frecuencia b0 y longitud 50 6 es utilizado). El siguiente nmero es el tono, seNext b0 siguiente b0 guido por la duracin del sonido (longitud). Mienend tras ms alto sea el nmero de tono, mayor ser la altura tonal del sonido (frecuencia, note que alTABLA 10 gunos zumbadores no pueden producir tonos muy altos y por lo tanto nmeros de tono mayores de main: for b0 = 120 to 1 step -1 iniciar un bucle for.....next (en cuenta regresiva) 127 puede que no sean escuchados). sound 6, (b0, 50) emitir sonido en salida 6 con frec. b0 y longitud 50 El siguiente programa que vemos en la tabla 9 next b0 siguiente b0 utiliza un bucle fornext para producir 120 soniend dos diferentes. El nmero almacenado en la varia-
El PICAXE slo interpreta nmeros en byte, o sea nmeros enteros del 0 al 255. No puede interpretar fracciones, ni Figura 26
nmeros negativos, ni nmeros mayores de 255. As, si se trata de sumar 1 a 255, el PICAXE saltar de nuevo a 0. Por consiguiente, en el programa anterior, el valor de la variable b0 se comportar de la siguiente manera mientras el programa se ejecuta: 252-253-254-255-0-1-2- etc.
Uso de Entradas con Sensores Digitales Un sensor digital es un simple sensor del tipo interruptor que slo puede estar en dos posiciones: encendido apagado. Algunos ejemplos de sensores digitales comunes son: microinterruptores interruptores de botn de presin e interruptores oscilantes interruptores de lengeta El tablero del entrenador propuesto tiene dos interruptores de botn de presin conectados a las entradas 6 y 7 (figura 26). Adicionalmente se pueden conectar otros dos interruptores a las entradas 0 y 1. En la tabla 12 vemos el programa que indica al PICAXE cmo reaccionar cuando los interruptores de botn de presin son presionados. En el programa el pin de salida 7 se ilumina cada vez que el interruptor de botn de la entrada 6 es presionado. En este programa las tres primeras lneas forman un bucle continuo. Si la entrada est apagada el programa se reiniciar una y otra vez. Una vez que el interruptor es presionado, el programa salta a la etiqueta llamada flash. El programa luego activa la salida 7 por dos segundos antes de regresar nuevamente a main. Note cuidadosamente la ortografa en la lnea del comando ifthen entrada6 (input6) es una sola palabra (sin espacios en blanco). Note tambin que nicamente se debe escribir la etiqueta posterior al comando then no se permite ninguna otra palabra aparte de la etiqueta.
TABLA 11 main: sound 6, (b0, 50) let b0 = b0 + 1 goto main emitir sonido en salida 6 sumar 1 al valor de la variable b0 ir a inicio del programa (main)
TABLA 12 hacer etiqueta llamada main if input6 is on then flash si la entrada 6 (Input 6) est encendida ir a flash sino ir a main goto main flash: hacer etiqueta llamada flash high 7 encender salida 7 (output 7) pause 2000 esperar 2 segundos low 7 apagar salida7 goto main ir a main main: TABLA 13 main: readadc 2,b0 if b0 > 120 then stop if b0 < 70 the bot low 1 low 2 goto main top: high 1 low 2 goto main bot: high 2 low 1 goto main hacer etiqueta llamada main leer seal de canal 2 en variables b0 si b0 >120 ir a stop si b0 <70 ir a bot sino apagar 1 y apagar 2 ir a main hacer una etiqueta llamada top encender 1 apagar 2 ir a main hacer una etiqueta llamado bot encender 2 apagar 1 ir a main
Uso de Entradas con Sensores Analgicos Los sensores analgicos miden seales continuas tales como luz, temperatura o posicin. El sensor analgico provee una seal que consiste en un voltaje variable (figura 27). Este voltaje puede luego ser representado con un nmero del 0 al 255 (Por ejemplo muy oscuro = 0, luz muy
brillante = 255). Ejemplos tpicos de sensores analgicos son: Fotorresistencias LDRs (Light Dependent Resistors - Resistencias variables con la luz ). Termistores Resistencias variables (potencimetros) El tablero tutorial (entrenador) posee una fotorresistencia montada en el mismo, la cual est conectada a la entrada 2 (input2). La fotorresistencia es un compoFigura 28 nente cuya resistencia cambia al variar la intensidad de luz que incide sobre la misma, es decir, su resistencia cambia segn el nivel de luz. Bajo luz brillante su resistencia es baja (tpicamente alrededor de 1k) mientras que en la oscuridad, su resistencia es muy alta (tpicamente alrededor de 1M). En la figura 28 se muestra el smbolo y la curva tpica de resistencia contra intensidad de luz para la fotorresistencia. La fotorresistencia est conectada a la entrada 2 en configuracin de divisor de voltaje. Tal como se muestra en la figura 29.
Figura 27
El valor de una entrada analgica puede ser fcilmente copiado dentro de una variable utilizando el comando readadc. Luego, se puede probar el valor de la variable (0 a 160). El programa de la tabla 13 enciende un diodo LED si el valor es Programacin por Organigramas mayor que 120 y otro diodo LED, si el valor es menor de 70. o Diagramas de Flujo Si el valor est entre 70 y 120, ambos diodos LED permanecen apagados. Los diagramas de flujo u organigramas son herramientas Note que el microcontrolador PICAXE-18 tiene tres canales muy tiles que permiten representar programas grficamente, o entradas analgicas nombradas del para hacerlos ms fciles de entender. El software Program0 al 2. En el tablero de nuestro entreFigura 29 ming Editor incluye un editor de organigramas que permite dinador la fotorresistencia est conectabujar los mismos en la pantalla de la computadora. Estos orgada permanentemente al pin 2, pero los otros dos canales (0 y 1) estn libres para conecTABLA 14 tar otros sensores. Frecuentemente, al main: hacer etiqueta llamada main utilizar sensores anloreadadc 2,b0 leer seal de canal 2 en variable b0 gos es necesario calcular debug b0 transmitir valor a la pantalla del ordenador el valor de umbral nepause 100 pausa corta cesario para el programa (esto es, los valores goto main ir a main
70 y 120 en el programa anterior). El comando debug permite ver fcilmente el valor en tiempo real de un sensor, permitiendo calcular el valor umbral experimentalmente. Al ejecutar el programa de la tabla 14 aparecer una ventana de depuracin (debug) en la pantalla de la computadora, indicando el valor de la variable b0. A medida que el sensor es probado con la variable, la ventana va indicando la lectura actual del sensor.
nigramas pueden luego ser convertidos en cdigo BASIC para descargarlos en el PICAXE. Los organigramas pueden tambin ser impresos o exportados (enviados) como figuras para incluirlos en reportes de proyectos. A continuacin damos las instrucciones detalladas para la construccin de organigaramas:
Figura 30
1. Conecte el cable PICAXE a uno de los puertos serie de la computadora. Recuerde tomar nota del puerto serie al cual conecta el cable (normalmente COM1 COM2). 2. Inicie el software Editor de Programacin 3. En el men desplegable seleccione Ver -> Opciones para acceder a la pantalla de opciones (sta puede que aparezca automticamente). 4. Haga click en la lengeta Modo y seleccione PICAXE-18. 5. Haga click en la lengeta Puerto Serie y seleccione el puerto serie al cual ha conectado el cable PICAXE. Haga click en OK 6. Cree un nuevo organigrama haciendo click en el men Archivo -> Nuevo Organigrama. 7. Dibuje el organigrama mostrado abajo arrastrando los bloques requeridos a la pantalla y luego utilizando el ratn para dibujar las flechas para conectar los bloques. 8. Cuando termine de dibujar el organigrama, puede convertirlo en un programa BASIC seleccionando el men Organigrama -> Convertir Organigrama a BASIC. Luego el programa BASIC puede ser descargado al PICAXE de la manera usual. 9. Para imprimir o salvar el organigrama, use el men de Archivo. Para exportar el organigrama como una figura, utilice el men Archivo -> Exportar. Para exportar la imagen a un documento de Word seleccione el archivo tipo EMF. Para exportar el organigrama a una pgina web use el archivo tipo GIF. El Editor de Organigramas permite dibujar y simular organigramas en la pantalla. El organigrama puede luego ser convertido automticamente en un programa BASIC para ser descargado en el microcontrolador (vea la figura 30). Los comandos de la pantalla de Editor de Organigramas son los siguientes (figura 31): Select = Seleccionar Zoom = Zoom Zoom In/Out = Acercar/Alejar Pan = Mover Line = Lnea Edit bar = barra editora Seleccionar Utilice este comando para seleccionar y mover bloques. Cuando un slo bloque es seleccionado, su cdigo BASIC puede ser editado en la barra editora en la parte inferior de la ventana.
Figura 31
Figura 32
donde desea ubicarlo y luego use el comando Seleccionar para mover el bloque a la posicin correcta. Una vez que el bloque est en posicin, haga click en l de manera que sea resaltado. El cdigo BASIC del objeto aparecer en la barra editora en la parte inferior de la pantalla. Edite el cdigo si lo requiere y luego presione el botn de tic para salvar los cambios. Para informacin adicional acerca de cada comando vea los archivos de ayuda Comandos BASIC. Note que algunos comandos nicos (por ejemplo servo para el PICAXE28) slo aparecern cuando el software est en el modo apropiado (men Ver -> Opciones).
Uniendo Bloques Para unir bloques, debe acercarlos uno al otro hasta que se junten. Alternativamente, se pueden dibujar lneas entre los mismos usando el comando lnea en la barra de herramientas. Note que slo es posible unir la parte inferior de un bloque nicamente con la parte superior de otro. Adems, slo se permite sacar una lnea de la parte inferior de conexin de cada bloque. Para hacer diagramas ordenados, se pueden agregar quiebres a las lneas haciendo click en las mismas. Cuando una lnea es movida cerca de un punto de conexin, la misma se pegar a ste; para terminar la lnea, haga click una vez ms y la misma quedar en posicin. Las lneas no pueden ser movidas. Si trata de mover una lnea la misma ser borrada y tendr que crear una nueva lnea.
Zoom Utilice para acercar una parte del diagrama. Use el click derecho para alejar. Acercar/Alejar Para acercar haga click y mueva el ratn hacia arriba. Para alejar haga click y mueva el ratn hacia abajo. Mover Utilice este comando para mover el organigrama completo alrededor de la pantalla. Lnea Utilice este comando para dibujar lneas entre los bloques. Se pueden hacer quiebres en las lneas haciendo click una vez. Cuando la lnea est cerca de un bloque, sta se pegar al punto de conexin del mismo. Etiqueta Utilice este comando para aadirle etiquetas o ttulos a los elementos del organigrama. Out / If / Delay / Sub / Other Haga click en estos botones para ir al submen de estos comandos y seleccionar el comando deseado.
Simulacin de Pantalla Para simular el organigrama, haga click en Simular en el men Organigrama. El programa comenzar a ejecutarse en pantalla (figura 32). Mientras el programa se ejecuta, los bloques cuyos comandos estn siendo ejecutados se irn resaltando en rojo. Las ventanas de Entradas/Salidas y Variables tambin aparecern mientras se ejecuta la simulacin. Para cambiar los valores de las entradas, haga click en el respectivo interruptor en pantalla o utilice la barra deslizadora de entradas analgicas. El tiempo de retardo entre un objeto y otro puede ser ajustado en las Opciones del Organigrama (men Ver -> Opciones -> Organigrama). Note que algunos comandos representan acciones que no pueden ser simuladas en pantalla. En estos casos el comando es simplemente ignorado al ejecutar el organigrama.
Dibujando Organigramas Para dibujar un organigrama haga click en uno de los botones de menes de comandos (Salida/Si/ Retardo/Sub/Otro) de la barra de herramientas para ir al submen de comandos requerido. Seleccione el comando deseado y luego haga click en la pantalla, en el lugar donde desea situar al comando. No trate de colocar el bloque exactamente en posicin en primera instancia pngalo en la pantalla en las cercanas del rea
Convirtiendo Organigramas Los organigramas no son descargados directamente al microcontrolador. Primero el organigrama es convertido en un
TABLA 15 main: main: let pins = %00111111 pause 250 let pins = %00000110 pause 250 let pins = %01011011 pause 250 let pins = %01001111 pause 250 let pins = %01100110 pause 250 let pins = %01101101 pause 250 let pins = %01111101 pause 250 let pins = %00000111 pause 250 let pins = %01111111 pause 250 let pins = %01101111 pause 250 goto main dgito 0 esperar 0,25 segundos dgito 1 esperar 0,25 segundos dgito 2 esperar 0,25 segundos dgito 3 esperar 0,25 segundos dgito 4 esperar 0,25 segundos dgito 5 esperar 0,25 segundos dgito 6 esperar 0,25 segundos dgito 7 esperar 0,25 segundos dgito 8 esperar 0,25 segundos dgito 9 esperar 0,25 segundos readadc 2,b1
TABLA 16 leer seal analgica de canal 2 en variable b1 probar variable b1 y saltar al respectivo
if b1 > 150 then show9 comando if b1 > 130 then show8 if b1 > 110 then show7 if b1 > 90 then show6 if b1 > 70 then show5 if b1 > 50 then show4 if b1 > 30 then show3 if b1 > 20 then show2 if b1 > 10 then show1 show0: let pins = %00111111 goto main show1: let pins = %00000110 goto main show2: let pins = %01011011 goto main show3: let pins = %01001111 goto main show4: let pins = %01100110 goto main show5: let pins = %01101101 goto main show6: let pins = %01111101 goto main show7: let pins = %00000111 goto main show8: let pins = %01111111 goto main show9: let pins = %01101111 goto main
dgito 0 dgito 1 dgito 2 dgito 3 dgito 4 dgito 5 dgito 6 dgito 7 dgito 8 dgito 9
programa BASIC, el cual luego es descargado. Para convertir un organigrama seleccione Convertir en el men Organigrama y ser creado el programa BASIC del organigrama. Aquellos bloques que no estn conectados a los bloques inicio sub en el organigrama, sern ignorados al momento de hacer la conversin. La conversin se detendr si se encuentra un bloque no conectado; por lo tanto, utilice siempre un bloque detener para terminar el diagrama antes de iniciar una simulacin o de convertir el diagrama. Note que es posible convertir y descargar un organigrama presionando dos veces la tecla F5.
Utilizando Smbolos Las Entradas, Salidas y Variables pueden ser renombradas utilizando la Tabla de Smbolos del men Organigrama. Cuando un smbolo es renombrado, el nuevo nombre aparecer en los menes desplegables en la barra editora. No deben utilizarse nombres de comandos (por ejemplo switch o sound) como smbolos, ya que esto puede generar errores en el programa BASIC convertido.
ganigramas tambin pueden ser copiados al portapapeles de Windows (para pegarlos luego a otras aplicaciones) mediante el men Editar.
Guardando e Imprimiendo Organigramas Sistemas de Nmeros Los organigramas pueden ser guardados, impresos y exportados como figuras (para ser insertados en documentos de procesadores de palabras) utilizando el men Archivo. Los orLos microcontroladores operan usando un gran nmero de comandos en un espacio de tiempo muy corto y procesando se-
ales electrnicas. Estas seales estn codificadas en sistema binario; la seal puede ser high (1) o low (0). El sistema numrico utilizado diariamente es el sistema decimal. Este sistema numrico utiliza diez dgitos (del 0 al 9) para explicar qu tan grande o pequeo es el nmero. Sin embargo, al trabajar con microcontroladores muchas veces es ms fcil trabajar en cdigo binario, especialmente al tratar de controlar mltiples salidas al mismo tiempo. Un slo dgito binario es conocido como un bit (binary digit dgito binario). El sistema PICAXE utiliza 8 bits (1 byte) por cada palabra de datos, teniendo al dgito menos significativo en el extremo derecho y al dgito ms significativo en el extremo izquierdo. Por consiguiente, el nmero binario %11001000 pone a los bits 7,6,3 en high (1) y al resto en low (0). El smbolo % indica a la computadora que est trabajando en sistema binario y no en decimal. La utilizacin del cdigo binario permite controlar las ocho salidas al mismo tiempo, en vez de slo utilizar los comandos high y low. El programa que vemos en la tabla 15 demuestra cmo hacer que la pantalla de siete barras del tablero tutorial cuente del 0 al 9. Cada lnea let pins = cambia el nmero de barras encendidas en la pantalla de siete segmentos. Esto es mucho ms rpido que utilizar, muchsimas veces, los comandos high y low para hacer lo mismo.
Figura 33 Figura 34
Visualizando Cifras Analgicas en el Display de 7 Segmentos El programa de la tabla 16 lee la cantidad de luz detectada por la fotorresistencia en la entrada 2 y luego visualiza una cifra asignada a dicha cantidad de luz en la pantalla de siete segmentos. Figura 35
Controlando Motores Paso a Paso Los motores paso a paso son motores de alta precisin comnmente utilizados en unidades de disco, impresoras, plotters y relojes de computadoras. A diferencia de los motores de CC,
TABLA 17 Paso 1 2 3 4 1 Bobina 4 (Output 3) 1 1 0 0 1 Bobina 3 (Output 2) 0 0 1 1 0 Bobina 2 (Output 1) 1 0 0 1 1 Bobina 1 (Output 0) 0 1 1 0 0
los cuales giran libremente al aplicarles potencia, los motores paso a paso requieren que su fuente de alimentacin sea continuamente impulsada en cuatro patrones diferentes. Por cada impulso, el motor se mueve un paso, tpicamente 7.5 (requiriendo por lo tanto 48 pasos para una revolucin completa), figura 33.
symbol delay = b0 let delay = 100 main: let pins = %00001010 pause delay let pins = %00001001 pause delay let pins = %00000101 pause delay let pins = %00000110 pause delay goto main
symbol dp = 7 symbol buzzer = 6 symbol counter = b0 main: gosub flash gosub noise goto main end flash for counter = 1 to 25 high dp pause 50 low dp pause 50 next counter return noise: high buzzer pause 2000 low buzzer return
Los motores paso a paso tienen algunas limitaciones. Primero, el consumo de potencia es mayor cuando el motor est detenido (debido a que todas las bobinas requieren estar energizadas). Segundo, la velocidad de operacin est limitada a aproximadamente 100 pasos por segundo, lo cual equivale a 2 revoluciones por segundo 120 RPM. El motor paso a paso contiene una serie de electroimanes fijos a la armaduTABLA 18 ra central y cuatro bobinas ubicadas alrededor de la carcasa del motor. Cuando pasa corriente elctrica por estas bodefinir variable binas, las mismas generan un campo fijar el retardo (delay) en 0,1 segundos magntico el cual atrae o repele a los electroimanes permanentes en la armaprimer paso dura, provocando que la armadura gire pausa de 0,1 segundos (valor asignado al retardo) un paso hasta que los campos magnsiguiente paso ticos estn alineados. pausa de 0,1 seg. Luego, las bobinas son energizadas con un patrn diferente para crear un siguiente paso campo magntico diferente y provocar pausa de 0,1 seg. que la armadura gire otro paso, figura siguiente paso 34. pausa de 0,1 seg. Para hacer que la armadura gire ir a main (bucle perpetuo) continuamente, las cuatro bobinas internas del motor paso a paso deben ser encendidas y apagadas continuamente en TABLA 19 cierto orden. El chip controlador ULN2003A del tablero tutorial (nuestro enrenombrar salida7 dp trenador) provee el mtodo necesario renombrar salida6 buzzer para interrelacionar a estas cuatro bobidefinir a la variable counter como b0 nas (figura 35). El motor paso a paso debe ser cohacer etiqueta llamada main nectado a los agujeros en el tablero tutoir al sub-procedimiento flash rial de la siguiente manera: ir al sub-procedimiento noise
ir a main fin del programa principal hacer un sub-procedimiento llamado flash iniciar un bucle for....next encender diodo LED esperar 0,05 segundos apagar diodo LED esperar 0,05 segundos siguiente counter (b0) retornar del sub-procedimiento hacer un sub-procedimiento llamado noise encender timbre esperar 2 segundos apagar timbre retornar del sub-procedimiento
Cable Negro: 2 + Cable Blanco: 3 + Cable Amarillo: 0 Cable Rojo:1 Cable Naranja: 2 Cable Marrn:3 La tabla 17 muestra los cuatro pasos distintos requeridos para hacer girar el motor. Para hacer girar al motor en direccin contraria, los pasos deben ser invertidos (4-3-2-1-4-etc. en vez de 12-3-4-1-etc.) Nota: La configuracin del alambrado de los motores paso a paso puede variar segn el fabricante. Por lo tan-
Figura 36
to, puede que sea necesario reorganizar las conexiones de las bobinas para que la secuencia mostrada arriba opere correctamente. Un arreglo incorrecto de las bobinas puede causar que el motor vibre en una direccin y otra, en vez de girar continuamente. La mayora de los motores paso a paso estn diseFig. 37
ados para trabajar con 12V, pero generalmente pueden trabajar sin problemas (aunque con un torque reducido) con 6V. El siguiente programa tambin puede utilizar un nmero binario para encender y apagar todas las lneas de salida al mismo tiempo. La siguiente tabla muestra el nmero binario de salida para cada paso: Paso 1 2 3 4 1 Salida binaria %00001010 %00001001 %00000101 %00000110 %00001010
Intente cambiar la velocidad de giro alterando el valor del retardo (delay) en el programa que vemos en la tabla 18.
Fig. 38
Subrutinas
Una subrutina es un sub-procedimiento o mini-programa separado, el cual puede ser llamado desde el programa principal. Una vez que se ejecuta la subrutina, el programa principal contina. Las subrutinas son frecuentemente utilizadas para separar el programa principal en pequeas secciones, symbol dp = 7 para hacerlo ms fcil de comprender las susymbol counter = b0 brutinas que realizan tareas comunes, tambin pueden ser copiadas de programa a main: programa para ahorrar tiempo. let b2 = 5 El programa de la tabla 19de la pgina gosub flash anterior utiliza dos subrutinas para separar pause 500 las dos secciones principales del programa let b2 = 15 (flash y noise). gosub flash El programa que podemos ver en la tabla pause 500 20, muestra como una variable puede ser utigoto main lizada para transferir informacin hacia una subrutina. En este caso, la variable b2 es utiend lizada para indicar al controlador que debe ejecutar la subrutina flash, primero cinco y flash: luego quince veces.
jimos que hay varios circuitos (de hecho mencionamos tres). La empresa Revolution Education ofrece cada uno de estos circuitos en forma de kits; sin embargo, Ud. puede armar su propio entrenador. En la figura 36 se brinda el circuito de un entrenador para que Ud. realice sus propias experiencias. El entrenador incluye un circuito integrado ULN2803A para que pueda manejar pequeos motores, pero no se ha incluido la fotorresistencia y el display de 7 segmentos; sin embargo, no tendr problemas en conectarlos si sigue las instrucciones que se brindan en la explicacin de cada programa. LK es un puente de conexin (un jumper o simplemente un cable). Hemos hecho referencia al PICAXE18 porque en otras secciones trabajaremos con el PICAXE-08. En la figura 37 se reproduce el esquema de circuito impreso para que monte su propio entrenador. En la figura 38 se muestra el detalle de armado del cable que sirve como interfaz entre el entrenador y la computadora. *****************
TABLA 20 renombrar salida7 dp definir a la variable counter como b0 hacer una etiqueta llamada main precargar a b2 con el nmero 5 ir al sub-procedimiento flash esperar 0,5 segundos precargar a b2 con el nmero 5 ir al sub-procedimiento flash esperar 0,5 segundos ir a main fin del programa principal hacer un sub-procedimiento llamado flash iniciar un bucle for....next encender diodo LED esperar 0,25 segundos apagar diodo LED esperar 0,25 segundos siguiente counter retornar al sub-procedimiento
El Circuito del Entrenador En este captulo hemos mencionado que precisamos un entrenador para corroborar los diferentes conceptos que presentamos. Di-
for counter = 1 to b2 high dp pause 250 low dp pause 250 next counter return
Introduccin Comenzaremos con una aplicacin muy sencilla, por lo que en primera instancia nos dedicaremos a encender y apagar leds, de acuerdo al estado que guarden las terminales de entrada de datos del microcontrolador. Cabe aclarar que conforme se avance en los temas de PICAXE podremos incorporar controles para motores, utilizacin de convertidores analgico - digital (ADC), etc. Recordemos que el sistema PICAXE est disponible en tres versiones que son el de 8 terminales (PICAXE08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28), y en funcin de las terminales que tienen disponibles para la entrada y salida de datos, sern las que ocuparemos para comunicar al microcontrolador con el exterior. Para visualizar datos usamos un circuito muy sencillo para encender leds, el cual se muestra en la figura 1. Este circuito lo podemos reproducir tantas veces como terminales de salida se tengan disponibles. El primer circuito que se recomienda para ingresar datos discretos (digitales) al microcontrolador es un interruptor con reposicin automtica (push-button), el cual se muestra en el circuito de la figura 2. De igual manera que en el caso del circuito de la figura 1, se puede reproducir el circuito de la figura 2 tantas veces como entradas tenga disponible el microcontrolador. Para realizar el primer ejercicio, vamos a elegir uno de los tres tipos de microcontroladores PICAXE que se tienen disponibles, que en
este primer ejercicio se trata del PICAXE-18; pero, posteriormente, se realizarn ejercicios con todos los tipos de microcon-
Figura 1
Figura 2
Figura 3
troladores PICAXE. El circuito propuesto para esta primera experiencia se muestra en la figura 3, en la Figura 4 cual se tiene 1 entrada y 1 salida. Para programar el microcontrolador PICAXE la primer accin que tenemos que realiFigura 5 zar es abrir el software de programacin llamado PICAXE Programming Editor y que previamente tuvo que ser instalado. Una vez que hacemos doble click sobre el cono del software de programacin y accedemos al ambiente de programacin, aparece una ventana en donde se configuran las opciones con las cuales trabajaremos. Como primer paso, ya que es la primera vez que utilizamos este software, es conveniente seleccionar el men identificado como Language, ya que aqu es donde se configura el lenguaje con el cual estaremos interactuando. Si desea ms detalles sobre esta parte del programa, puede bajarlo de Internet o adquirir la revista Saber Electrnica N 215. De internet, puede bajarlo desde nuestra web con la clave progpicaxe. Para empezar a trabajar, debemos configuar el programa (es muy sencillo, si lo desea, baje el tema completo desde nuestra web), seleccionando la opcin Modo del men para elegir el PICAXE que vamos a emplear en nuestro proyecto, qu frecuencia de operacin tendremos (generalmente 4MHz), etc. Luego, debemos elegir la opcin modo del men para indicar en qu puerto tendremos el circuito para descargar el programa. De la figura 4 observamos el ambiente de trabajo que presenta el software de programacin de los microcontroladores PICAXE, en el cual se aprecia un espacio en blanco que es donde se ingresan las instrucciones en forma de BASIC. Qu instrucciones son las que utilizaremos? Si no sabemos, no es el fin del mundo y vamos paso a paso. Para comenzar utilizaremos una opcin que se cuenta en
Figura 6
este software para programar a los microcontroladores que son los diagramas de flujo, por lo que como se indica en la figura 4, seleccionamos de la barra de herramientas la opcin Archivo, posteriormente Nuevo y por ltimo Nuevo Organigrama, y lo que aparecer ser el ambiente de trabajo para ingresar el diagrama de flujo de nuestro programa. Para comenzar, ste va a ser nuestro campo de trabajo ya que de forma intuitiva todos sabemos hacer diagramas de flujo. Pues bien, antes de seleccionar los bloques que lo constituirn, vamos a describir cul es el algoritmo del programa que queremos desarrollar: Cuando se oprima un pulsador se encienda un led, y cuando se suelte el pulsador se apague el led. Existen bloques prediseados que nos auxilian en el manejo del estado que guardan las terminales de entrada del microcontrolador de manera independiente, por lo que como se muestra en la figura 5 seleccionamos el recuadro que tiene indicado un rombo y dentro de ste la palabra if. Ahora lo que tenemos que hacer es seleccionar qu condicin es la que utilizaremos, que para este ejercicio ser la que se encuentra dentro del recuadro que tiene una figura de un rombo y dentro de ste la palabra Pin (observe la figura 6), esto es, estaremos leyendo la condicin de una terminal de entrada que, por defecto cuando lo ubicamos sobre nuestra rea de trabajo, siempre se coloca la entrada 0 (terminal 17 del microcontrolador, figura 3). Este bloque tiene la tarea de leer el estado lgico de la terminal de entrada y la compara con un 1 lgico y dependiendo de si la entrada es igual o no, tiene dos posibles salidas Y por si es igual a 1 lgico y N por si la entrada es 0 lgico. Y por ltimo, oprimimos el recuadro que tiene una flecha en forma de U para regresar al men principal. De acuerdo al algoritmo que planteamos lneas atrs, lo que tenemos que hacer es que se encienda un led cuando en la terminal de entrada se encuentre un 1 lgico, o que el led se apague cuando en la entrada se encuentra un 0 lgico. Para esta actividad recurrimos al recuadro identificado con la palabra Out, ya que es ah donde se encuentran los bloques que actan sobre las terminales de salida del microcontrolador. Una vez en el interior del men de bloques de salida, tenemos que seleccionar la accin que har que el led se encienda o se apague, por lo que en primer instancia seleccionamos el bloque identificado con la palabra High, el cual quiere decir que la salida se encender. Por cierto, cuando seleccionaFigura 7 mos este bloque, por defecto se ubica la salida 0 (terminal 6 del microcontrolador, figura 3), tal como se ilustra en la figura 7. Ya se tiene entonces el bloque que encender el led, por lo que ahora requerimos la accin correspondiente con su apagado, y sta corresponde
al recuadro identificado con la palabra Low, que es precisamente el bloque que realizar la tarea de apagar el led, y tambin por defecto, al seleccionarlo por primera vez, se ubica en la salida 0. Una vez que ya tenemos los bloques que necesitamos para ingresarle o sacarle datos al microcontrolador PICAXE, procedemos ahora a unir los bloques para que realicen el algoritmo que fue planteado lneas atrs. Para ello existe una herramienta que se encuentra en un recuadro identificado con una lnea vertical que en sus extremos tiene un *. Cuando seleccionamos esta herramienta y acercamos el puntero del ratn sobre alguno de los bloques que ya se encuentran en el rea de trabajo, se les aparece un crculo de color rojo en aquel punto que requiere una conexin, tal como se ilustra en la figura 8. Ya seleccionado el punto de conexin, trazamos la lnea hasta el siguiente punto de conexin de un bloque para realizar la unin lgica del flujo de datos. Cabe aclarar que para cada unin que se necesite realizar, se tiene que volver a seleccionar la herramienta de conexin. En la figura 9 podemos apreciar la conexin completa de todos los bloques. Si ya terminamos de disear nuestro diagrama de flujo y antes de programar el microcontrolador, es importante saber si el programa va a funcionar, porque recuerden que no es lo mismo desear que el microcontrolador haga lo que segn nosotros programamos, que lo que realmente hace en funcin del programa que ingresamos. Existe en el software de los PICAXE la posibilidad de simular el programa, y eso es lo que vamos a hacer, por lo que seleccionamos el recuadro que tiene el smbolo de una punta de flecha tal como se ilustra en la figura 9, lo seleccionamos y enseguida aparecern 2 ventanas. Una de ellas indica el estado lgico que guardan las salidas y entradas del microcontrolador; esta ventana aparece en la parte inferior de la imagen de la figura 10. Los recuadros verdes que se iluminan indican qu salidas estn siendo activas con un 1 lgico, mientras que los que aparecen debajo de los cuadros verdes, indican la posicin de las seales de entrada al microcontrolador, los cuales cuando se encuentran en la posicin inferior significa que la entrada se encuentra en 0 lgico, y si estn en la posicin superior la entrada se encuentra en 1 lgico. Por otra parte tambin se observa que, dependiendo de dnde se encuentre la posicin del switch, se iluminar en color rojo la lnea que une los diferentes bloques que son afectados por la respuesta del estado lgico de entrada, y de esta manera podemos visualizar qu es lo que est sucediendo con nuestro programa. Una vez que simulamos nuestro programa y observamos que las condiciones del algoritmo se cumplen (encender un led cuando se tiene un 1 lgico en la entrada y apagar el led cuando se tiene un 0 lgico en la misma entrada), ya estamos listos para dar el siguiente paso, que es convertir el diagrama de flujo a instrucciones de BASIC, para lo cual en la barra de herramientas seleccionamos el men identificado como Organigra-
Figura 8
Figura 9
Figura 10
Figura 11
ma y despus la opcin Convertir el Organigrama a Basic (de manera rpida pudimos presionar la tecla F5), tema que
Figura 12
Ud. puede bajar sin cargo de nuestra web (www.webelectronica.com.ar). Ahora lo que tenemos que hacer es conectar el cable, tanto al puerto serie de la PC como a las terminales del microcontrolador que se indican en el diagrama de la figura 3 para programar al PICAXE. Anteriormente propusimos la manera en cmo se debe construir el cable de programacin, tomando en cuenta las terminales que se deben ocupar. Para grabarle el programa al microcontrolador debemos dirigir la flecha del ratn a la barra de herramientas y seleccionar el men PICAXE, despus la instruccin Ejecutar (o de manera rpida F5), tal como se muestra en la figura 11. En ese mismo instante aparecer una ventana indicando que se est llevando a cabo la programacin del microcontrolador PICAXE. Cuando se encuentra en la fase de proFigura 13 gramacin, una barra que ir creciendo nos dir la cantidad de cdigo que est siendo descargado hacia el microcontrolador. Cuando se termina de grabar el microcontrolador aparecer una ventana que nos indica la finalizacin del proceso de programacin, figura 12. Ahora podemos verificar en el microcontrolador que el programa que diseamos se
Figura 14
encuentra perfectamente bien, por lo que tenemos que oprimir el pulsador y esta accin debe encender el led, y cuando lo soltemos, el led se deber apagar. Cualquier otro funcionamiento nos quiere decir que debemos revisar nuestro programa y tenemos que regresarnos hasta la etapa en donde diseamos el diagrama de flujo, ya que algo se encuentra mal.
Figura 15
Figura 16 Kit Entrenador para PICAXE 08 En esta oportunidad disearemos nuestra primera tarjeta de entrenamiento universal para programar microcontroladores PICAXE, y como en todo comienzo, daremos inicio por lo ms sencillo y ms pequeo, esto es, los microcontroladores de 8 terminales denominados PICAXE 08. En primera instancia recordemos cul es la configuracin de un PICAXE08, para en funcin de ello, tomar en cuenta de cuntas entradas y cuntas salidas podemos echar mano y aprovecharlas al mximo (figura 13). Tenemos la oportunidad de disponer de un total de 4 E/S (4 entradas y 4 salidas), pero no nos confundamos, si sumamos el nmero de salidas con el nmero de entradas tendremos un total de 8 y el PICAXE08 que manejaremos tiene solamente 8 terminales. Esto quiere decir que las terminales de salida y de entrada ocupan todas las que posee? La respuesta es no, ya que en esas 8 terminales deben estar las 4 entradas, las 4 salidas adems de las 2 terminales de alimentacin y 2 para programarlo. Especficamente para los PICAXE08 las terminales 3, 5, 6 y 7 cumplen con una doble funcin, por lo que debemos tener cuidado cuando los programemos, porque, por ejemplo, la terminal 3 puede comportarse como una terminal de entrada o una terminal de salida, todo depende de cmo la contemplemos cuando realicemos el programa del PICAXE08. La tarjeta entrenadora que proponemos tiene la posibilidad de explotar al mximo las propiedades del PICAXE08, y ser por medio de jumpers como se podr configurar la circuitera, tanto para programar como para fijar entradas o salidas de datos. En la figura 14 se muestra el circuito esquemtico de la tarjeta entrenadora completa. A continuacin describiremos cada parte de esta tarjeta entrenadora para que podamos sacarle el mximo provecho. En primer trmino identificaremos la ubicacin de dnde instalar el microcontrolador PICAXE08; ste debe encontrarse en la base identificada como IC1 respetando la identificacin de las terminales (figura 15). Los conectores identificados como ES1, ES2 y ES4 tienen 3 terminales, de las cuales, la del medio de cada uno de ellos se hace llegar hacia la correspondiente terminal del microcontrolador PICAXE. Con rerspecto a las 2 terminales restantes de cada conector (ES1, ES2 y ES4), una va hacia el bloque destinado para conectar las entradas de datos, y la segunda se dirige hacia el bloque de terminales de salida de datos. Pues bien, para seleccionar si la terminal del microcontrolador ser configurada como salida o entrada, ser a travs de un jumper que, dependiendo de cmo se conecte, unir la terminal del medio del conector, ya sea ES1 ES2 ES4, con el bloque de terminales de entradas o al bloque de terminales de salida, y de esta forma quedar configurada la circuitera del microcontrolador PICAXE para que est listo a recibir el programa con el cual trabajar el microcontrolador. El conector identificado como PROG/SAL0 posee 3 terminales, de las cuales la del medio se hace llegar a la terminal 7 del microcontrolador PICAXE. Esta terminal cumple con la doble funcin tanto de programar al microcontrolador, como la de funcionar como terminal de salida de datos si as se requiere; esta seleccin se lleva a cabo mediante la conexin de un jumper hacia la ubicacin que se requiera. Cuando se va a programar un microcontrolador PICAXE08, es necesario que el jumper est ubicado hacia la posicin Prog en el conector PROG/SAL0, porque de otra manera la programacin ser imposible, ya que no se tendr comunicacin entre la PC y el microcontrolaFigura 17 dor. Cuando el jumper
se encuentra ubicado hacia la posicin Sal0 en el mismo conector PROG/SAL0, se tendr configurada la terminal del microcontrolador como salida. La disposicin de componentes sobre la placa se muestra en la figura 16. Por lo descrito lneas atrs se deduce que el procedimiento para ubicar el jumper del conector PROG/SAL0 ser de acuerdo a lo siguiente: 1 paso.- Ubicar el jumper hacia la posicin Prog en el conector PROG/SAL0 para programar al microcontrolador PICAXE08. 2 paso.- Cambiar el jumper hacia la posicin Sal0 en el conector PROG/SAL0 si se va a utilizar esa terminal del microcontrolador PICAXE08 como salida. En el conector identificado como Entradas se tiene la posibilidad de hacerle llegar al microcontrolador PICAXE08 el estado lgico de 4 diferentes entradas digitales, las cuales pueden ser insertadas mediante circuitos externos o bien utilizar cualquiera de los 2 circuitos con pulsador que se tienen en el rea de experimentos. Estos circuitos se muestran en la figura 17 y lo nico que se tiene que hacer es conectar el borne correspondiente, ya sea E1 E2, a cualquiera de las terminales de entrada, que son Ent1 Ent2 Ent3 Ent4 del conector Entradas. En el conector identificado como Salidas se encuentra el reflejo de las 4 salidas digitales que posee el microcontrolador PICAXE08, las cuales pueden hacerse llegar a circuitos externos en donde se refleje la actividad del microcontrolador, o pueden ser utilizaFigura 18
das los 2 circuitos con leds que se encuentran en el rea de experimentos; estos circuitos se muestran en la figura 18. Para utilizar estos circuitos lo que tiene que hacerse es conectar el borne correspondiente, ya sea S1 o S2, a cualquiera de las terminales de salida, que son Sal0 Sal1 Sal2 Sal3 del conector Salidas. El espacio identificado como PROGRA se encuentra ocupado por un conector de audio estreo tipo mini Jack, el cual puede tener formas diferentes. El conector de audio estreo tan slo tiene 3 terminales, las cuales sern utilizadas para comunicar al microcontrolador con una PC a travs del puerto serie. En la figura 19, como ya lo vimos anteriormente, se muestra el diagrama de cmo se deben identificar las terminales tanto en la tarjeta de entrenamiento como en el conector DB9 que se conecta al puerto serie de una PC. Las terminales del conector de audio realizarn las siguientes actividades: La lnea identificada con el nmero 1 sirve para verificar que el microcontrolador PICAXE se encuentra conectado al puerto serie de la PC. La lnea identificada con el nmero 2 sirve para programar al microcontrolador PICAXE. La lnea identificada con el nmero 3 es la referencia GND o tambin conocida como tierra elctrica. Por ltimo, la tarjeta entrenadora tiene incorporado un regulador de voltaje identificado como IC2 que posee el cdigo LM7805, y cuya misin es la de mantener un voltaje de 5V para energizar al microcontrolador PICAXE y toda su circuitera; por lo tanto, podemos energizar nuestra tarjeta de entrenamiento con una pila de 9 VCD. La lista de componentes se muestra a continuacin. Lista de componentes para armar la tarjeta controladora IC1 ................Base de 8 terminales IC2..................................LM7805 D1, D ..........................Leds Verdes D3...................................Led Rojo S1, S2.......Interruptores Push button
Figura 19
R1, R3, R4.............10k 1/4 Watt R2 ........................22k 1/4 Watt R5, R6, R7 ...........390 1/4 Watt Varios: Conector mini jack de audio, conector mini plug de audio, alambres de conexin, broche para pila de 9 VCD y circuito impreso.
Aprendiendo a Programar la Tarjeta Entrenadora 08 En esta oportunidad, emplearemos la tarjeta entrenadora para implementar en ella la funcin lgica Y (AND). El motivo de programar al PICAXE con esta funcin lgica es un pretexto para que se tenga en cuenta que si podemos utilizar las funciones lgicas, entonFigura 20 - Diagrama esquemtico de la tarjeta entrenadora. ces podemos darle cualquier aplicacin a nuestra tarjeta, esto es, en otras palabras poasignadas a la entrada son las denominadas como E3 y E4. Esdemos desarrollar, por ejemplo, lo que se conoce con el nomtas entradas se configuran empleando el jumper ES4 hacia la bre de unidad central de proceso de un PLC. posicin E4, mientras que la entrada E3 no tiene que configuPara cada una de las funciones lgicas necesitamos la utirarse ya que est directamente conectada al borne de entralizacin de 2 entradas, por lo que en total requeriramos de 4, das. En cuanto a las salidas, emplearemos la que est identifipero recordemos que el microcontrolador PICAXE 08 es tan cada como S1. La salida S0 se configuran empleando el jumslo de 8 terminales; por lo tanto, se tiene la limitante de que per PROG/SAL0 en la posicin de Sal0; esto es porque la terla mayora de las entradas y salidas estn compartidas. En conminal 7 del microcontrolador PICAXE 08 se comparte tanto secuencia tan slo utilizaremos 2 entradas para implementar con la salida 0 como con una terminal de programacin del PIlas 2 funciones lgicas. CAXE. La salida S1 requiere que el jumper ES1 se coloque en En el diagrama de la figura 20, se observa la manera en la posicin Sal1. La forma en cmo se deben colocar los jumque estn asignadas tanto las terminales de entrada como las pers tambin se ilustra en la figura 21, que es una imagen de de salida; por otra parte tambin tomemos en cuenta que la tarla tarjeta entrenadora. jeta entrenadora posee 2 pulsadores para generar los estados Una vez que hemos configurado la parte electrnica de la lgicos con los cuales trabajar el PICAXE, y tambin cuenta con 2 leds para mostrar el estado de las salidas. El ejercicio que desarrollaremos ser el siguiente. Los pulsadores denominados S1 y S2 generan las combinaciones con las cuales se encender el led D1 para la funcin lgica Y, de acuerdo a la tabla lgica siguiente: S1 0 0 1 1 S2 0 1 0 1 Funcin Y 0 0 0 1
Ahora hacemos referencia al diagrama de identificacin de los componentes de la figura 21 para observar que las terminales que estn
tarjeta entrenadora, pasamos a elaborar el programa para controlar la tarjeta. Como lo hemos mencionado antes, es necesario abrir el cono cuyo nombre es PICAXE Programming Editor, el cual obviamente tuvieron que instalar con antelacin, pero si ustedes an no poseen el programa, lo pueden descargar de nuestra pgina de internet: www.webelectronica.com.ar.
Figura 22
Figura 23
Despus de la ventana de bienvenida nos aparecer la ventana que se muestra en la figura 22, que es en donde se configuran las opciones y por lo tanto el tipo de microcontrolador que emplearemos. En esta oportunidad estaremos utilizando un microcontrolador PICAXE 08, por lo que seleccionamos esa opcin. Si la ventana de opciones no aparece al abrir el programa, nosotros podemos abrirla desde el men Ver y despus con el comando Opciones. Hasta este momento no hemos realizado programa alguno con el Basic, que es una forma de programar a los PICAXE, porque en el desarrollo de esta serie vamos a comenzar aprendiendo a programar a los microcontroladores del sistema PICAXE. Por esta situacin, nuevamente recurriremos a programar al microcontrolador a travs de diagramas de flujo, por lo que oprimimos el botn de acceso rpido para abrir el ambiente de trabajo en diagramas de flujo, tal como se muestra en la figura 23. Dentro del entorno grfico para generar el diagrama de flujo seleccionaremos, del men de comandos, el correspondiente al que pregunta por el estado de las entradas, tal como se ilustra en la figura 24. Posteriormente, tal como se muestra en la figura 25, se pueden seleccionar los bloques que preguntan por el estado de las entradas. Todo depende de nuestro diagrama, sern los bloques que dentro del rombo tienen la palabra pin. Por defecto, siempre pregunta por el pin 1, por lo que debemos editar los bloques que sean necesarios para preguntar por la terminal
Figura 26
Figura 24
Figura 25 Figura 27
que corresponde a la entrada E3 y E4. Para ello nos basamos, tal como muestra la figura 26, en seleccionar el bloque que nos interese y despus seleccionar la entrada correspondiente. Una vez que el primer bloque tenga asignada la entrada E3 y los dos inferiores la entrada E4, ahora procedemos a seleccionar el men de los bloques que manipulan las salidas; por lo tanto, oprimimos sobre el cuadro que tiene una flecha en forma de U para regresar al men principal. Estando en el men principal, seleccionamos el que hace referencia al control de las salidas, de acuerdo a como se aprecia en la figura 27. Dependiendo de cul sea la funcin lgica que implementemos ser la activacin de las salidas que usaremos, ya sea un 0 lgico o un 1 lgico; por lo tanto, seleccionaremos el cuadro con la palabra low o high, respectivamente, tal como se aprecia en la figura 28. Como en el caso de las entradas, cuando elegimos una salida, por defecto se coloca la salida 0; por lo tanto, tenemos que evaluar qu salida es la que emplearemos para colocar la que nos interesa, y tal como se ilustra en la figura 29, seleccionamos la salida 1 porque la funcin lgica que implementaremos es la denominada Y (AND). Como ya habamos designado que sera a travs del led D1 de la tarjeta entrenadora donde se visualizara su respuesta, es el motivo de la seleccin ya que el led D1 est conectado a la salida 1 del microcontrolador. Ya que tenemos todos los bloques correspondientes a la implementacin de la funcin lgica, ahora pasaremos a conectarlos para que se obtenga el resultado de la tabla de verdad de la funcin lgica Y. Tenemos que regresar una vez ms al men principal para realizar la unin de los diferentes bloques, en funcin de la lgica de operacin que hemos desarrollado. Para esta accin, elegimos la herramienta de conexin tantas veces como bloques se tengan que unir, tal como se muestra en la figura 30. Cuando se realiza la actividad de unir los diferentes bloques, se ilumina en color rojo un crculo que se hace presente en el punto de conexin del bloque cuando acercamos el puntero del ratn, y ah hacemos click con el botn izquierdo para fijar la lnea de conexin, y la arrastramos hasta el siguiente punto de conexin del bloque con el que uniremos el anterior, y as continuamos hasta unir todos los bloques que tengamos, tal como se aprecia en la figura 31. El paso siguiente, para verificar que realmente funciona nuestro programa, es simularlo, por lo que seleccionamos la herramienta de simulacin tal como nos lo indica la figura 31, y cuando la oprimimos, aparecern dos ventanas: en una observaremos las variables, y en la otra, que es la que nos interesa en este momento, se observar cmo se comportan las salidas en funcin de las entradas. En la figura 32 se muestra que cuando sta activa la funcin de simulacin, las lneas que unen los distintos bloques se iluminan en color rojo indicando el camino por donde se cumplen las condiciones lgicas, facilitando de esta manera la ob-
Figura 28
Figura 29
Figura 30
Figura 31
Figura 32
Figura 33
servacin de cmo se va generando la respuesta que finalmente ser visualizada a travs de una salida. Y para comprobar que en la salida se tiene como resultante la funcin lgica Y, se tienen que realizar las distintas combinaciones de 0 lgico y 1 lgico en las terminales de entrada, a travs de los interruptores que se visualizan en la ventana inferior de la figura 32. Una vez que hemos superado la etapa de la simulacin,
nuestro siguiente paso es la programacin del PICAXE a travs de la tarjeta entrenadora, por lo que conectamos el cable al puerto serie de la PC y el otro extremo al conector minijack de la tarjeta entrenadora anterormentes se explic cmo se debe armar el cable de programacin, colocar tambin el jumper del conector PROG/SAL0 en la posicin de Prog para que sea descargado el cdigo al PICAXE. El paso siguiente es detener la simulacin e ir al men de herramientas organigrama y seleccionar el mando convertir organigrama a Basic. Como resultado, el diagrama de flujo ser convertido a Basic y el resumen de estas acciones se observa en las figuras 33 y 34. De la figura 34 se observa que para descargar el programa en el microcontrolador PICAXE a travs de la tarjeta entrenadora, se oprime el botn que se refiere a la herramienta de programacin, y como consecuencia se despliega una ventana que nos va indicando el avance de la programacin, tal como se ilustra en la figura 35. Una vez programado el PICAXE, lo que sigue es probar el programa sobre la tarjeta entrenadora, por lo que presionaremos los pulsadores de acuerdo a la tabla de verdad correspondiente, por lo que si el led no enciende con respecto a la respuesta de la tabla de verdad de la funcin lgica Y, algo anda mal y tenemos que pasar a revisar desde el circuito de la tarjeta entrenadora hasta revisar nuevamente el programa y la fase de grabacin en el microcontrolador. LISTA DE COMPONENTES PARA REALIZAR EL EJERCICIO. Tarjeta entrenadora del PICAXE 08 y su cable de programacin.
Juego de Luces Tipo Auto Fantstico (Empleando la Tarjeta Entrenadora) Figura 34 Vamos a implementar, a travs de una tarjeta entrenadora, un juego de luces que funcione de la misma manera que lo hacan las luces del auto fantstico. Est claro que para el microcontrolador PICAXE 08 que posee la tarjeta entrenadora, slo se tiene posibilidad de contar con 4 salidas a las cuales les podemos colocar leds para visualizar el efecto de las luces. Cabe sealar que si usted desea bajar los archivos para ejecutar el programa, puede obtenerlos gratuitamente de nuestra web en www.webelectronica.com.ar, digitando la clave kit. En la figura 36 se muestra el diagrama es-
Figura 35
quemtico de la tarjeta entrenadora, de la cual emplearemos nicamente el borne de salidas, por lo que en los bornes identificados como ES1, ES2 y ES4 se colocar el jumper correspondiente, de tal forma que se seleccionen las salidas. Nota: La tarjeta entrenadora, su implementacin, armado y programacin se public en el tomo N 7 de la coleccin Club Saber Electrnica. Ud. puede bajar el artculo completo de la web con la clave dada ms arriba. Siguiendo con nuestro montaje, en el borne identificado como PROG/SAL0, una vez que se descargue el programa sobre el PICAXE, debe colocarse el jumper en la posicin correspondiente a la salida 0 (Sal0). Una vez predispuesta la tarjeta entrenadora tal como se muestra en la figura 37, pasamos a desarrollar el programa. Recordemos que lo primero que tenemos que hacer es abrir el programa PICAXE Programming Editor, tal como se ilustra en la figura 38. Una vez dentro del ambiente de programacin del PICAXE, seleccionamos la opcin de trabajar con diagramas de flujo, por lo menos hasta que adquiramos la experiencia necesaria para desarrollar nuestros programas directamente bajo BASIC. Se ha explicado, minuciosamente, lo que significan los conos que aparecen cuando trabajamos con diagramas de flujo, por lo que ahora avanzaremos un poco ms rpido en la construccin de nuestro programa. Ya dentro del ambiente de pro-
Figura 36 gramacin, lo primero que tenemos que hacer es inicializar las salidas que utilizaremos, que por disposicin del PICAXE 08 se tienen dispuestas las salidas 0, 1, 2 y 4. Para no afectar el desempeo de nuestra aplicacin, la inicializacin de las salidas las realizamos por medio del comando low tal como se ilustra en la figura 39, una para cada una de las salidas; si no colocramos estos comandos, simplemente las salidas no se activarn. Posteriormente colocamos lneas de conexin para unir los comandos de activacin en estado bajo de las 4 salidas seleccionadas. Ahora se colocan los comandos para generar el efecto de luces del auto increble, para lo cual nos basamos en un algoritmo muy simple y que a continuacin explicamos: Encendemos el led colocado en la salida 0 y mantenemos
Figura 37 Figura 38
este estado durante 1 segundo para que sea perfectamente visible, posteriormente encendemos el led colocado en la salida 1 e inmediatamente apagamos el led de la salida 0; una vez realizado esto, fijamos esta condicin durante 1 segundo. En general, vamos encendiendo el led siguiente y al mismo tiempo apagando el anterior y manteniendo el estado durante algn tiempo, y as sucesivamente hasta llegar al ltimo led. Posteriormente hacemos que se invierta el encendido y apagado de los leds, causando con esto el efecto luminoso de las luces del auto increble. De la figura 40 se puede observar el diagrama de flujo que se emplea para controlar el juego de luces, y a travs de los bloques low apagamos las salidas (las colocamos en 0 lgico), y con los bloques high encendemos las salidas (las colocamos en 1 lgico). Pues bien, hasta aqu hemos manejado bloques que con anterioridad habamos utilizado y que no causan problemas al momento de seguir la ejecucin del programa, pero ahora aparecen 2 nuevos bloques que estn iden-
Figura 39
tificados como wait y como pause, los cuales describiremos a continuacin. El bloque wait se emplea para generar una base de tiempo durante la cual el microcontrolador PICAXE estar ocupado sin realizar ninguna otra actividad, tan slo se dedica a contabilizar el tiempo que va transcurriendo hasta que llegue al conteo mximo que le hemos fijado. Esta actividad es muy til, sobre todo cuando se requiere el empleo de un temporizador, o de un delay. La caracterstica que tiene el bloque wait es que el conteo lo realiza de una forma ya establecida y est en segundos, los cuales pueden tener valor desde 1 hasta 255 segundos. En este caso estamos empleando el bloque wait para generar una temporizacin, de manera que los datos que son enviados a las salidas del PICAXE se mantengan durante 1 segundo. Si omitimos la colocacin del bloque wait, provocaramos que con la simple operacin del microcontrolador, que es muy rpida, tan slo observemos un destello en los leds pero no veramos cul se enciende y cul se apaga con detalle. El nmero que tiene por delante el comando wait es el nmero de segundos que dura la temporizacin. El segundo bloque que observamos en el diagrama de flujo de la figura 41, y que no conocamos, est identificado como pause. El bloque pause trabaja de la misma manera que lo hace el bloque wait, y substantivamente se emplean para lo mismo, pero la principal diferencia radica en los tiempos destinados a la temporizacin de cada uno de los bloques. Para el bloque wait la temporizacin se encuentra en segundos, mientras que para el bloque pause la temporizacin se contabiliza en milisegundos. Por lo tanto, como se muestra en la figura 40, si colocamos el bloque wait 1 equivale a un tiempo de 1 segundo, y si empleamos el bloque pause 1000 equivale a un tiempo de 1000 milisegundos, o sea tambin 1 segundo. Despus de que hemos colocado tanto los bloques como las uniones entre stos, procedemos a simular nuestro diagrama de flujo como se ilustra en la figura 41. Como paso siguiente a la simulacin, procedemos a convertir nuestro diagrama de flujo en cdigo BASIC, por lo que recurrimos al men Organigrama y dentro de ste al comando Convertir Organigrama en BASIC, por lo que
vamos a generar un cdigo como el ilustrado en la figura 42. Por ltimo, tenemos que programar al microcontrolador PICAXE, por lo que estando en el ambiente de cdigo BASIC nos dirigimos al men PICAXE y despus al comando Ejecutar. En ese mismo instante se abre una ventana que nos indica el progreso de la programacin del PICAXE (figura 43), y una vez que ste termina de programarse, nos muestra una ventana pequea en donde nos comunica que se program perfectamente; en caso contrario, tambin nos reporta las posibles causantes del fallo. Como lo hemos mencionado en anteriores entregas, es necesario abrir el cono cuyo nombre es PICAXE Programming Editor, el cual obviamente tuvieron que instalar con antelacin, pero si ustedes an no poseen el programa lo pueden descargar de nuestra pgina de internet: www.webelectronica.com.ar. A lo largo de Figura 41 - Simulacin. esta obra iremos desarrollando ejemplos de Alarma para Puertas y Ventanas programacin, en los cuales aplicaremos los bloques de los diaEmpleando la Tarjeta Entrenadora PICAXE 08 gramas de flujo vistos hasta ahora, y la meta es llegar a realizar programas con mayor grado de complejidad, para lo cual se tiePara continuar con la utilizacin de nuestra tarjeta entrenane contemplado mostrar proyectos con aplicaciones reales. dora tal como un mdulo de uso general, nuevamente hacemos referencia a ella y por lo tanto volvemos a colocar su diagraLista de Materiales ma esquemtico se ilustra en la figura 44. De la tarjeta entrenadora sabemos que se cuenta con un total de 4 Entradas/SaTarjeta entrenadora del PICAXE 08 (el diagrama y deslidas, las cuales las tenemos que distribuir adecuadamente encripcin de sta se vi anteriormente), su cable de programatre el sensor, el habilitador de la alarma, la salida a un buzzer cin, (zumbador) y a un contacto que nos representar una seal re4 Leds mota. De acuerdo a lo anterior necesitamos de, por lo menos, 4 Resistores de 390
das Ent3 y Ent4, mientras que las terminales designadas para las salidas sern las marcadas como Sal0 y Sal1. Una vez que se han destinado las entradas y salidas que sern empleadas, ahora procederemos a explicar el diseo del programa con el cual se gobernar el microcontrolador PICAXE, para lo cual partiremos del hecho de que ya tenemos instalado el programa llamado PICAXE Programming Editor, y si an no lo tienen pueden descargarlo de nuestra pgina www.webelectronica.com.ar con la clave picaxe, o directamente de la pgina www.picaxe.co.uk En la figura 46 observamos la ventana de bienvenida al PICAXE Programming Editor. Consideramos que an no tenemos la experiencia necesaria para comenzar a programar un PICAXE por medio del lenguaje BASIC, por lo que una vez ms seleccionamos la opcin de trabajar con diagramas de flujo, por lo menos hasta que contemos con la experiencia necesaria para desarrollar nuestros programas directamente bajo ambiente BASIC. Debido a que ya hemos explicado paso a paso cmo trabajar con diagramas de flujo, ya no expondremos lo que signiFigura 43 - Ventana que muestra el avance de la programacin. fican los conos que aparecen cuando trabajamos con estos diagramas, por lo que slo nos abocaremos a desarrollar el programa con el cual operar TABLA 1 COMPORTAMIENTO DEL SENSOR MAGNETICO nuestro programa. Presencia del imn Contacto del Reed Switch Estado lgico Si Cerrado 1 Para comenzar con el programa, primero No Abierto 0 sern definidas las terminales de entrada a
2 entradas y 2 salidas, pero recuerden que en el PICAXE08 algunas Figura 44 terminales son compartidas y cumplen con una doble funcin; dicho en otras palabras, tanto se pueden configurar como terminales de salida o como de entrada de datos, pero una vez configuradas, trabajar as el PICAXE todo el tiempo. En la figura 45 se ilustra la propuesta de cmo se asignarn las terminales de entrada y salida de datos, en las cuales se sugiere que para proteger a las puertas y ventanas de un hogar se utilicen sensores magnticos llamados reed switches, en los cuales, cuando se les acerca un imn, su contacto se cierra, provocando la generacin de los estados lgicos que vemos en la tabla 1. La disposicin de los sensores magnticos, tal como se ilustra en el diagrama esquemtico de la figura 45, estn conectados de tal forma que se cumplan las condiciones de la tabla 1, y estos estados lgicos se hacen llegar a la terminal de entrada del PICAXE (Ent3) destinada a detectar si una puerta o ventana fue abierta sin autorizacin, por lo que tenemos que seleccionar qu puerta o ventana de nuestra casa tendremos que proteger, colocando el sensor magntico en el marco de la puerta o ventana mientras que el imn lo fijaremos sobre la puerta o ventana. De acuerdo a lo que se observa de la figura 45, las terminales destinadas a las entradas de datos sern las denomina-
Figura 45
travs de las cuales se estar habilitando la alarma Ent4 (pin4) y lectura del sensor Ent3 (pin3). De acuerdo a la manera de cmo pretendemos que sea la operacin de nuestra alarma, sta comenzar a funcionar a partir de que la habilitemos por medio del pin4, esto es, que en esta terminal est presente un 1 lgico, y mientras esta condicin no est presente, la alarma nunca indicar si una puerta o ventana fue abierta sin autorizacin, por lo que podemos considerar que la alarma est desactivada para que contemos con la posibilidad de abrir cualquier puerta o ventana. Despus de que la alarma fue activada, el paso siguiente es el revisar que ninguna puerta o ventana sea abierta sin autorizacin, por lo que a travs del pin3 se debe leer un 1 lgico para que se cumpla dicha condicin. La figura 47 muestra la activacin de la alarma y lectura del sensor. De acuerdo con la figura 47, los primeros bloques que deben colocarse corresponden a los que realizan la revisin de los estados lgicos que guardan tanto el switch que activa deshabilita la alarma, como con el que corresponde con la lectura del estado en que se encuentra el sensor magntico. El primer bloque tiene la tarea de preguntar si la alarma ya fue activada, por lo que se comparar el estado lgico de la terminal de entrada 4 con un 1 lgico. Si la alarma an no ha sido activada, no tiene caso seguir con el desarrollo del programa, por lo que constantemente se estar revisando el estado lgico de la terminal de entrada 4 hasta que la alarma sea activada, esto es, sea colocado en 1 lgico el estado de la ter-
Figura 46
minal 4. Si la alarma ya fue activada el paso siguiente ser leer el estado lgico del sensor magntico, por lo que siempre estaremos comparando el estado lgico de la terminal de entrada 3 con el estado lgico 0. Recordemos que el estado lgico 0 en el sensor magntico signifi-
Figura 47
Figura 48
ca que alguna puerta o ventana fue abierta y si esto sucedi sin autorizacin, por medio del comando high estaremos enviando, a travs de la terminal de salida 1, una seal a la bobina de un relevador para que sea generada una seal de alarma remota. En la figura 48 se ilustran los bloques correspondientes al establecimiento de una seal audible para avisar del evento de apertura de una puerta o ventana sin autorizacin. En el desarrollo de esta parte del diagrama de bloques, encontraremos dos nuevos, que se describen a continuacin:
Figura 49
let.- Este bloque es empleado para asignar un valor en cualquiera de las variables con que cuenta el microcontrolador PICAXE, adems de permitir la realizacin de operaciones entre las variables y valores constantes. sound.- Este bloque contiene los parmetros necesarios para generar una nota musical a travs de una terminal de salida del microcontrolador, por lo que la sintaxis es sound terminal de salida (nota, duracin). Pues bien, una vez que hayamos revisado el potencial de los bloques que a continuacin utilizaremos, procedemos a explicar la operacin de esta segunda parte del diagrama de bloques. De la figura 48 se observa que primero se asigna un 0 a la variable b0; posteriormente, se incrementa en una unidad la variable b0 por medio de la utilizacin de bloques con el comando let. El valor de esta variable funcionar como la nota musical que ser interpretada por medio del bloque identificado como sound. El bloque sound tiene la propiedad de generar una nota musical con tan slo indicrselo por medio de los parmetros que se encuentran dentro del parntesis. De acuerdo con nuestro ejemplo, la variable b0 nos generar la nota que ser expresada hacia el exterior del PICAXE a travs de la terminal 0 y los valores que puede aceptar la variable b0 van desde 0 (silencio) hasta 127 notas ascendentes, y de 128 a 255 notas ascendentes de ruido. Para nuestro ejercicio, emplearemos las notas que van de 0 a 127 para dar vida a la alarma sonora, y para obtener el efecto de una seal audible ruidosa, tendremos que ir incrementando la variable b0 partiendo de 0 hasta 127, por lo que utilizaremos un bloque comparador, y cuando la variable b0 llegue a 127, nuevamente se iniciar la variable con el valor de 0, y nuevamente comenzar el conteo ascendente de la variable. Esta actividad mostrar el efecto de notas musicales ascendentes. El dato correspondiente a la duracin de la nota dentro del parntesis del bloque sound se puede expresar con valores que van Figura 50 desde 0 a 255, pero debemos tomar en cuenta que este valor tiene que ser multiplicado por una constante de aproximadamente 1mseg. La variable b0 se incrementar desde 0 a 127 cuando se abra una puerta o ventana, y este lazo continuar hasta que una persona autorizada y con una llave pueda restablecer la alarma, por
lo que existir un bloque en donde se est revisando la condicin lgica de la seal de entrada en el pin4, y cuando lea el estado lgico 0 significa que ya fue desactivada la alarma, por lo que se tiene que revisar la condicin del sensor magntico, ya que si se deja la puerta o ventana abierta y se vuelve a restablecer la alarma, sta se volver a disparar generando nuevamente la seal audible y enviando la seal de alarma remota. En la figura 49 vemos el diagrama de bloques completo. Como paso siguiente, deberemos simular la operacin del diagrama de bloques para estar completamente seguros de que el programa va a funcionar correctamente. Despus de la simulacin, procedemos a convertir nuestro diagrama de flujo en cdigo BASIC, por lo que recurrimos al men Organigrama y, dentro de ste, al comando Convertir Organigrama en BASIC, por lo que vamos a generar un cdigo como el ilustrado en la figura 50. Por ltimo, para programar al microcontrolador PICAXE, se tiene que estar dentro del ambiente de cdigo BASIC, y de ah nos dirigimos al men PICAXE y despus al comando Ejecutar. De esta accin se provoca que se abra una ventana que nos va indicando el progreso de la programacin del PICAXE. Una vez que ste termine de programarse, nos muestra una ventana pequea en donde nos comunica que se program perfectamente; caso contrario, tambin nos reporta las posibles causantes del fallo. La tarjeta entrenadora cuya imagen se observa en la figura 51 es el cerebro de las actividades de nuestra alarma, por lo que en este caso se le tienen que agregar los componentes ilustrados en la figura 45, pero claro est que por el tamao en cuestin del nmero de terminales que posee un PICAXE-08, a nuestra alarma le est destinado el proteger slo una puerta o ventana. Si queremos una alarma con mayor nmero de sensores, tendremos que utilizar un PICAXE con mayor cantidad de terminales y agregar, en el programa, la lectura del estado que tengan dichos sensores. Continuaremos desarrollando ejemplos prcticos de programacin, ya que nuestra meta es llegar a realizar diseos de aplicaciones sin importar el nivel de complejidad. LISTA DE MATERIALES Tarjeta entrenadora del PICAXE 08 El cable de programacin 3 Resistores de 390 1/8Watt 1 Transistor 2N2222 1 Diodo 1N4001 1 Relevador para 5 V 1 Reed switch 1 Botn con seguro 1 Zumbador (buzzer)
A lo largo de estas lneas iremos describiendo todo lo que corresponde a una nueva tarjeta entrenadora, que en esta oportunidad alojar al microcontrolador PICAXE18, por lo que como primer paso recordaremos cul es el diagrama del circuito bsico de conexin de este PICAXE, para de ah llegar al diagrama esquemtico de la nueva tarjeta entrenadora. En la figura 52, se muestra el circuito bsico del cual se tiene que tomar en cuenta el nmero total de entradas y salidas que podemos manipular para aprovecharlas al mximo. Para el PICAXE18 se tiene la oportunidad de disponer de 8 terminales de salida y 5 terminales de entrada; de estas ltimas y dependiendo del tipo de microcontrolador PICAXE (PICAXE18 18A 18X), se pueden co- Figura 51 locar hasta tres entradas como entradas analgicas. La tarjeta entrenadora que se propone en esta oportunidad tiene la posibilidad de explotar al mximo todas las propiedades de un PICAXE18. En la figura 53 se muestra el circuito esquemtico de la tarjeta entrenadora completa.
ra general, pueden clasificarse como discretos o analgicos, entendindose como discretos todas aquellas seales que trabajan mediante la lgica binaria, 0 lgico y 1 lgico, mientras que las seales analgicas, son aquellas, como la temperatura, que estn variando con el tiempo y puede adquirir un nmero infinito de valores dentro de un intervalo bien establecido. Para esta tarjeta controladora no se necesita configurar alguna forma especial de trabajo sobre su circuitera, por lo que sus aplicaciones son inmediatas, ya que posee terminales dedicadas tanto para ingresarle como para extraerle datos, siendo el microcontrolador PICAXE el elemento indispensable que realiza todas las acciones de control. Una vez identificadas las terminales de entrada y salida de datos de la tarjeta entrenadora, como paso siguiente se tienen que identificar los mdulos de apoyo para construir, implementar y/o simular alguna aplicacin. El primer mdulo de apoyo que describireFigura 53 - Diagrama esquemtico de la tarjeta entrenadora PICAXE18. mos es el relacionado con la actividad de representar alguna accin del microcontrolador, A continuacin describiremos cada bloque de esta tarjeta esto es, el poder sealar por medio de un indicador luminoso entrenadora para que se le pueda sacar el mximo provecho. alguna respuesta. Para ello se cuenta con 2 circuitos basados Como primer paso ser identificada la ubicacin de dnde en leds que se encuentran en el rea de experimentos de la prose encuentra el microcontrolador PICAXE18, el cual justamenpia tarjeta entrenadora. Estos circuitos se muestran en las figute debe encontrarse sobre la base identificada como IC1, resras 54 y 55. Para hacer uso de estos circuitos, lo que tiene que petando en todo momento la distribucin de las terminales. hacerse es conectar, mediante un pequeo cable, el borne coSobre el conector identificado como salidas, se encuentran rrespondiente, ya sea de S1 o S2, con cualquiera de las termiconcentradas las 8 de que dispone el microcontrolador PICAnales de salida del microcontrolador, que pueden ser S0 S1 XE, las cuales se encuentran identificadas desde S0 hasta S7. S2 S3 S4 S5 S6 S7 del conector Salidas. De esEste conjunto de salidas pueden emplearse de manera indistinta forma, si la salida registra un 1 lgico, se encender el led ta para controlar algn elemento externo que bien puede ser un al cual fue conectado, y por lo contrario, si la salida reporta un actuador (elemento de potencia); todo depende de su naturale0 lgico, el led se apagar. za para, en funcin de ella, conectar en la salida un optoacoEl segundo mdulo de apoyo es el que genera estados displador para encender o apagar un motor de CA, por ejemplo, cretos para poder hacerlos llegar al microcontrolador. Estos mas como encender una lmpara incandescente o un simple diodulos pueden simular la activacin o desactivacin de determido led. nados sensores o botones que se requieren en algn proceso. Sobre el conector denominado entradas, se tiene el reflejo Para este requerimiento, sobre la tarjeta entrenadora se cuenta precisamente de las terminales de entrada al microcontrolador con 2 circuitos basados en pulsadores que se encuentran sobre PICAXE. Las terminales de entrada se encuentran identificadas el rea de experimentos. Estos circuitos se muestran en la placa como E0, E1, E2, E6 y E7; de estas ltimas, dependiendo del de la figura 55 y lo nico que se tiene que hacer es conectar el tipo de PICAXE (PICAXE18 18A 18X), las terminales E0, borne correspondiente, ya sea E1 E2, a cualquiera de las terE1 y E2 pueden comportarse como terminales de entrada anaminales de entrada, que pueden ser E0 E1 E2 E6 E7 del lgica, esto es, tienen un convertidor analgico digital. En las conector Entradas. Esto ltimo da posibilidad a que durante la terminales de entrada de datos se tienen que conectar aquellos fase de pruebas del programa del microcontrolador se pueda circuitos externos que generen algn estado lgico y que refleevaluar si la secuencia con que se tienen que activar los sensojen fielmente el estado de la actividad que estn leyendo los res es la correcta o no, para poder estar seguros de que nuessensores bajo algn proceso. Estos datos de entrada, de manetro programa operar completamente sobre nuestra aplicacin.
El tercer mdulo de apoyo es el que genera seales analgicas para que puedan emplearse con aquel PICAXE que internamente posee un convertidor analgico digital. Este mdulo puede realizar el trabajo de simulacin, por ejemplo, de un sensor de temperatura, de un sensor de presin, de humedad, etc. Para esta parte, la tarjeta entrenadora cuenta con un resistor variable identificado como POT1, por medio del cual se puede cambiar el valor de voltaje que se hace llegar a la terminal correspondiente de entrada analgica del microcontrola-
dor que, dependiendo del tipo de PICAXE; stas pueden ser E0 E1 E2 del conector Entradas. Ahora bien, lo que se quiere es utilizar en la tarjeta programadora un sensor real, por ejemplo un LDR (resistencia variable con la luz) o una galga extensiomtrica (resistencia variable con la deformacin), etc. En el mdulo de seales analgicas, a travs del conector identificado como SENSOR, se puede conectar un determinado sensor que, en combinacin con el resistor R8, se genera el voltaje cuyo valor responder de acuerdo a la variable fsica que lea el sensor. Cabe aclarar que el tipo de sensor que se tiene que utilizar en esta parte de la tarjeta entrenadora debe presentar un cambio en su valor de resistencia para que, en funcin de esto, se modifique el valor de voltaje que es lo que lee el PICAXE en las entradas analgicas. Las terminales Figura 55 - Disposicin de los compodonde se refleja el esnentes sobre la tarjeta entrenadora. tado del mdulo que
genera las seales analgicas se identifican como AN1 y AN2. El espacio identificado como PROGRA se encuentra ocupado por un conector de audio estreo tipo mini Jack, el cual puede tener cualquiera forma, tal como se ilustra en la figura 56. El conector de audio estreo tan slo tiene 3 terminales que sern utilizadas para comunicar al microcontrolador con una PC a travs del puerto serie. En la figura 57 se muestra el diagrama de cmo se deben identificar las terminales, tanto en la tarjeta entrenadora como en el conector DB9 que se conecta al puerto serie de una PC. Las terminales del conector de audio y DB9 realizarn las siguientes actividades: La lnea identificada con el nmero 1 en el conector de audio sirve para verificar que el microcontrolador PICAXE se encuentra conectado al puerto serie de la PC. La lnea identificada con el nmero 2 en el conector de audio sirve para programar al microcontrolador PICAXE. La lnea identificada con el nmero 3 en el conector de audio es la referencia GND tambin conocida como tierra elctrica. En la figura 58 se muestra la imagen de un cable de programacin. De lo contrario puede emplearse un adaptador (figura 59) que realiza la misma funcin y con ste puede emplearse cualquier cable serie que se disponga. Por ltimo, sobre la tarjeta entrenadora se tiene incorporado un regulador de voltaje identificado como IC2 que posee el cdigo LM7805, y cuyo cometido es el de proporcionar un voltaje constante de 5V para alimentar al microcontrolador PICAXE y los mdulos auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilizacin del regulador de voltaje es posible que podamos emplear para energizar a nuestra tarjeta de entrenamiento una pila de 9V. LISTA
DE COMPONENTES PARA LA TARJETA
Aprendiendo a Utilizar el ADC en la Tarjeta Entrenadora del Picaxe-18 Con el PICAXE08 se tiene la posibilidad de utilizar el convertidor analgico a digital (ADC), la forma de utilizarlo bajo el sistema PICAXE es lo mismo para cualquiera de las versiones de microcontroladores, ya sea PICAXE08, PICAXE18 PICAXE28. El empleo de un ADC es muy til e inclusive necesario, sobre todo cuando tenemos que utilizar un sensor que nos reporta una variable cuyos valores cambian dentro de un rango establecido con el transcurso del tiempo. A estas variables se les conoce con el nombre de analgicas, ya que tienen un comportamiento como el ilustrado en la figura 60. Dependiendo de la variable fsica que se tenga que medir (para, con su informacin, controlar determinado proceso), es el sensor que emplearemos. Existen sensores para medir la temperatura, humedad, intensidad luminosa, presin ejercida a una superficie, aceleracin, deformacin de materiales. Estas variables fsicas son las ms comunes de medir ya que existen sensores comerciales muy econmicos para estas variables. El aspecto comn de todos los sensores, no importando a qu variable fsica responden, es que convierten la variable fsica a una seal elctrica cuyo valor correspondiente de forma directa a la variable. Para el caso particular de la tarjeta entrenadora del PICAXE18, se requieren sensores que cuenten, preferentemente, con una variacin de resistencia al cambiar el valor de la variable fsica, ya que sobre la tarjeta entrenadora se tiene implementado un circuito resistivo que, en combinacin con el sensor se genera un divisor de voltaje, el cual se encuentra conectado a un potencial de 5V. Las variaciones de ste, de acuerdo a lo que mida el sensor, que es lo que se hace llegar al ADC del PICAXE. En la figura 61 se ilustra el diagrama esquemtico de la tarjeta entrenadora PICAXE18, de la cual nos interesan, en esta ocasin, las terminales identificadas como AN1 y AN2. Si analizamos con detalle la terminal que corresponde al borne AN1, es all donde se encuentra un conector con tornillos que sirven para sujetar al sensor que utilicemos, recordando que debe generar una variacin resistiva a los cambios que presente la variable fsica. El sensor que utilicemos estar conectndose en serie con un resistor identificado como R8 y cuyo valor es de 100k. Este circuito serie tiene, en uno de sus extremos, el valor positivo de 5V, y el otro GND; por lo tanto, al cambiar el valor de la variable fsica se tendr una repercusin sobre el sensor, ya que ste cambiar su valor resistivo. Al modificarse el valor de resistencia del sensor, se tendr una mayor o menor circulacin de corriente, recordando que todo depende de la ley de Ohm, que dice: El valor de la corriente es inversamente proporcional al valor de la resistencia, y directamente proporcional al valor del voltaje (la frmula matemtica es: I = V/R).
CONTROLADORA
PICAXE18
IC1 Base de 18 terminales IC2 LM7805 D1, D2 Leds Verdes D3 Led Rojo S1, S2, RESET Interruptores Push button R1, R4, R5: 10k 1/8Watt R2: 22k 1/8Watt R3: 1k 1/8Watt R6, R7,R9: 39k 1/8Watt R8: 100k 1/8Watt Pot. 1: Preset 100 Sensor: Bloque de terminales Varios: Conector mini jack de audio, conector mini plug de audio, alambres de conexin, broche para pila de 9V y circuito impreso.
Si cambia el valor de la corriente en el circuito serie y nuevamente aplicamos la ley de Ohm, entonces se tendrn variaciones de voltaje, ya que la informacin del valor de voltaje la estaremos obteniendo de la conexin del sensor con R8. El borne, identificado como AN2, es ms sencillo de utilizar, ya que ah se tiene un preset identificado como POT1, del cual una de sus 2 terminales de los extremos se hace llegar al potencial de 5V y el otro a GND. Es a travs de su terminal del medio de donde se obtiene el valor de voltaje que se dirigir posteriorFigura 60 - Diferentes tipos de seales analgicas mente al ADC del PICAXE. Observando con detalle este circuito simple, nos daremos cuenta de que se trata trada que ser utilizada con el valor analgico de la intensidad de 2 resistores conectados en serie, y que al modificar el valor luminosa est en el borne de entradas de la tarjeta entrenadodel preset, le estaremos agregando resistencia a uno de estos ra, y se trata de la entrada E0. El LDR, prcticamente, es una resistores y quitndole al otro. El propsito de utilizar este cirresistencia variable que est constituida por un material fotosencuito es nicamente para cuestiones didcticas, ya que estaresible; por lo tanto, la intensidad luminosa provocar que dismimos simulando la operacin de un sensor an sin tenerlo, pero nuya su valor de resistencia, mientras que la oscuridad o ausenestaremos en absolutas posibilidades de comprobar nuestro cia de luz ocasionar que tenga su mxima resistencia, y deprograma ya colocado en el PICAXE. La informacin contenida pendiendo del tipo de LDR puede tener valores de resistencia en los bornes AN1 y AN2, que es el reflejo de un sensor (paque son de 2M, 10M en la oscuridad. Para controlar el ra el caso de AN1) y la variacin de un potencimetro (para el caso de AN2) se tiene que conectar a la entrada analgica del PICAXE. Para ello, dependiendo del tipo de microcontrolador PICAXE (PICAXE18 18A 18X), se puede disponer de hasta tres entradas del tipo analgicas. Los bornes de las entradas analgicas al PICAXE estn identificados como E0, E1 y E2, por lo que para hacer llegar la informacin de los bornes AN1 AN2 a E0 E1 E2, ser mediante pequeos cablecillos de conexin, tal como se muestra en la figura 62. Para ilustrar de mejor manera la utilizacin del ADC del PICAXE vamos a recurrir al empleo de un ejemplo prctico. Este ejemplo consistir en encender o apagar una lmpara de alterna del mismo tipo que utilizamos para iluminar nuestra casa. El circuito al que estamos haciendo referencia es el de un control automtico de luces. Este control automtico detectar, a travs del LDR, cundo se oculte nuestro astro rey (Sol) y se comiencen a oscurecer las calles, y viceversa, cuando empiece a amanecer, de igual manera la luminosidad producida ser Figura 61 - Diagrama esquemtico de la tarjeta entrenadora PICAXE18. detectada a travs del LDR (figura 63). La en-
apagado o encendido de la lmpara de alterna, se requiere un circuito que maneje la potencia, o dicho con otras palabras, se necesita que la cantidad de corriente que consuma la lmpara no la suministre directamente el PICAXE, por lo que se emplea una interfaz implementada a base de un transistor identificado como Q1, adems de utilizar tambin un relevador que se en-
cuentra identificado como RL1. Todo esto se ubica en el diagrama de la figura 62. La salida que se utilizar se encuentra en el borne de salidas de la tarjeta entrenadora y se trata de la salida S0. En la salida S0 se tendr un 0 lgico si la intensidad luminosa detectada es suficiente como para que se apague la lmpara; por otra parte, si la intensidad luminosa es muy baja o se tiene oscuridad total, en la salida S0 se tendr un 1 lgico, provocando que se encienda la lmpara correspondiente. Esta informacin se hace llegar al transistor Q1, que a su vez, dependiendo de la informacin que tenga en su base, energizar o no la bobina del relevador RL1, siendo los contactos de este relevador quienes manejen la tensin alterna de lnea y sern ellos quienes enciendan o apaguen, finalmente, la lmpara. Una vez explicaFigura 64 - Icono del programa da la parte que corresponde a la electrFigura 65 - Ventana de Opciones. PICAXE Programming Editor nica de la tarjeta entrenadora, as como los dispositivos y circuitos que se le agregarn para su funcionamiento, ahora procederemos a explicar cmo se elabora el programa con el cual controlaremos el encendido o apagado de una lmpara de corriente alterna, as que prosigaFigura 66 - Barra de comandos con el men Other. mos adelante.
Lo primero que tenemos que hacer es abrir nuestro prograco que est leyendo ma llamado PICAXE Programming Editor (figura 64) y que el PICAXE. previamente tuvimos que instalar, y si an no se tiene, lo pueEl paso siguienden descargar de nuestra pgina de internet www.webelectrote es verificar qu nica.com.ar con la clave picaxe, o en su defecto tambin lo valor tiene la variapueden adquirir en la pgina www.picaxe.uk.co. ble b0 (Fig. 69) paUna vez dentro del programa editor de los PICAXE, se ra que cuando se abrir una ventana en donde se muestran las distintas opciones compare este valor para utilizar los PICAXE, y en esta ocasin, tenemos que elegir se sepa si existe lumialguno de los PICAXE18; todo depende de cul de ellos sea nosidad u oscuridad con el que contemos. en el medio ambienComenzaremos programando con diagramas de flujo para te. En este caso, teaprender a utilizar los distintos comandos, y posteriormente los nemos que seleccioconvertiremos en cdigo Basic. As es que tenemos que selecnar el men if para cionar el comando que abre la plantilla de trabajo con diagraubicar los comandos mas de flujo. Observe la figura 65. de verificacin de Ya en el ambiente de programacin con diagramas de fluvalores; posteriorjo, lo primero que tenemos que seleccionar en la barra de comente, seleccionaremandos es el que est identificado con la palabra other (fig. mos el comando que 66) ya que ah es en donde se encuentra la herramienta para est identificado coutilizar el comando de lectura del convertidor ADC del PICAXE. mo var, ya que es El comando del ADC est identificado como readadc y con ste con el que lo nico que tenemos que hacer es seleccionarlo para poderlo compararemos los colocar en el rea de trabajo, y con el comando de seleccin valores de las variaque est identificado con una flecha, le indicaremos en qu enbles con las que trada estar ubicada la de valores analgicos. Normalmente, cuenta el microconcuando seleccionamos el comando readadc, por defecto se trolador PICAXE. selecciona la entrada E0, pero recordemos que podemos seleccionar cualquiera de las entradas E0 E1 E2 las tres al mismo tiempo, ya que slo tenemos que conectarles el corresFigura 69 Copondiente circuito con el sensor analgico. Remando que comcuerden tambin que dependiendo del tipo de para el valor de PICAXE18 (PICAXE 18 18A 18X) sern la variable b0. las entradas analgicas que emplearemos. (Figura 67). Para colocar el comando readadc, lo podemos hacer directamente uniendo el extremo superior del bloque del comando readadc (Fig. 68) con el del bloque start; esta accin la llevamos a cabo para optimizar espacio en el diagrama de flujo, y ahorrarnos la utilizacin de la herramienta wire. El comando readadc tiene la tarea de leer el valor de la variable analgica que en esta etapa se encuentra en su correspondiente valor de voltaje, y tal como se encuentra expresado en la figura 68, el 0 que se encuentra despus de la palabra readadc indica qu terminal de entrada es la que se est utilizando con el ADC, y despus se encuentra la variable b0, que es donde se aloja el valor analgi-
Para configurar el comando var, tenemos que seleccionar en qu variable se est guardando el dato que ser digitalizado, y que en esta ocasin se trata de la variable b0. Ahora seleccionaremos el operando mayor que para indicarle al PICAXE que para todos los valores analgicos mayores que determinado valor nos debe reportar una salida verdadera y entonces el flujo lgico se dirigir a travs de la salida identificada como Y. El valor que fijaremos es el de 125, que prcticamente representa la mitad del rango total que puede ser digitalizado y cuyo valor mximo es de 255. Para nuestro programa, cuando se tienen valores por debajo de 124, indicar que se tiene suficiente luminosidad; por lo tanto, al salir la informacin por la salida N del bloque var, mandar apagar la lmpara. Cuando se tienen valores mayores a 125, indicar que la luminosidad es muy baja, por lo que mandar encender la lmpara. A la salida identificada como N se le conectar el bloque low, cuya funcin ser la de apagar la salida S0 que es en donde se encuentra conectado el circuito externo que controla la lmpara, mientras que a travs de la salida identificada como Y se encuentra el bloque high que ser la encargada de activar la salida S0 y de esta manera encender la lmpara. El diagrama de flujo completo se muestra en la figura 70. En la figura 71 se observa la simulacin del ADC; para ello, se tiene la ventana donde se muestran las entradas y las salidas y en la parte derecha se muestra el rea en donde se puede manipular la entrada correspondiente al ADC. Al mover la barra correspondiente de la entrada analgica, observaremos cmo en la ventana correspondiente a las variables se ir modificando la variable b0, que es donde guardaremos el dato originado en el ADC. Cuando hemos visto que nuestro diagrama de flujo realiza las funciones lgicas que esperamos, entonces estamos en posibilidad de convertir el cdigo a Basic (Fig. 72), para posteriormente descargarlo a nuestro PICAXE por medio de la tarjeta programadora. En la figura 73 y 74 se muestra la manera de cmo podemos armar nuestro cable de programacin o, en su defecto, utilizar un cable serie comn y un adaptador como el que se muestra en la figura 75. Por ltimo, sobre la tarjeta entrenadora se tiene incorporado un regulador de voltaje identificado como IC2 que posee el cdigo LM7805, y cuyo cometido es la de proporcionar un voltaje constante de 5V para alimentar al microcontrolador PICA-
XE y los mdulos auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilizacin del regulador de voltaje, es posible emplear para energizar a nuestra tarjeta de entrenamiento una pila de 9V. LISTA DE COMPONENTES PARA ARMAR LA TARJETA CONTROLADORA PICAXE18. Tarjeta entrenadora PICAXE18. D1 -Diodo 1N4001 Rext1 -1 k 1/8 Watt RL1 -Relevador 5V Q1 - BC548 LDR Varios: Cable de programacin o Cable serie y adaptador, cables de conexin, batera de 9V.
Control de Temperatura con la Tarjeta Entrenadora del Picaxe-18 La temperatura es uno de los parmetros que ms se controla, ya que desde una simple casa, hasta algn proceso industrial de una empresa cuenta con este tipo de dispositivos, los cuales pueden ser muy simples o inclusive llegan a ser elementos muy complejos y avanzados. En la figura 76 vemos el diagrama esquemtico de la tarjeta entrenadora PICAXE-18, con el sensor LM35 integrado a ella. Comercialmente existen medidores de temperatura cuya funcin es slo, mostrar el valor de temperatura, y por otra parte tambin estn presentes los controles de algn proceso que actan en funcin del valor de la temperatura. Estos ltimos controles basan su forma de operar en un convertidor analgico - digital, si es que el control es electrnico y digitalizado, y ms que mostrar el valor de temperatura, su utilidad principal
Figura 76
Figura 77
ra disear un control automtico de temperatura basndonos en nuestro microcontrolador PICAXE, en el cual fijaremos un valor que servir de referencia para saber en qu momento se deber activar desactivar un equipo de aire acondicionado, un ventilador un calefactor, etc. Aqu lo ms importante es que debemos seleccionar un sensor que nos entregue un valor de voltaje que tenga una correspondencia con el valor de temperatura que est midiendo, que en este caso puede ser el LM35, que ya se encuentra calibrado en grados centgrados (C). Otro tipo de sensor que se puede emplear para leer la temperatura, sera un termistor que, a diferencia del LM35, basa su operacin en cambios de valores de resistencia de acuerdo a la variacin de tem-
radica en el hecho de realizar tareas como la de controlar de manera autnoma la temperatura de una caldera, de una habitacin, de un invernadero, etc. En la figura 77 podemos observar las conexiones sobre la tarjeta entrenadora PICAXE-18. La temperatura es una de las variables fsicas ms fciles y econmicas de controlar. En casi cualquier negocio de productos electrnicos encontraremos, por ejemplo, un simple circuito integrado identificado como LM35, que es un sensor electrnico de temperatura. En esta oportunidad vamos a implementar un algoritmo paFigura 78
peratura. Sea para un sensor que entrega voltaje o para un sensor que cambia su valor resistivo, la tarjeta entrenadora del PICAXE - 18 contempla la utilizacin de ambos, y para ello se cuenta con un espacio reservado a cada uno de los sensores. Si se trata del sensor LM35 que entrega voltaje, se tendr que conectar en el espacio que se encuentra sobre la tarjeta entrenadora y que se identifica como Pot1. Para ello, se tendr que retirar el preset si es que ya haba sido colocado, para colocar el sensor LM35 en su lugar, respetando la ubicacin de las terminales del voltaje de alimentacin (Vcc y GND). El terminal que entrega el nivel de voltaje de acuerdo con la temperatura presente, es el AN2, que se tiene que conectar por medio de un pequeo cablecillo a cualquiera de las entradas E0 E1 E2 que tiene el microcontrolador PICAXE. Por otra parte, si se emplea un termistor, slo tendr que colocarse en el conector identificado como sensor y en el cual se tiene contemplado que se utilice un bloque conector con tornillo. Aqu ya est preparado el circuito que complementar al termistor (divisor de voltaje) para que de esta manera las variaciones de temperatura se conviertan en valores de voltaje en el terminal AN1, y de igual manera, por medio de un cablecillo, se puede conectar esta informacin a cualquiera de las tres entradas que posee el convertidor analgico digital del microcontrolador PICAXE. En esta ocasin y para este proyecto, utilizaremos el sensor LM35 para medir la temperatura, y con esta variable fsica estaremos en posibilidad de controlar la temperatura de un recinto cerrado, como ser una habitacin el interior de un vehculo. Ya vimos en la figura 77 el diagrama del circuito que ser adecuado para complementar la operacin de la tarjeta entre-
nadora del PICAXE - 18, como circuitera complementaria a la tarjeta entrenadora, se observa la conexin del sensor de temperatura, que en esta ocasin se trata del circuito integrado LM35. Por otra parte, tambin se observa el circuito externo que activa el ventilador, el cual se encuentra implementado a travs de un amplificador operacional, un transistor y un relevador, principalmente. En la figura 78 se ve el diagrama de flujo del programa del PICAXE. El sensor de temperatura LM35 proporciona un valor de voltaje que est de acuerdo con la magnitud de temperatura que se encuentre en el recinto donde est instalado. De acuerdo con el fabricante, su rango de operacin va de 0V a 1.5V, que equivale a 0C y 150 C, respectivamente, y a cada cambio de 1 C, el valor de voltaje cambia en 10mV. Por lo tanto, es muy fcil saber qu valor de temperatura est midiendo al saber el valor de voltaje que entrega el sensor. Por ejemplo, cuando se tenga un valor de 35 C, se tendr un valor de 350mV. La forma de emplear el sensor LM35 y el circuito exterior se ilustra puede verlo nuevamente en la figura 77. En ella se aprecia que se puede utilizar un ventilador que puede poseer un motor tanto de CA como de CD. Esto es posible, ya que estamos empleando un relevador como elemento de interfaz entre la etapa de control y la de potencia. La bobina del relevador est siendo controlada por un amplificador operacional, que es el dispositivo que servir de proteccin entre la salida del microcontrolador PICAXE y la bobina del relevador. El amplificador operacional, entre otras cosas, tiene la propiedad de no demandar corriente del terminal de salida del PICAXE, y por ello no se sobrecargue. La configuracin en la que se encuentra el amplificador operacional se llama seguidor de voltaje, y en ella el voltaje de entrada es exactamente igual al que est entregando. Por lo tanto, como el PICAXE le entrega 5V al seguidor de voltaje cuando su salida est activada, la salida del amplificador operacional tambin ser de 5V pero casi sin demandarle corriente al PICAXE. Posteriormente, la salida del seguidor de voltaje se hace llegar a un transistor 2N2222 (de propsito general), que es el que se encarga de manejar toda la corriente que demandar la bobina del relevador cuando ste necesite ser activado. El transistor le ayuda al amplificador operacional a que no se caliente cuando circule una corriente muy alta. Es recomendable que la fuente que energice la bobina del relevador sea independiente de la que energiza a la tarjeta entrenadora del PICAXE - 18, ya que cuando el relevador se activa, ste demanda una corriente muy grande, y si empleamos el mismo regulador de voltaje que posee la tarjeta entrenadora, ste podra sobrecalentarse demasiado, hasta tal punto que puede llegar a bloquearse y
toda la circuitera comenzar a trabajar de una forma muy deficiente y podra, entre otras cosas, comenzar a encenderse y apagarse continuamente, provocando que el ventilador se encienda y apague a cada rato. El valor de voltaje correspondiente con la magnitud de la temperatura estar en el borne del terminal AN2, y de ah, por medio de un cablecillo, haremos llegar esta informacin al terminal de entrada E0 que configuraremos como entrada para el convertidor analgico - digital del microcontrolador PICAXE. Para controlar el encendido o apagado del ventilador, utilizaremos el terminal S0 de la tarjeta entrenadora, que tambin corresponde a un terminal de salida del PICAXE. En la figura 79 se ve la simulacin del programa. Para comenzar a programar al microcontrolador PICAXE, primero describiremos qu es lo que pretendemos en cuanto a la forma de operacin de esta aplicacin, o sea: El sensor de temperatura se encontrar leyendo de manera continua la magnitud de la temperatura, que se har llegar a un canal del convertidor analgico - digital del microcontrolador PICAXE. Este ltimo, de acuerdo con el programa (es lo que vamos a realizar a continuacin), activar una de sus salidas para controlar la bobina de un relevador. Para controlar el apagado o encendido de la bobina del relevador, se requiere lo siguiente: por medio de un 0 lgico se apagar la salida S0; por lo tanto, la bobina del relevador se desenergizar, mientras que un 1 lgico en la misma salida S0 provocar que la bobina del relevador se energice. Una vez que ya sabemos de qu manera tiene que operar el microcontrolador PICAXE, procedemos a explicar la realizacin del programa. En desarrollos anteriores hemos comenzado esta parte de la aplicacin con las siguientes palabras, lo primero que tenemos que hacer es abrir nuestro programa llamado PICAXE Programming Editor. Por lo tanto, nuevamente hacemos la indicacin de que pueden descargar el software de nuestra pgina de internet si es que an no lo tienen, la pgina es www.webelectronica.com.ar y empleen la clave picaxe, en su defecto, tambin lo pueden adquirir en la pgina www.picaxe.uk.co.
Figura 79
Recuerden que al ingresar en el programa lo primero que se abrir ser una ventana, de la cual, en la pestaa opciones, seleccionarn el PICAXE que ser utilizado para el proyecto, se puede emplear cualquier microcontrolador PICAXE, ya que la estructura del programa es vlido para cualquiera de ellos, pero recuerden que tenemos microcontroladores de 8, 18, 28 y 40 terminales; por lo tanto, las terminales de salida y de entrada cambian de posicin y cantidad de acuerdo al PICAXE que se vaya a utilizar. Cuando empleamos un convertidor analgico - digital (ADC), lo primero que tenemos que hacer es calcular su resolucin y para ellos nos basamos en la frmula N1. Resolucin = Valor del rango ---------------------------------2N - 1 En este caso el valor del rango es el que tiene la entrada del ADC del PICAXE, que es de 5V. La variable N representa la cantidad de bits que posee el ADC, que en este caso es de 8; por lo tanto, la expresin anterior queda como sigue: 5 5 Resolucin = --------------------- = ----------------------- = 256 - 1 28 - 1 = 0.0196V = 19.6mV Con este dato ya sabemos que con cada cambio de 0.0196V que exista en el ADC, se tendr el incremento de un bit en un conteo a base de 8 bits. Por otra parte, y recordando que el sensor LM35 trabaja en el rango de 0 C a 150 C cuyos valores equivalen a 0V y 1.5V, respectivamente, por razones obvias no ser empleado todo el rango de trabajo del ADC del PICAXE, ya que la temperatura ambiente, por ejemplo en un lugar extremo, es de hasta 55 C, y ya estamos hablando de un desierto. Para este desarrollo el valor de temperatura que nos interesa es el de 25 C, ya que por debajo de este valor podemos considerar que la temperatura es agradable, pero por encima de este valor consideraremos que hace demasiado calor, por lo que tenemos que encender el ventilador (este nivel de temperatura se puede ajustar a las preferencias de las personas o los lugares). Para la temperatura de 25 C se tiene un valor de voltaje equivalente a 250mV; por lo tanto, tenemos que saber qu nmero binario ser el resultante una vez que es ingresado al ADC del PICAXE. Para ello, emplearemos el valor de la resolucin y el del valor analgico (Va) que tendremos que digitalizar. Por lo tanto, Va = 250mV, y para calcular la combinacin binaria tenemos la siguiente expresin matemtica: Comb. binaria = Valor Analgico (Va) ------------------------------------- Resolucin
Por lo tanto: 250mV Comb. binaria = ----------------------- = 12.75 13 19,6mV El valor de 13 ahora lo tenemos que convertir a su correspondiente valor binario de 8 bits, quedando como sigue: 00001101. Este ltimo valor binario es el que tomaremos como base para realizar la comparacin de los diferentes valores de voltaje que tienen una correspondencia directa con el valor de temperatura, y entonces, para cualquier valor por debajo de 00001101 (13), se desactivar el ventilador, mientras que para cualquier valor por arriba de 00001101 se tendr que encender el ventilador. Por lo tanto, de la figura 78 observe que despus de tomar un dato, digitalizarlo y almacenarlo de manera temporal en la variable b0, se realiza una comparacin del valor guardado en b0 con el valor de referencia que es 13, siendo el operador empleado en esta comparacin el de un (mayor que), para saber en qu momento el valor de la temperatura sobrepasa la magnitud de 25 C, tal como se encuentra expresado en el diagrama de flujo de la figura 78. El programa es muy simple ya que tan slo se trata de leer un dato analgico y guardarlo en una localidad de memoria RAM. El comando para realizar la lectura del dato analgico es el que est identificado como readadc y se encuentra en el bloque identificado como other en la pgina principal del programa Programming Editor. Para configurar este comando se le tiene que asignar en cul de las entradas que posee el microcontrolador PICAXE se estar empleando el ADC, adems de indicarle en cul variable (localidad de memoria RAM) se alojar el dato digitalizado. Posteriormente, para comparar el dato que se obtiene despus de la digitalizacin se toma de la localidad de memoria este valor y se compara con el valor 13 (00001101) que ya fue explicado anteriormente. El comando para realizar la comparacin es un rombo y se encuentran en la pgina principal dentro del bloque if. De aqu, si el valor de la variable es mayor que el dato 13, entonces se interpretar como que la temperatura se encuentra por arriba de 25 C, y; por lo tanto, encenderemos la salida S0 del PICAXE para que se observe esta accin mediante la activacin del ventilador. En la figura 79 se muestra la simulacin del ADC, observndose en ella las ventanas donde se muestra el estado de las entradas, las salidas y las variables temporales. En la figura 80 publicamos el programa en cdigo Basic. Una vez que el diagrama de flujo ya se encuentra operando completamente, el paso siguiente ser el de convertir el cdigo a basic, y posteriormente descargarlo al PICAXE instalado en la tarjeta programadora.
Aunque ya lo hemos mostrado anteriormente, en la figura 81 nuevamente mostramos la manera de cmo podemos armar el cable de programacin con la identificacin de terminales en los conectores mini jack y DB9. An nos falta desarrollar una gran cantidad de ejercicios, razn por la cual los invitamos a que sigan esta serie de ejemplos de utilizacin y consejos de programacin.
Figura 80
LISTA
TARJETA CONTROLADORA
PICAXE-18
Tarjeta entrenadora PICAXE-18. D1 - Diodo 1N4001 Rext1 - 5.6k 1/8W Rext2 - 390 1/8W RL1 Relevador Q1 - 2N2222 Sensor LM35 Varios: Cable de programacin, Cable serie y adaptador, cables de conexin, batera de 9V.
Programa para Desplegar Nmeros BCD con la Tarjeta Entrenadora del Picaxe-18 En muchas ocasiones y para la mayora de las aplicaciones que desarrollamos sobre un microcontrolador, tenemos que mostrar algn resultado sobre un display, que bien puede ser de segmentos o de LCD, por lo que es necesario saber de qu manera se desplegar la informacin sobre las salidas que se tienen Figura 81 reservadas en un microcontrolador PICAXE. Si nos ponemos a contabilizar todo el conjunto de informacin que tiene que salir por el puerto correspondiente de algn microcontrolador para manipular un display, necesitaramos de una gran cantidad de lneas que se reserven para ese uso exclusivo. De hecho, no alcanzaran todas las lneas que tuviera disponible el microcontrolador, razn por la cual tenemos que emplear una tcnica que nos ayude a solucionar este problema. En este ejemplo haremos uso de displays de 7 segmentos, para as aprender a enviarles la informacin a stos. La tcnica que emplearemos es la de multiplexacin de la informacin, por lo que pro-
cederemos a explicar en primera instancia el circuito que se emplear con los displays de 7 segmentos, el cual incluye un total de 3 displays de ctodo comn. El circuito de los displays recibe el nombre de Display de 3 dgitos cuya publicacin complementaria se realiz en la revista Saber Electrnica N 220 Edicin Argentina. El principio de operacin es muy bsico: se le hacen llegar 4 bits que son los que generan el cdigo BCD, adems de 3 bits que son los que indican qu nmero es el que se estar desplegando, esto es, se controla el encendido del display correspondiente con las unidades, decenas o centenas. Si se requiere mostrar el valor 578 entonces se requiere enviarle al circuito del Display de 3 dgitos la combinacin 1000 (8) y despus el bit que enciende el display de la unidades, despus se tiene que enviar el 0111 (7) posteriormente el bit que enciende el display de las decenas y por ltimo el 0101 (5) y como paso siguiente se tiene que enviar el bit que enciende el display de las centenas. Este proceso se tendr que repetir muchas veces, dando la impresin de que siempre estn encendidos los displays.
Lo que se pretende con estas instrucciones es adquirir el conocimiento de cmo se tiene que generar la informacin en un microcontrolador PICAXE, para que, posteriormente, sta sea enviada a las terminales de su puerto de salida. Por lo tanto, y de acuerdo a la descripcin anterior, que se hizo de la manera cmo funciona el circuito auxiliar denominado Display de 3 dgitos, se tiene lo siguiente: De alguna manera, ya debemos contar con datos, que tuvieron que ser adquiridos previamente por algn proceso por el microcontrolador PICAXE (por ejemplo la lectura a travs del convertidor ADC descrito anteriormente en esta serie). Una vez procesados estos datos, de acuerdo con nuestra aplicacin, puede ser muy importante desplegar un dato numrico, porque a lo mejor estamos diseando un voltmetro digital, por ejemplo. En la figura 82 vemos la tarjeta entrenadora PICAXE-18 y la tarjeta del Display de 3 dgitos. Se muestra la manera de conectar el circuito auxiliar Display de 3 dgitos a la tarjeta entrenadora, por lo que ah se observan las lneas de conexin entre los terminales de salida del puerto de la tarjeta entrenadora que van hacia las terminales de entrada del circuito auxiliar. Cabe aclarar que sta es tan slo una sugerencia de cmo hacerlo, ya que cada uno puede realizar las conexiones de la mejor manera posible y as optimizar los recursos de la tarjeta entrenadora. Sobre la misma figura 82 no se hace mencin de la conexin de la energa al display de 3 dgitos, pero sta se puede tomar de los terminales disponibles sobre la tarjeta entrenadora que tienen la identificacin de +5V, y hacer llegar este voltaje al borne identificado como +Bat. Una vez descrita la disposicin de la circuitera, procedemos a explicar el desarrollo del programa del microcontrolador PICAXE. Para esta explicacin, como ya se haba establecido en lneas ante-
riores, la informacin que ser desplegada de alguna manera ya fue adquirida o procesada por el microcontrolador, por lo que la nica tarea que se tiene es la de mostrarla a travs del display. Supongamos que se requiere desplegar la informacin 246 a travs del display; por lo tanto, en primera instancia se tiene que leer el dato de una localidad de memoria temporal donde fue alojado para su posterior utilizacin. El dato a ser desplegado lo debemos seccionar en tres partes, para su mejor manejo; por ello, se tiene que el nmero cuenta con las siguientes partes: unidades, decenas y centenas, por ser 3 las cifras que componen al nmero total. En esta ocasin y como sugerencia, el dato de las unidades se encontrar ubicado en la localidad de memoria temporal representada por el registro del microcontrolador PICAXE b0, el dato de las decenas se encontrar en el registro b1 y las centenas en el registro b2. En el programa que se va a describir, observe la figura 83. Los primeros bloques muestran la manera de cmo se guarda un dato en los registros antes mencionados (b0, b1 y b2). Este fragmento del programa puede omitirse o reemplazarse totalmente, dependiendo de la aplicacin, y nuevamente recordamos que esta parte del programa es para uso especfico de esta aplicacin. En la figura 83 vemos los bloques de asignacin de valores a los registros b0, b1 y b2. El comando let permite la asignacin de valores a variables. Esta asignacin se puede dar de una forma directa como est expresado en esta aplicacin, o tambin se puede efectuar la asignacin del resultado de una operacin aritmtica (+, -, *, /) por el resultado de una operacin lgica (and, or, negacin, etc.). En este ejercicio se est empleando el comando de asignacin de manera directa sobre los registros para alojar los valores que corresponden a las unidades, decenas y centenas en b0, b1 y b2, respectivamente.
Figura 82
Figura 86
Figura 83
Figura 84
Figura 85
Antes de continuar con la explicacin del desarrollo del programa, regresemos por un instante al circuito de la figura 82 para saber de qu manera estn organizados los datos que salen por el puerto de salida del microcontrolador PICAXE, ya que as ser ms sencillo seguir el desarrollo del programa. En la figura 82 tambin se muestra la forma de conectar el display a la tarjeta entrenadora y del circuito se observa lo siguiente: las terminales de salida S0, S1, S2 y S3 representan los 4 bits que generan las diferentes combinaciones BCD (Binary Code Decimal o en espaol Cdigo Binario Decimal) de acuerdo con la tabla 2. De sta, que contiene los nmeros BCD y su equivalente decimal, podemos obtener el peso especfico de cada uno de los bits que generan el valor numrico BCD, siendo S0 el bit menos significativo (bms), mientras que S3 representa el bit ms significativo (BMS). Esta informacin BCD se hace llegar a los 3 displays al mismo tiempo, razn por la cual se tiene que indicar cul de estos displays estar activo de acuerdo con la cifra que se quiere desplegar, ya que de otra 1001 9 manera los 3 se encendern con la misma informacin. La solucin a lo anteriormente Tabla 3 - Activacin y desactivacin de los displays. descrito se encuentra en el circuito de la figu(S6,S5,S4) Display Centenas Display Decenas Display Unidades ra 82, en donde se observa que las terminaApagado Apagado Apagado les S4, S5 y S6 corresponden al control de 000 001 Apagado Apagado Encendido las cifras de las unidades, decenas y cente010 Apagado Encendido Apagado nas respectivamente, de acuerdo con la in100 Encendido Apagado Apagado formacin que se encuentra en la tabla 3. Una vez que hemos visualizado la manera en cmo se encuentra ordenada la in- Tabla 4 - Resultado de la operacin lgica OR entre los registros b0 y b3. formacin del puerto de salida del microconS7 S6 S5 S4 S3 S2 S1 S0 trolador PICAXE, ahora procederemos a ex- b0 0 0 0 0 0 1 1 0 plicar la manera en que se envan los datos b3 0 0 0 1 0 0 0 0 al circuito del display de 3 dgitos. pins 0 0 0 1 0 1 1 0
Se mencion en lneas anteriores que en esta aplicacin solamente se desplegar la informacin que se encuentre contenida en los registros b0, b1 y b2. Para un programa de un proceso completo, de alguna manera estos registros tendrn que ser manipulados; por lo tanto, consideramos que esa actividad ya se realiz y los datos ya se encuentran en los registros antes mencionados. Como siguiente paso, procedemos a la accin de enviar cada una de las cifras del nmero completo a los displays y que en esta ocasin se trata del valor 246, por lo que comenzamos con el armado de la informacin que ser enviada al puerto de salida del microcontrolador PICAXE. La primera cifra que sufrir la manipulacin es la correspondiente a la de las unidades, razn por la cual, en primera instancia, emplearemos un nuevo registro, el b3. Ah alojaremos un dato de manera directa a travs del comando de asignacin let, tal como se ilustra en la figura 84. El valor que se est guardando en el registro b3 es el TABLA 2 16(10) que equivale a Nmero BCD Nmero la combinacin bina(S3,S2,S1,S0) Decimal ria 0010000(2), que 0000 0 es precisamente la que controla el encendido 0001 1 del display de la uni0010 2 dades. Posteriormente, 0011 3 para enviar la informacin completa al puer0100 4 to de salida del PICA0101 5 XE, se hace uso nueva0110 6 mente del comando de 0111 7 asignacin let, pero en esta ocasin el re1000 8 sultado de esta asigna-
cin la enfocaremos directamente a los terminales de salida, por lo que se selecciona, despus del comando let, el destino pins, ahora tenemos que unir el dato que se encuentra en el registro b0 (unidad cuyo valor es 6) con el que se encuentra en el registro b3 (control del encendido del display de la unidad), por lo que empleamos el operador lgico conocido como OR, cuyo smbolo es |. El resultado de la operacin lgica se da de la manera como se ilustra en la tabla 4. En la figura 84 se muestra el bloque que genera la operacin lgica OR y cmo el resultado es enviado a los terminales de salida del microcontrolador PICAXE. De esta forma, aunque el valor numrico 6 est llegando al mismo tiempo a los 3 displays, slo se encender el que tiene la cifra significativa de las unidades, mientras que los otros 2 displays (decenas y centenas) permanecern apagados. En la figura 84 vemos los bloques de asignacin de valores al registro b3 y terminales de salida del PICAXE. En la figura 85 vemos los bloques de asignacin a los registros b0, b1, b2 y
b3, adems de los terminales de salida del PICAXE. Estos son los bloques que se han implementado hasta este momento, y que controlan el encendido del display de las unidades. Como paso siguiente al envo de la informacin para encender el display de las unidades, ahora se tiene que proseguir con el dato correspondiente a la siguiente cifra significativa, que es la decena, recordando que el valor numrico que se quiere desplegar es el 246. Por tanto, contina el turno del valor 4. Para ello, a travs del registro temporal b3, almacenaremos la informacin correspondiente al encendido del display de las decenas. En este registro alojaremos nuevamente un dato de manera directa, utilizando el comando de asignacin let, tal como se ilustra en la figura 86. El valor que se estar guardando en el registro b3 es el 32(10) que equivale a la combinacin binaria 00100000(2), que es precisamente la que controla el encendido del display de las decenas. En la figura 86 vemos el bloque de control de los displays de las unidades, y decenas. Para complementar la informacin que ser enviada al puerto de salida del microcontrolador PICAXE, hacemos uso, una vez ms, del comando de asignacin let, dirigiendo el resultado directamente a las terminales de salida del PICAXE, por lo que en el comando let marcamos el destino a donde dirigiremos la informacin: los terminales denominados pins. Posteriormente, para unir el dato que se encuentra en el registro b1 (decenas cuyo valor es 4) con el que se encuentra en el registro b3 (control del encendido del display de las decenas), nuevamente empleamos el operador lgico conocido como OR (O en espaol), cuyo smbolo ya lo habamos expresado y es |. El resultado de la operacin lgica se ilustra en la tabla 5. En la figura 86 se muestran los bloques correspondientes al control de los displays de las unidades y las decenas, lo que nos da la posibilidad de mostrar el dato 46, faltando tan slo el control del disFigura 87 - Diagrama de flujo completo. play de las centenas. A continuacin lo explicamos. Por ltimo, corresponde controlar la Tabla 5 - Resultado de la operacin lgica OR entre los registros b1 y b3. tercera cifra significativa que es la centeS7 S6 S5 S4 S3 S2 S1 S0 na. El valor numrico que falta por despleb1 0 0 0 0 0 1 0 0 gar es el 2. Para ello, en el registro temB3 0 0 1 0 0 0 0 0 poral b3 almacenaremos la informacin pins 0 0 1 0 0 1 0 0 correspondiente al encendido del display de las centenas. Utilizando el comando Tabla 6 - Resultado de la operacin lgica OR entre los registros b2 y b3. de asignacin let, guardamos el valor S7 S6 S5 S4 S3 S2 S1 S0 64(10) en el registro b3 que equivale a B2 0 0 0 0 0 0 1 0 la combinacin binaria 01000000(2), la B3 0 1 0 0 0 0 0 0 cual controla el encendido del display de pins 0 1 0 0 0 0 1 0 las centenas.
Figura 88
Como ya se ha explicado detalladamente la forma de cmo se arma el dato que ser enviado al puerto de salida del PICAXE, procederemos a controlar el display de las centenas de una manera ms simplificada que las anteriores cifras significativas. Por medio del comando let uniremos el dato que se encuentra en el registro b2 (centenas cuyo valor es 2) con el que se encuentra en el registro b3 (control del encendido del display de las centenas), empleando el operador lgico OR. El resultado de la operacin lgica se ilustra en la tabla 6. En la figura 87 se muestran los bloques completos del control de los 3 displays que corresponden al de las unidades, decenas y centenas, por lo que ahora s contamos con el poder de mostrar cualquier nmero completo de 3 cifras. Con lo expuesto anteriormente, ya estamos en posibilidad de disear una aplicacin en la que est involucrado un teclado y un display para desplegar los datos que se van generando. Tambin ya hemos revisado cmo trabaja el convertidor analgico a digital (ADC). Slo nos falta procesar la informacin para mostrarla en los displays, para que de esta manera diseemos, por ejemplo, un voltmetro digital, proyecto que en breve publicaremos. Recuerden que necesitamos del programa llamado PICAXE Programming Editor, por lo que nuevamente hacemos la invitacin de que lo descarguen de nuestra pgina de internet, que es www.webelectronica.com.ar y empleen la clave picaxe; en su defecto, tambin lo pueden adquirir en la pgina www.picaxe.uk.co. Una vez que ya se tiene el programa en Basic (figura 88), descargamos el programa al microcontrolador PICAXE que se encuentra instalado en la tarjeta programadora. Aunque ya lo
Figura 89 - Identificacin de terminales en los conectores mini jack y DB9. hemos publicado en reiteradas ocasiones, nuevamente mostramos la manera de armar el cable de programacin, o en su defecto, utilizar un cable serie comn y un adaptador que ya hemos descrito varias veces y que volvemos a mostrar en la figura 89. Sobre esta tarjeta entrenadora para un PICAXE - 18 se tiene la posibilidad de desarrollar un sinnmero de proyectos, los cuales iremos abordando poco a poco. LISTA
DE COMPONENTES PARA UTILIZAR
LA TARJETA CONTROLADORA
PICAXE-18.
Tarjeta entrenadora PICAXE-18. Mdulo Display de 3 dgitos Varios: Cable de programacin, cable serie y adaptador, cables de conexin, batera de 9V.
der acceder, y el actuador, que es un solenoide que funciona a manera de pasador y que es el que atora una puerta. En esta ocasin emplearemos la tarjeta entrenadora del miExisten diversas maneras de disear una cerradura electrcrocontrolador PICAXE-18, ya que a su vez utilizaremos un tenica, pero la constante que es comn en todas es que deben clado matricial de 4 X 4, y el PICAXE-08 no tiene el suficiente asegurarnos la seguridad de ya sea un cuarto cerrado, una bnmero de terminales de entrada y salida. veda, una zona un rea completa; por lo tanto la cerradura El aspecto ms importante que debemos tomar en cuenta y se puede colocar desde una casa habitacin, hasta un banco, que emplearemos en este proyecto es principalmente la de leer un negocio, empresa o un centro comercial (figura 90). el teclado matricial, ya que es por medio de este que ingresaLos elementos importantes de toda cerradura electrnica remos uno a uno los caracteres que conforman la clave de acson el teclado, que es por donde se le ingresa la clave para poceso de la alarma. El teclado ser como el que se muestra en el diagrama esquemtico de la figura 91. De hecho, por obvias razones es lo nico que ser visible de la cerradura electrnica, ya que lo dems, la tarjeta entrenadora PICAXE-18 y el solenoide deben permanecer ocultos. Realmente el circuito que se propone es muy simple, y esto se debe a que la cerradura electrnica es un bloque muy compacto, que inclusive puede ser instalando dentro de una caja del mismo tipo que las empleadas para colocar los apagadores de los focos de las casas. En el esquema de la figura 92, se muestra la manera en que tiene que conectarse tanto la tarjeta entrenadora del PICAXE-18, como el teclado matricial, adems de los dispositivos Figura 90 - Puerta protegida por una cerradura electrnica electrnicos complementarios. La forma de operar de la cerradura electrnica es la siguiente: La cerradura se basa principalmente en la lectura del teclado matricial, por lo que se emplean 4 salidas del microcontrolador PICAXE-18 para tal efecto, las salidas empleadas se encuentran identificadas como S0, S1, S2 y S3. Por otra parte para completar la lectura del teclado es necesario el empleo de otras 4 terminales del PICAXE, pero ahora sern terminales de entrada siendo las terminales E0, E1, E2 y E6 las que se dedican a dicha labor. Para que se tenga una buena referencia elctrica de la informacin que se hace llegar a las terminales de entrada del microcontrolador PICAXE, se utilizan los resistores identificados como Rext4, Rext5, Rext6 y Rext7. Una vez que se ingrese la clave adecuada a la cerradura electrnica, ser necesario enviar una seal que active un solenoide para que abra (desatore) el cerrojo de una puerta, para ello se emplea la salida S4 del microcontrolador PICAXE-18, y Figura 91 - Diagrama esquemtico de la tarjeta entrepara activar al solenoide se hace por medio de los contactos nadora PICAXE-18. de un relevador, que a su vez la bobina del relevador tiene que
Figura 92 - Conexin de la cerradura electrnica ser energizada por medio de la salida antes mencionada (S4). Como se sabe, la bobina de un relevador es clasificado como elemento de potencia, y ninguno de stos (aunque se trate de un led) debe ser alimentado directamente por la salida de un microcontrolador cualquiera que este sea. Por lo tanto para activar la bobina del relevador se emplea un amplificador operacional, en la configuracin de seguidor de voltaje, el resistor identificado como Rext2 tiene la tarea de colocar una referencia de voltaje a GND en la entrada del seguidor de voltaje, y para manejar la corriente que demanda la bobina finalmente se tiene un transistor (Q1), y por ltimo un diodo identificado como D1 cuya funcin es la de eliminar la fuerza contra-electromotriz que produce la bobina del relevador. Las terminales del contacto del relevador que ser empleado para activar desactivar al solenoide se identifican como TerSol1 y TerSol2, entre estas terminales puede utilizarse un solenoide ya sea para voltaje de corriente directa (CD) como para voltaje de corriente alterna (CA), por lo que dependiendo del tipo de energa se tiene que hacer llegar sta al contacto del relevador. Despus de explicar cul es el circuito que ser empleado para nuestra cerradura electrnica, ahora procederemos a desarrollar el programa para que el microcontrolador PICAXE-18 realice la funcin de la cerradura. Para comenzar con el programa en primera instancia explicaremos cul es el algoritmo sobre el que trabaja la lectura del teclado matricial, para ello se emplean las salidas S0, S1, S2 y S3 y a cada una de las salidas se tendr que enviar un 1 lgico a la vez, mientras las 3 restantes se fijan con un 0 lgico. Esos 1's lgicos se hacen llegar al teclado matricial, y en l se van activando cada una de sus filas, y as tenemos que para activar la fila F0 se tiene que enviar un 1 lgico a travs de la salida S0, posteriormente tenemos que enviar un 1 lgico por la salida S1 para que sea activada la fila F1, y as sucesivamente hasta llegar a la fila F3 que corresponde con
Figura 93 - Teclado matrical y la definicin de sus teclas para la cerradura electrnica la salida S3. Lo que es importante tomar en cuenta es que si en una salida se tiene un 1 lgico, las 3 terminales restantes se fijarn con un 0 lgico. El 1 lgico tiene que ser enviado slo uno a la vez, para que de esa manera se sepa que fila es la que se est activando. Una vez que el 1 lgico se encuentra en el teclado matricial, ahora slo tenemos que esperar a que sea presionada una tecla y dependiendo de la que sea oprimida, se regresara a una de las terminales de entrada el 1 lgico que previamente se envi a travs de una salida del PICAXE (S0, S1, S2 S3). Recordemos que las terminales de entrada que se utilizarn son E0, E1, E2 y E6, que respectivamente corresponden a las columnas 0, 1, 2 y 3. En el teclado matricial cuando es presionada una tecla, se cierra un interruptor que interconecta una fila con una columna, es por ello que solo se enva un 1 lgico a la vez a la fila correspondiente, porque ese 1 lgico se reflejara en una columna que es en donde se oprime el botn del teclado matricial. Si fueran enviados mas de 1 lgico a la vez, no se tendra control de que botn fue el que se oprimi. En la figura 93 se muestra el teclado matricial y la identificacin de sus teclas, para poder ingresar los datos que se requieren y se pueda validar alguna clave de acceso. En esta ocasin del teclado matricial de 4X4 solo sern empleadas 3 de sus 4 columnas, pero eso no quiere decir que no se pueden utilizar todas sus teclas, ya que aparte de los nmeros se pueden implementar las funciones de borrar, validar, etc. En la tabla 7 se muestra cul es la combinacin de fila y columna que se presenta cuando una tecla es oprimida.
C1 = E1 2 5 8 0
C1 = E1 3 6 9 #
C3 = E6 NI NI NI NI
que genere el interruptor que se oprima del teclado, una vez que termina el tiempo de 10 mseg, podemos dar por hecho que si fue oprimida una tecla, sta ya se estabiliz y por lo tanto ahora se puede saber que tecla fue la que se acciono, porque como ya se explic en la parte de la electrnica del circuito de la cerradura electrnica, una vez que se activa una fila del teclado matricial, es a travs de la columna que sabemos qu tecla se oprimi. Es por ello que se pregunta por cul terminal de entrada se recibe un 1 lgico (si es que se oprimi una tecla). Recordemos que pueden ser posibilidades las que nos reporten la posible identificacin de una tecla, porque si se activa la fila 0 se
Figura 94 - Fragmento del diagrama de flujo que activa la fila 0 del teclado matricial. Tal como se explic en lneas anteriores que lo que se tiene que ir haciendo es activar cada fila una por una, por lo tanto, se tiene que comenzar de la primera, o sea la fila 0. Para ello a travs del comando let pins=1 se enva un 1 lgico a la salida S0 del microcontrolador PICAXE y que corresponde con la fila 0. Como paso siguiente se produce un retardo o espera de 10 mseg, tiempo suficiente para eliminar el rebote
Figura 95 - Fragmento del diagrama de flujo que activa la fila 1 del teclado matricial.
guardando, se emplea la variable b13 que se es quien a travs de un contador se lleva el control de la posicin del dgito que integra la clave de la cerradura electrnica. En este ejemplo se tiene una clave de 4 dgitos, por lo tanto dependiendo del dgito que se este buscando, ser el valor de la variable b13, y por lo tanto llegar hasta mximo un valor de 4. Bsicamente cuando se pasa a la activacin de la fila 1, el proceso es el mismo que para la fila 0, solo que en esta oportunidad, la salida que se activar ser la identificada en el microcontrolador PICAXE como S1 y que corresponde con la fila 1, hacindose esta operacin por medio del comando let pins=2. De igual manera para evitar los rebotes mecnicos de los interruptores del teclado matricial, es empleado un retardo (comando pause 10) de 10 mseg. Acto seguido dependiendo en que columna se encuentra la tecla que se oprima, ser por donde se reciba el correspondiente 1 lgico a travs de la terminal de entrada, solo que en esta ocasin las posibles teclas que pueden ser activadas con las identificadas como 4, 5, 6. Que corresponden con las entradas E0, E1
Figura 96 - Fragmento del diagrama de flujo que activa la fila 2 del teclado matricial. tiene abierta la identificacin de las teclas 1, 2 y 3 que corresponden con las columnas 0, 1 y 2, y que a su vez se recibe la informacin a travs de las entradas 0, 1 2. Es por ello que si una condicin es valida en los comandos if del fragmento del diagrama de flujo de la figura 94, dependiendo cul entrada se est comparando se le asignar a la variable b0 el valor correspondiente con la tecla que ha sido identificada (si es que sta fue presionada). Una vez que fue presionada una tecla entonces se procede a guardar el valor de la tecla en la localidad que le corresponde, esto es, si la clave para abrir la cerradura es de 4 dgitos, se guardara el valor de la tecla en la posicin correspondiente, digito 1 digito 2 o digito 3 digito 4, esto se hace en un paso posterior empleando el salto identificado como un 1 encerrado en un circulo. Si ninguna tecla de la fila 0 es accionada, entonces el resultado de los comandos if de la figura 94 darn como resultado una accin no valida, y por lo tanto ahora se tiene que activar la fila siguiente que en este caso se refiere a la fila 1, para esto se emplea el salto identificado con el valor 2 encerrado en un circulo, y por lo tanto ahora se estar activando la fila 1, tal como se ilustra en la figura 95. Para llevar un control sobre qu dgito de la clave se esta
Figura 97 - Fragmento del diagrama de flujo que activa la fila 3 del teclado matricial.
E2. Si fue presionada una tecla de la fila 1, se proceder a guardarla en el registro correspondiente dependiendo de la posicin del dgito que se esta buscando. En caso de que no se oprima tecla alguna de la fila 1, entonces se pasara a buscar si en la fila 2 es en donde se presione una tecla. La operacin que se realiza para las filas 0 y 1 es la misma que se utiliza para las filas 2 y 3, pero buscando que se oprima cualquiera de las teclas 7, 8 9 para la fila 2, las teclas *, 0 # para la fila 3, de acuerdo a como se observa en las figuras 96 y 97 correspondientemente. En la fila 3 las teclas * y # las relacionamos con un valor digital que son el 255 para * y 254 para #, por lo tanto aunque no se trate de un valor numrico, podemos relacionar cualquier accin que queremos que haga una tecla con un identificador para que al final se tenga la posibilidad de tener varias opciones para fijar en un teclado matricial. Por ltimo, en la figura 98 se muestra que dependiendo del valor que tenga la variable b13, ser alojado el valor de la
tecla que fue encontrado previamente, el dato antes de ser alojado adecuadamente se encuentra en una variable temporal y se trata de la variable b0. Si el digito que se esta buscando es el primero, entonces su valor ser alojado en la variable b1, o en la variable b2 si se trata del segundo dgito, y as sucesivamente hasta completar los 4 dgitos. Si el valor de b13 es menor que 4, entonces una vez que se ha guardado el valor de la tecla, se incrementa en una unidad el valor de b13, mientras que si despus de guardar el valor del cuarto dgito (recordemos que la clave propuesta es de 4 dgitos), entonces el paso siguiente es el de corroborar que la clave es valida, por lo tanto se compara dgito por dgito con respecto a un valor previo que fue almacenado. En caso de que la clave no sea la buena, entonces se limpian los registros de los dgitos de la clave y nuevamente nos vamos a recorrer la fila 0 del programa. En esta ocasin la clave preestablecida es la dada por la siguiente secuencia de dgitos4321. Una vez que se observa que la clave es la misma que la
Figura 98- Fragmento del diagrama de flujo que valida la clave del teclado matricial.
Figura 99 - Diagrama de flujo completo. preestablecida, entonces como paso siguiente se procede a recorrer el cerrojo de la puerta, hacindose esta accin por medio de la salida 4 que es por medio de sta que se activa al solenoide. La salida 5 tambin es activada para que un indicador luminoso nos avise que la cerradura electrnica nos permite ingresar a una determinada zona. La activacin del solenoide no ser permanente, y es por ello que se dispone de un temporizador para que esta accin dure tal solo 3 segundos, tiempo suficiente para empujar o jalar la puerta que acaba de abrirse a travs de la cerradura electrnica. Cuando se cumple el tiempo de 3 segundos, se desactivan las salidas 4 y 5, y tambin se limpian los registros de los dgitos de la clave de la cerradura electrnica En la figura 99 se muestra el diagrama de flujo completo del programa que controla la cerradura electrnica. A continuacin se encuentra el cdigo del programa del microcontrolador PICAXE en basic, que es la conversin del diagrama de flujo. let pins = 2 ' %00000010 pause 10 if pin0=1 then label_A3 if pin1=1 then label_9C if pin2=1 then label_95 let pins = 4 ' %00000100 pause 10 if pin0=1 then label_154 if pin1=1 then label_14D if pin2=1 then label_146 let pins = 8 ' %00001000 pause 10 if pin0=1 then label_1B0 if pin1=1 then label_1A9 if pin2=1 then label_1A2 goto label_3C Programa en Basic del Diagrama de Flujo de la figura 99 main: label_35: let b13= 1 label_3C: let pins = 1 ' %00000001 pause 10 if pin0=1 then label_5B if pin1=1 then label_54 label_23: if pin2=1 then label_4D label_4D: label_43: label_B6: let b0= 3 if b13= 1 then label_F7 if b13= 2 then label_F0 if b13= 3 then label_E9 if b13= 4 then label_E2 let b1= 0 let b2= 0 let b3= 0 let b4= 0
label_230:
label_54:
goto label_35 let b0= 2 goto label_43 let b0= 1 goto label_43 let b0= 6 goto label_B6
label_1A2: label_1B9:
label_5B:
label_1A9:
let b0= 0 goto label_1B9 let b0= 254 goto label_1B9 if pin1=0 then label_1F6 goto label_1EB if pin2=0 then label_1D2 goto label_1F6
label_95: label_101:
label_1B0:
label_1EB: label_9C: let b0= 5 goto label_101 label_1F6: label_A3: let b0= 4 goto label_101 label_1D2: label_E2: let b4=b0 if b1= 1 then label_20F goto label_230 let b3=b0 let b13=b13+ 1 if pin0=0 then label_1EB goto label_1E0 let b2=b0 goto label_2E label_25E: label_F7: let b1=b0 goto label_2E let b0= 9 goto label_B6 label_14D: let b0= 8 goto label_15D let b0= 7 goto label_15D
goto label_3C label_20F: if b2= 2 then label_21A goto label_230 if b3= 3 then label_225 goto label_230 if b4= 4 then label_25E goto label_230 high 4 high 5 wait 3 low 4 low 5 goto label_230 Recuerden que a travs de nuestra pgina de internet www.webelectronica.com.ar pueden descargar el programa Programming Editor los cdigos, tanto en diagrama de flujo como en basic del presente ejemplo, tan slo utilicen la clave picaxe. ************
label_21A:
label_225: label_F0:
label_146: label_15D:
label_154: