CLUB124-PIcaxe

Share Embed Donate


Short Description

Descripción: electronica micros...

Description

2ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1

Nº 124 Director de la Colección Club Saber Electrónica Ing. Horacio D. Vallejo Jefe de Redacción Pablo M. Dodero Club Saber Electrónica es una publicación de Saber Internacional SA de CV de México y Editorial Quark SRL de Argentina Editor Responsable en Argentina y México: Ing. Horacio D. Vallejo Administración México: Patricia Rivero Rivero Comercio Exterior México: Margarita Rivero Rivero Director Club Saber Electrónica: José María Nieves Responsable de Atención al Lector: Alejandro A. Vallejo Coordinador Internacional Luis Alberto Castro Regalado Publicidad Argentina: 4301-8804 México: 5839-5277

Internet: www.webelectronica.com.ar Web Manager: Pablo Ábalos

Club Saber Electrónica. Fecha de publicación: julio 2014. Publicación 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, México (005255-58395277), con Certificado de Licitud del título (en trámite). Distribución en México: REI SA de CV. Distribución en Argentina: Capital: Carlos Cancellaro e Hijos SH, Gutenberg 3258 - Cap. 4301-4942 - Interior: Distribuidora Bertrán S.A.C. Av. Vélez Sársfield 1950 - Cap. – Distribución 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 entrañan responsabilidad de nuestra parte. Está prohibida la reproducción total o parcial del material contenido en esta revista, así como la industrialización y/o comercialización de los aparatos o ideas que aparecen en los mencionados textos, bajo pena de sanciones legales, salvo mediante autorización por escrito de la Editorial. Revista Club Saber Electrónica, ISSN: 1668-6004

Introducción: Qué es PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . .3 Conociendo los microcontroladores de este sistema . . . . . . . . . .4 Utilitario gratuito para hacer programas . . . . . . . . . . . . . . . . . 6 Lección 1: Primeras Experiencias con los PICAXE . . . . . . . . Uso y prueba de leds: primeros programas en BASIC . . . . . Uso y prueba de timbres y zumbadores . . . . . . . . . . . . . . . Prueba y uso de sensores digitales . . . . . . . . . . . . . . . . . . Prueba y uso de fotorresistencias . . . . . . . . . . . . . . . . . . . . Más sobre el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . Entrenador PICAXE-18 . . . . . . . . . . . . . . . . . . . . . . . . . . . Preparando el tablero tutorial . . . . . . . . . . . . . . . . . . . . . . El software gratuito para trabajar con PICAXE . . . . . . . . . . Ejecutando un programa de muestra . . . . . . . . . . . . . . . . . Instrucciones para uso en Windows . . . . . . . . . . . . . . . . . . Aprendiendo a hacer programas en BASIC . . . . . . . . . . . . Utilizando el comando Symbol . . . . . . . . . . . . . . . . . . . . . El circuito del “entrenador” PICAXE-18 . . . . . . . . . . . . . . . Utilizando Bucles For...Next . . . . . . . . . . . . . . . . . . . . . . . Controlando la velocidad de un motor . . . . . . . . . . . . . . . . Uso de timbres y zumbadores electrónicos en el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de entradas con sensores digitales . . . . . . . . . . . . . . . Uso de entradas con sensores analógicos . . . . . . . . . . . . . Cómo se leen las entradas analógicas . . . . . . . . . . . . . . . . Programación por organigramas o diagramas de flujo . . . . Dibujando organigramas . . . . . . . . . . . . . . . . . . . . . . . . . Uniendo bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulación de pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . Convirtiendo organigramas . . . . . . . . . . . . . . . . . . . . . . . Utilizando símbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Guardando e imprimiendo organigramas . . . . . . . . . . . . . Sistemas de números . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visualizando cifras analógicas en el display de 7 segmentos Controlando motores paso a paso . . . . . . . . . . . . . . . . . . . Subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El circuito del entrenador . . . . . . . . . . . . . . . . . . . . . . . . . Examen Múltiple choisse Lección 1 . . . . . . . . . . . . . . . . . . Lección 2: Diseño y Construcción de Proyectos con PICAXE . . . . . . . . . . . . . . . . . . Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . Kit entrenador para PICAXE 08 . . . . . . . . . . . . . . Aprendiendo a programar la tarjeta entrenadora 08 . . . . . . . . . . . . . . . . . . . . . . . . . Juego de luces tipo auto fantástico . . . . . . . . . . . Alarma para puertas y ventanas empleando la tarjeta entrenadora PICAXE 08 . . . . . . . . . . . . La Tarjeta entrenadora PICAXE 18 . . . . . . . . . . . Aprendiendo a utilizar el ADC en la tarjeta entrenadora del PICAXE 18 . . . . . . . . . . . . . . . . Control de temperatura con la tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programa para desplegar números BCD con la tarjeta entrenadora del PICAXE 18 . . . . . . . . . . . Cerradura electrónica empleando la tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . Examen Multiple choisse Lección 2 . . . . . . . . . . .

. . . .9 . . . .9 . . .12 . . .13 . . .14 . . .16 . . .18 . . .18 . . .18 . . .19 . . .19 . . .20 . . .20 . . .21 . . .22 . . .22 . . .23 . . .23 . . .24 . . .25 . . .25 . . .27 . . .27 . . .27 . . .27 . . .28 . . .28 . . .28 . . .29 . . .29 . . .32 . . .32 . . .33

. . . . . . . . . .35 . . . . . . . . . .35 . . . . . . . . . .39 . . . . . . . . . .41 . . . . . . . . . .44 . . . . . . . . . .47 . . . . . . . . . .51 . . . . . . . . . .53 . . . . . . . . . .59 . . . . . . . . . .63 . . . . . .........68 . . . . . .........75

PRIMERAS EXPERIENCIAS CON PICAXE

E

l campo de acción de los microcontroladores ha rebasado sus expectativas originales de aplicación, ya que en la actua-lidad los podemos encontrar no sólo 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 señalar un aparato electrodoméstico como es una lavadora automática, que para controlar sus procesos de lavado, secado y pre - planchado, requiere de un microcontrolador. Y así podemos continuar con más 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 vehículo, 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 sería extraño encontrar microcontroladores hasta dentro de nuestros cuerpos, controlando algún órgano o miembro artificial. Con el transcurso del tiempo los microcontroladores van ganando terreno, y se van incorporando a más aplicaciones, tanto para el área de diseño como para el de mantenimiento, lo que requiere de más personas que tengan conocimientos sobre la programación de microcontroladores. Si buscamos en el mercado microcontroladores de diferentes marcas, vamos a encontrar una gran cantidad de fabricantes, además de muchas versiones que nos ofrecen, lo que nos da un volumen de matrículas enorme, dándonos alternativas muy diversas en cuanto a la elección de algún microcontrolador en particular. Del universo existente de microcontroladores, vamos a enfocarnos en los PICAXE, porque cuentan con una herramienta de programación que nos facilita el aprendizaje, y una vez que tengamos la práctica y habilidad en la programación, podremos emigrar a otro tipo de microcontroladores, porque con los PICAXE aprendemos a realizar diagramas de flujo, que es una herramienta indispensable en la programación. Los conocimientos sobre programación, normalmente se adquieren a través de un curso formal ya sea en universidades o escuelas técnicas, pero ¿qué sucede con aquellas personas que no pueden, por cualquier razón, 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 características básicas de los microcontroladores PICAXE, para que de manera genérica el lector pueda ingresar de forma fácil a la programación de los microcontroladores. En la segunda parte de la obra, el lector podrá adquirir conocimientos más avanzados en cuanto a técnicas de programación, para ello se abordan los temas nuevamente explicando aspectos básicos para reafirmar los conocimientos, y además sobre distintos ejemplos se van explicando diferentes situaciones para ir incorporando diversas herramientas de programación. 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 débil. Pues bien querido lector, en general esta obra es el resultado del impulso que en Club Saber Electrónica, 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 próxima.

“Agradezco las facilidades prestadas por el Instituto Politécnico Nacional y en especial a la Escuela Superior de Cómputo, para la realización de la presente obra,la cual es el resultado de la comprobación 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 operación era una suma de 1 bit, se comenzó con una carrera tecnológica en la cual lejos de ver el fin, día tras día se van logrando cosas inimaginables. Tal es el caso de los microcontroladores que vendrían a ser el ejemplo resumido y en pequeño de una computadora personal (PC).

Un microcontrolador, que puede ser de 8, 18, 28, 40 terminales o más, internamente dentro de su encapsulado posee como equipamiento mínimo un microprocesador, memoria RAM, y distintas versiones de memoria ROM. Los microcontroladores más avanzados, aparte de lo mencionado anteriormente, también llegan a poseer temporizadores, ADC, DAC, Comunicación en paralelo, USAR, etc. En la figura 1 vemos todo lo necesario para programar un PICAXE. Un microcontrolador, desde el punto de vista de operación, puede considerarse como si fuera una PC, ya que cuenta con el conjunto básico de implementos que necesita realizar sus funciones, esto es, microprocesador, disco duro, memoria RAM, etc. Clásicamente, cuando programamos un microcontrolador,

Figura 1

CLUB SABER ELECTRONICA 3

Figura 2

de forma implícita 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 configuración de sus puertos ya sea como de entrada o de salida, configurar sus demás herramientas como pueden ser los temporizadores, los ACD, etc. Han aparecido en el mercado sistemas de desarrollo que permiten la programación del microcontrolador de una manera relativamente fácil, en la cual se puede emular el proceso que nos interesa desarrollar. Para la mayoría de estos sistemas de desarrollo, una vez que se tiene terminada la aplicación, 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 programación. El sistema de desarrollo PICAXE hace las cosas todavía más sencillas para el programador, ya que se cuenta con dos opciones para diseñar una aplicación, 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 existían 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 fabricación,

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 prácticas sobre las cuales podemos emular las aplicaciones que hemos diseñado, pero gracias al firmware que poseen los microcontroladores PICAXE “se puede armar la aplicación completa incluyendo al microcontrolador”, y sobre la aplicación programarlo sin necesidad del sistema de desarrollo, ni del circuito programador de microcontroladores. Ver figura 2. De hecho, el sistema PICAXE hace más accesible la programación de microcontroladores a todas aquellas personas que tan sólo cumplan con el único e indispensable requisito que es el de querer aprender. Vea en la figura 3 una pantalla de la aplicación 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 consiente o totalmente implícita recurrimos a ellos para elaborar un programa. A lo largo de este libro iremos aprendiendo paso a paso la forma de cómo programar los microcontroladores bajo el sistema PICAXE. Para ello, como primer paso, emplearemos una tarjeta de desarrollo de la cual proporcionaremos su circuitería para que ustedes la puedan armar. Posteriormente, después de realizar algunas prácticas, 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 fácil de programar ya que utiliza un lenguaje BASIC muy senci-

Figura 3

Figura 4

4 CLUB SABER ELECTRONICA

Figura 5

identificadas como Serial En y Serial Sal, se utilizan para programar al microcontrolador a través 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 función, y dependiendo de dónde 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 función de una terminal de salida de datos. Del circuito esquemático de la figura 6 Figura 6 se observa la forma en que están 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

llo, además de contar también con la posibilidad de programarlos con diagramas de flujo. El sistema PICAXE aprovecha todas las características 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 función de entrada y salida de datos, además de las terminales que sirven para programar al PICAXE en sitio, o en otras palabras, sobre la misma aplicación. En las figuras 5, 6 y 7 se muestran los circuitos esquemáticos de la disposición de cada uno de los microcontroladores PICAXE. En la figura 5 se muestra el circuito esquemático para un PICAXE de 8 terminales, de las cuales las que están 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

CLUB SABER ELECTRONICA 5

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, también se cuenta con las terminales de salida identificadas como Sal 0 a Sal 7, además de 4 terminales para entrada de datos analógicos, y por último las terminales de programación 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 conexión 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 audífonos 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 programación, tal como se muestra en la figura 10, en las figuras 8 y 9 se muestra la configuración 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 programación tradicional de los microcontroladores PIC, radica en la programación basada en un lenguaje BASIC y diagramas de flujo. Esto hace que los microcontroladores del sistema PICAXE sean muy fáciles 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 11 - Carpeta progedit.

Figura 10

6 CLUB SABER ELECTRONICA

Figura 12 - Software de instalación “Programming Editor”.

biente de programación, por lo que describiremos paso a paso la forma de hacerlo. El software lo puede bajar de nuestra página 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 información, debe ser socio del club SE, lo cual es gratuito y puede inscribirse por Internet en sólo un par de minutos (siga las instrucciones que dimos para bajar el programa PICAXEPRO y encontrará cómo hacerse socio si aún 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 ratón 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 instalación Programming Editor aparecerá la ventana que se muestra en la figura 13, sobre la cual debemos oprimir con el ratón el cuadro

Figura 13 - Ventana de bienvenida para la instalación del software de los PICAXE.

Figura 14 - Acuerdo de licencia.

identificado como “next” para que continúe la instalación. Posteriormente será desplegada la ventana donde se muestra la licencia que debemos aceptar, porque de otra manera no podremos continuar con la instalación del software, por lo que nuevamente oprimiremos el cuadro identificado como “next”; esta acción se indica en la figura 14. Como paso siguiente, pregunta por el nombre del usuario que normalmente utilizará el software; aquí podemos instalar la aplicación para que pueda ser utilizada por todas las personas que utilicen la computadora, y después de seleccionar esta acción tenemos que oprimir el cuadro identificado como “next”, tal como se muestra en la figura 15. Posteriormente debemos decir en dónde se guardará el software de programación, 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 opción correspondiente, procederemos a hacer click sobre el cuadro identificado como “next”. Por último, aparecerá una ventana de confirmación para estar seguros de que los datos que introdujimos se encuentran correctos; si es así, debemos oprimir el cuadro identificado como “next” para que continúe la instalación, tal como se aprecia en la figura 17.

Figura 15 - Información del usuario.

Figura 16 - Destino del software.

CLUB SABER ELECTRONICA 7

Cuando se está instalando el software, se indica gráficamente tal como se ilustra en la figura 18; aquí debemos esperar hasta que se terminen de instalar, tanto el software de programación como todas las utilerías que serán empleadas por los PICAXE. En la figura 19 se muestra la ventana que nos indica que ya se ha concluido con la instalación, por lo que debemos oprimir el cuadro identificado como “finish”. Una vez instalado el software de programación 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 gráfico, tanto en lenguaje BASIC como en diagrama de flujo. ******

Figura 20 - Icono de acceso rápido en el escritorio de la PC. Figura 17 - Ventana de confirmación de datos.

Figura 18 - Ventana de instalación del software.

Figura 19 - Ventana final.

8 CLUB SABER ELECTRONICA

Figura 21 - Lenguaje BASIC para programar los PICAXE.

Figura 22 - Diagrama de flujo para programar los PICAXE.

Uso y Prueba de Leds: Primeros Programas en BASIC

algunas consideraciones generales sobre las fuentes de energía que usaremos para alimentar a nuestro circuito.

Para que un microcontrolador desarrolle una tarea mediante la ejecución 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 piezoeléctricos (zumbadores), interruptores, etc.

¿Qué es una batería? Una batería es una fuente de energía eléctrica (es una fuente de potencia portátil). Las baterías están constituidas por elementos químicos que almacenan energía. Al conectarlas a un circuito, esta energía química se convierte en energía eléctrica que puede luego alimentar al circuito.

El objetivo de este texto es que Ud. utilice al microcontrolador PICAXE como un elemento multipropósito y le saque “el mayor jugo posible”.

¿Qué tamaño de batería se utilizan en electrónica? Las baterías vienen en todo clase de tipos y tamaños. La mayoría de las baterías consisten en un grupo de pilas, en donde cada pila provee cerca de 1.5V (figura 1). Por lo tanto 4 pilas crean una batería de 6V y 3 pilas una de 4.5V. Como regla general, mientras más grande es la batería, más tiempo du-

Antes de explicar cómo se puede realizar la prueba de los componentes que trabajan con el microcontrolador, daremos

CLUB SABER ELECTRONICA 9

Figura 1

rará (ya que contiene más químicos y por lo tanto será capaz de convertir más energía). Una batería de mayor voltaje no dura más que una batería de menor voltaje. Por lo tanto, una batería de 6V formada por 4 pilas AA dura mucho más que una batería PP3 de 9V (batería de 9V común), ya que por ser físicamente más grande contiene una mayor cantidad total de energía química. Por lo tanto, aquellos equipos que requieren mucha potencia para operar (por ejemplo un reproductor portátil de CDs, el cual tiene un motor y un láser para leer los CDs) siempre utilizarán pilas AA y no baterías PP3. Los microcontroladores PICAXE generalmente requieren entre 3 a 6V para operar, y por lo tanto es mejor utilizar una batería formada por tres a cuatro pilas AA. Nunca utilice una batería PP3 de 9V ya que la alimentación de 9V puede dañar el microcontrolador. ¿Qué tipo de batería debo utilizar? Los distintos tipos de baterías contienen diferentes químicos. Las baterías de carbón-zinc son las más baratas, y son adecuadas para utilizarse en muchos circuitos de microcontroladores. Las baterías alcalinas son más costosas, pero tienen una vida mucho más larga y se las debe emplear cuando se necesita alimentar dispositivos que requieren mucha corriente tales como motores. Las baterías de litio son mucho más costosas pero tienen una larga vida, y por lo tanto se utilizan comúnmente en circuitos de computadoras, videocaseteras, etc. Otro tipo de baterías son las baterías recargables, las cuales pueden recargarse cuando se agotan. Estas están hechas, usualmente, de níquel y cadmio (Ni-cad) ó de hidróxido de metal cadmio (NiMH). Atención: Nunca haga corto-circuito en los terminales de

10 CLUB SABER ELECTRONICA

una pila o una batería. Las baterías alcalinas y las recargables pueden suministrar corrientes muy grandes, y pueden calentarse tanto que pueden llegar a “explotar” o derretir la carcasa. Siempre asegúrese de conectar la batería en el sentido correcto (rojo positivo (V+) y negro negativo -0V ó tierra-). Si las baterías se conectan al revés, el microcontrolador corre peligro de calentarse y dañarse. Los paquetes de baterías se conectan a menudo, al circuito integrado mediante cables con conectores adecuados. Asegúrese siempre que los cables rojo y negro estén conectados en la dirección correcta. También es de mucha utilidad pasar los cables de la batería a través de los agujeros del tablero antes de soldarlos en su lugar (esto proveerá una unión mucho más fuerte, la cual será mucho menos propensa a soltarse). Nunca use una batería PP3 de 9V para alimentar directamente a un microcontrolador, ya que el mismo sólo trabaja con voltajes entre 3 y 6V. Algunos soportes de baterías pequeñas requieren la soldadura de cables a contactos metálicos en la caja. En este caso debe ser muy cuidadoso de no sobrecalentar los contactos metálicos. Si los contactos se calientan mucho, derretirán el plástico que los rodea y por lo tanto se caerán. Una buena manera de prevenir esto es pedirle a un amigo que sostenga los contactos metálicos con una pinza pequeña. Las pinzas actuarán como un disipador de calor y ayudarán a evitar que el plástico se derrita. ¿Qué es un LED? Un Diodo Emisor de Luz (LED) es un componente electrónico que emite luz cuando la corriente pasa a través de él. Un LED es un tipo de diodo especial. Un diodo es un componente que sólo permite el flujo de corriente en una dirección. Por lo tanto al utilizar un diodo, el mismo debe estar conectado en la dirección correcta. La pata positiva (ánodo) de un LED es más larga que la pata negativa (mostrada por una barra en el símbolo). La pata negativa también posee un extremo plano en la cubierta plástica del LED. En la figura 2 se puede observar el aspecto y el símbolo de un led. ¿Para qué se utilizan los LEDs? Los LEDs se utilizan principalmente como luces indicadoras. Los LEDs rojos y verdes se utilizan, comúnmente, en artefactos electrónicos 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 están disponibles en una variedad de colores diferentes, incluyendo rojo, amarillo, verde y azul. Existen también 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. ¿Cómo se usan los LEDs? Los LEDs sólo necesitan una pequeña cantidad de corriente para operar; esto los hace mucho más eficientes que las lamparitas eléctricas (esto significa, por ejemplo, que si se tuviera una alimentación por baterías un LED alumbraría por mucho más tiempo que una bombilla eléctrica). Si se pasa demasiada corriente por un LED el mismo se puede dañar; 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 batería utilizada. Para una batería de 4.5V se puede utilizar una resistencia de 330Ω o 330R que es lo mismo (fig. 3), y para una batería de 3V lo apropiado es una resistencia de 120Ω. ¿Cómo se conecta un LED a un microcontrolador? Debido a que el LED sólo requiere una pequeña 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 protección). ¿Cómo se prueba el LED con el microcontrolador? Después 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 (asegúrese que el entrenador esté bien conectado por medio del cable al puerto serial de la PC), luego corra el jumper a la posición 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 número de pin correcto dentro del programa. 4. que todos los componentes estén bien soldados. Para la prueba, se puede emplear también el circuito de una mascota virtual (figura 4) dado que será uno de los proyectos que presentaremos más adelante. El programa de la tabla 1 enciende y apaga 15 veces al LED conectado al pin de salida 0 utilizando una técnica de programación BASIC llamada “bucle for...next” (esta técnica 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. Next b1 ;se continúa con el bucle hasta que termine 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 práctica, ejecute el utilitario “Editor de Programa” según lo descrito (descripto) en este mismo capítulo; luego, escriba el programa anterior, conecte la placa entrenadora con el PICAXE colocado, asegúrese que el jumper correspondiente esté en el lado de programación, conecte uno de los leds de la placa en la salida “0”,

CLUB SABER ELECTRONICA 11

Figura 5

El número de veces que el código 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 números” dentro del microcontrolador, que el mismo puede utilizar para almacenar números 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:

¿Cómo se usan los zumbadores? La conexión 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 más económicos no tienen cubierta plástica exterior. En estos casos es necesario montar el zumbador sobre una sección del circuito impreso (con cinta adhesiva de doble contacto) para crear un sonido que se pueda escuchar. El circuito impreso actúa como una “caja de sonido” (baffle) y amplifica el sonido emitido por el zumbador. Asegúrese 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 más 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 electrolítico de 10µF) al circuito del microcontrolador para evitar causarle daños al chip. Recuerde que, al igual que el zumbador, los parlantes sólo operan correctamente si están montados en una “caja de sonido”. Después 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 electrónico? Un zumbador electrónico es un “miniparlante” (minibocina) de bajo costo que se utiliza para hacer sonidos. El sonido generado por el zumbador puede cambiarse alterando las señales electrónicas suministradas por el microcontrolador. ¿Para qué se utilizan los zumbadores? Los zumbadores se utilizan en una gran variedad de diferentes productos para dar “retroalimentación” al usuario. Un buen ejemplo de esto es una máquina expendedora, la cual emite un sonido cada vez que se presiona un botón para escoger un refresco o algo para comer. Este sonido da retroalimentación al usuario para indicarle que se recibió la señal del botón presionado. Otros tipos de zumbadores se utilizan a menudo en tarjetas musicales de cumpleaños, para tocar una melodía cuando se abre la tarjeta. ¿Cuál es la diferencia entre un zumbador y un timbre ? El timbre (o sirena) contiene un pequeño circuito electrónico, el cual genera la señal electrónica necesaria para emitir un sonido. Por lo tanto, cuando el timbre se conecta a una batería siempre emitirá el mismo sonido. El zumbador no tiene este circuito y por ende necesita una señal externa. Esta señal puede suministrarla un pin de salida del microcontrolador. El zumbador también requiere menos corriente para operar y por lo tanto durará más en circuitos alimentados por baterías.

12 CLUB SABER ELECTRONICA

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 inglés “principal), es una etiqueta que dice que está por empezar el programa. “sound 2” es una instrucción que dice que el PICAXE genere un sonido y lo emita por la salida 2, cuya frecuencia dependerá del primer número que está entre paréntesis en la instrucción 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 capítulo 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, asegúrese que el jumper correspondiente esté en el lado de programación, conecte el zumbador en la salida “2”, descargue el programa (asegúrese que el entrenador esté bien conectado por medio del cable al puerto serial de la PC), luego corra el jumper a la posición salida y vea si obtiene el funcionamiento deseado. Si el zumbador no funciona verifique: 1. Que el valor del sonido (primer número en el paréntesis) esté entre 0 y 127. 2. Que se esté utilizando el número de pin correcto dentro del programa. 3. Que todas las conexiones estén bien soldadas. Para probar este elemento también puede utilizar el circuito de la mascota virtual. En síntesis, al utilizar el comando sound, el primer número indica el número de pin (en los proyectos el pin 2 es utilizado frecuentemente). El siguiente número es el tono, seguido por la duración. Mientras más 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 múltiples puede incluirlos todos en la misma línea. 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 número almacenado en la variable b1 aumenta 1 en cada bucle (1-2-3-etc.); por lo tanto, al utilizar la variable b1 en la posición 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 ___________________________________________________

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 sólo puede estar en dos posiciones: encendido ó apagado. Si dibujáramos una gráfica de las señales de encendido-apagado del interruptor a medida que se oprime, el mismo se vería como se muestra en la figura 7. Los interruptores son componentes electrónicos que detectan movimientos. Existe una gran variedad de interruptores diferentes, por ejemplo: 1) interruptores de botón de presión que detectan cuando el botón ha sido oprimido 2) micro-interruptores con palanquitas largas que detectan pequeños movimientos 3) interruptores de nivel que detectan sacudidas 4) interruptores de lengüeta (reed switches) que detectan el movimiento de un imán ¿Para qué se utilizan los Interruptores? Los interruptores de botón de presión se utilizan comúnmente 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 lengüeta (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 símbolos para un interruptor deslizante y para un interruptor de presión, se muestran en la figura 8. Los interruptores se instalan en los circuitos junto a una resistencia como se Figura 8 Figura 7

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 ___________________________________________________

CLUB SABER ELECTRONICA 13

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 señal de apagado (nivel lógico 0) al pin de entrada del microcontrolador. Cuando el interruptor se activa, el pin de entrada se conecta al terminal positivo de la batería (V+). Esto da una señal de encendido (nivel lógico 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 líneas constituyen un bucle continuo. Mientras la entrada esté apagada, el programa seguirá reiniciándose 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 ortografía de la línea: “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 también que después del comando then, únicamente está la etiqueta “–“ en este punto no se permite ninguna otra palabra aparte de la etiqueta. Figura 11

14 CLUB SABER ELECTRONICA

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 programación y luego del lado de salida “0” para que el circuito trabaje según 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 varía la cantidad de luz que incide sobre la “ventana” del dispositivo. Esto permite a los circuitos electrónicos medir cambios en el nivel de luz. Vea en el capítulo siguiente a la explicación 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 lámparas automáticas de las rutas para encenderlas durante la noche y apagarlas durante el día. También se utilizan en muchas alarmas y juguetes para medir niveles de luz. La fotorresistencia es un sensor del tipo analógico. Un sensor analógico mide una señal continua tal como luz, temperatura o posición (en vez de una señal digital de encendido/apagado como es el caso de un interrup-

tor). El sensor analógico provee como señal un voltaje variable. Esta señal de voltaje puede representarse mediante un número entre el 0 al 255 (Por ejemplo: muy oscuro = 0, luz brillante = 255). Las fotorresistencias se pueden utilizar en dos maneras. La manera más 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 señal de encendido; cuando el nivel de luz está debajo de cierto nivel, la fotorresistencia enviará una señal de apagado. En este caso, la fotorresistencia se coloca en una configuración de divisor de voltaje con Figura 13 una resistencia estándar. El valor de la resistencia estándar define el “valor de umbral”. Para fotorresistencias miniatura el valor adecuado es 1kΩ, para fotorresistencias más grandes del tipo ORP12 una resistencia de 10kΩ es más 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 más versátil de utilizar la fotorresistencia es midiendo un cierto número 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 “analógico”. Para medir valores analógicos el microcontrolador debe tener un convertidor analógico/ digital y además el software utilizado debe ser capaz de soportar el uso de este convertidor. La mayoría de los microcontroladores sólo 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 sólo uno de los pines puede utilizarse. El circuito electrónico que utiliza el convertidor a-d es un circuito divisor de voltaje idéntico al mostrado en la figura 10. Las “mediciones” analógicas 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-

CLUB SABER ELECTRONICA 15

ra 11 (que también 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, conéctela 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 analógico utilizando un simple programa, tal como se ve en la figura 12. El comando “readadc” se utiliza para leer el valor analógico (un número entre 0 y 255) dentro de la variable b1. Una vez que este número 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 capítulo “presentación” de los microcontroladores PICAXE. Veamos ahora cómo trabajar con los PICAXE-18.

A manera Figura 15 de ejemplo, un horno de microondas (figura 15) puede utilizar un solo microcontrolador para procesar información proveniente del teclado numérico, mostrar información para el usuario en la pantalla y controlar los dispositivos de salida (motor de la mesa giratoria, luz, timbre y magnetrón). Un microcontrolador puede, a menudo, reemplazar a un gran número de partes separadas, o incluso a un circuito electrónico completo. Algunas de las ventajas obtenidas con el uso de microcontroladores en el diseño de productos son:

Recor demos: El microcontrolador PICAXE es un PIC al que se le graba un pequeño 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 síntesis, tiene todas las bondades del PIC, pero son mucho más fáciles de usar.

· Aumento en la confiabilidad debido al menor número de partes. · Reducción en los niveles de existencia ya que un microcontrolador reemplaza varias partes. · Simplificación del ensamblaje del producto y productos finales más pequeños. · Gran flexibilidad y adaptabilidad del producto, ya que las funciones del producto están programadas en el microcontrolador y no incorporadas en el hardware electrónico. · Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrónico.

A modo de síntesis, por si Ud. ha comenzado la lectura por esta sección, 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 específico de control. Una vez programado, este microcontrolador es introducido en algún producto para hacerlo más inteligente y fácil de usar.

Figura 14

Algunas de las aplicaciones que utilizan microcontroladores incluyen artefactos domésticos, sistemas de alarma, equipo médico, subsistemas de automóviles y equipo electrónico de instrumentación. Algunos automóviles modernos contienen más 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 programación en lenguaje C. Sin embargo, debido a la complejidad de este lenguaje, es muy difícil, para estudiantes muy jóvenes de bachillerato, el uso adecuado de dicho lenguaje.

Más Sobre el Sistema PICAXE El sistema “PICAXE” es un sistema de microcontrolador fácil de programar que utiliza un lenguaje BASIC muy simple, el

16 CLUB SABER ELECTRONICA

Figura 16

cual la mayoría de los estudiantes pueden aprender rápidamente. El sistema PICAXE explota las características únicas de la nueva generación 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 ningún programador, borrador o complejo sistema electrónico. El programa puede escribirse en BASIC o por medio de un diagrama de flujo y se carga mediante una conexión 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 electrónicos (protoboard), en una placa universal (de las que se venden en casas de electrónica) 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 analógicas). 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 características de los microcontroladores PICAXE son: · Bajo costo, circuito de fácil construcción. · Hasta 8 entradas, 8 salidas y 4 canales analógicos. · Rápida operación de descarga del programa a la memoria del PICAXE mediante el cable serial. · Software “Editor de Programación” gratuito y de fácil uso. · Lenguaje BASIC simple y fácil de aprender. · Editor de diagramas de flujo incluido. · Puede ser programado, también, mediante el software “Crocodile Technology”. · Extenso número de manuales gratuitos y foro de apoyo en línea. · Tablero experimental y tutoriales disponibles. · Paquete de control remoto infrarrojo disponible. · Paquete de servocontrolador disponible. Los PICAXE son microcontroladores cuya licencia corres-

Figura 17

ponde a la empresa Revolution Education. Son PICs comunes (de la empresa Microchip) que poseen un pequeño programita interno que los hace más fáciles 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 matrícula de un PIC, sin embargo NO ES UN PIC común, 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 Programación”: 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 también pueden generarse dibujando diagramas de flujo. Alternativamente, el software “Crocodile Technology” puede ser utilizado para simular circuitos electrónicos completos, programándolos con diagramas de flujo. Por favor, vea el apéndice de “Crocodile Technology” para mayor información. 2) El cable serie: Este es el cable que conecta el sistema PICAXE a la computadora. El cable sólo 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 alimentación 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 estéreo pequeño (J35), figura 17.

CLUB SABER ELECTRONICA 17

Entrenador PICAXE-18 Vamos a explicar cómo 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 cómo puede hacerlo Ud. mismo. Hay tres tipos de tableros electrónicos de tutoriales/proyectos disponibles: Figura 18a 3) El chip PICAXE y el tablero electrónico: El microcontrolador PICAXE ejecuta programas que han sido descargados al mismo. Sin embargo, para operar, el chip debe ser montado en un tablero electrónico que provea una conexión al chip microcontrolador. El tablero electrónico puede ser diseñado por el usuario en un circuito impreso, en una interfaz prefabricada o, para ahorrar tiempo y por conveniencia, utilizar el tablero electrónico tutorial incluído. 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 electrónico tutorial. A modo de ejemplo, y antes de continuar con la descripción de los microcontroladores PICAXE, damos a continuación 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 eléctrico (batería) al PICAXE. 4. Utilice el software “Editor de Programación” para descargar el programa. El cable de descarga puede ser removido posteriormente a la descarga. El programa comenzará a ejecutarse en el PICAXE automáticamente. Sin embargo, el programa puede ser reiniciado en cualquier momento presionando el interruptor de reinicio. Figura 18b

1) Tablero electrónico 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 Estándar: 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 baterías eléctricas. La figura 19 nos muestra el enchufe hembra para caja de baterías. Localice los cables de la caja de baterías 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 conexión más fuerte que simplemente prensando el cable desnudo. Utilice siempre la caja de baterías eléctricas de 6V (se requiere de 4 pilas AA) suministrada. NO use una batería PP3 de 9V.

El Software Gratuito para Trabajar con PICAXE Requerimientos: Windows 95/98/ME/NT/2000/XP El software puede bajarlo de la página 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

18 CLUB SABER ELECTRONICA

Figura 19

instalar el software “Editor de Programación” siguiendo las instrucciones en su pantalla. Si no lo tiene en su computadora, deberá también 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 símbolo de dos puntos (:). Este símbolo indica a la computadora que la palabra es una nueva etiqueta. A continuación explicamos, paso a paso, cómo realizar este primer ejercicio de prueba: 1. Conecte el cable PICAXE a un puerto serie de la computadora y preste atención a cuál 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 automáticamente). 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 símbolo (:) directamente después de la

Figura 20 etiqueta “main” y los espacios entre los comandos y los números). 7. Asegúrese que el circuito PICAXE esté conectado al cable serie y a las baterías. 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 automáticamente. 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 continuación, 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 baterías estén conectadas al PICAXE. 3. Asegúrese 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 botón de la barra de herramientas) b) Para salvar un programa: 1. Haga click en Archivo -> Guardar como…(ó en el respectivo botón de la barra de herramientas) 2. Escriba el nombre bajo el cual quiere guardar el archivo 3. Haga click en c) Para abrir un programa guardado: 1. Haga click en Archivo -> Abrir (o en el respectivo botón de la barra de herramientas)

CLUB SABER ELECTRONICA 19

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 utilizar para retardos más cortos (el mismo se asigna en milésimas d) Para iniciar un nuevo programa: de segundo). Al comando wait se le pueden asignar números 1. Haga click en Archivo- Nuevo del 1 al 65, los cuales deben escribirse después del comando. Al comando pause se le pueden asignar números entre 1 y e) Para imprimir un programa: 65535. 1. Haga click en Archivo -> Imprimir… (o en el respectivo Es una buena técnica de programación usar tabulaciones botón de la barra de herramientas) (o espacios) al inicio de líneas sin etiquetas de manera que los 2. Si desea que a cada línea del programa se le asigne un núcomandos estén alineados. El término “espacios en blanco” es mero, asegúrese de marcar la casilla “Imprimir números de línea”. utilizado por programadores para definir tabulaciones, espa3. Haga click en cios y líneas en blanco. Dichos “espacios en blanco”, utilizados correctamente, hacen al programa mucho más fácil de leer y entender (vea las tabulaciones que hemos hecho en el prograAprendiendo a ma de la tabla5; en la primera columna ponemos etiquetas o Hacer Programas en Basic definimos variables, en la segunda columna colocamos las instrucciones y en la tercera columna están los comentarios que faUtilizando el Comando Symbol cilitan la comprensión del programa). Nota: Algunas versiones antiguas de lenguaje BASIC utiliAlgunas veces es difícil recordar cuáles pines están coneczan “números de línea” en vez de etiquetas para trabajar con tados a cuáles 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 líneas, todos los números xión de un timbre externo al pin de salida 7. Ver tabla 5. de línea 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 símbolo de apóstrofe (‘)] facilitan mucho la comprensión de calenguaje BASIC, supera este problema automáticamente. da línea del programa. Estos comentarios son ignorados por la computadora al descargar un programa al PICAXE. “Todo lo El “cerebro” del sistema PICAXE es el microcontrolador de que en una línea está después de (‘) es ignorado por 18 pines PIC16F627. Este PIC posee un programa que ha sido el programa”. grabado para convertirlo en un elemento del sistema PICAXE Las etiquetas (“main:” en el programa de la tabla 5) pue(se llama PICAXE-18). den ser cualquier palabra (con la excepción de palabras claAunque los microcontroladores son relativamente baratos ves como por ejemplo “switch”) pero DEBEN empezar con una (algunos microcontroladores cuestan menos de 2 dólares), los letra. Cuando la etiqueta es definida por primera vez debe llemismos son dispositivos muy complejos que contienen miles de var al final el símbolo de dos puntos (:). Esto indica a la comtransistores, resistencias y otros componentes electrónicos. putadora que la palabra es una nueva etiqueta. El microcontrolador PICAXE almacena sus programas (firmware) en su memoria FLASH “no volátil”. La ventaja de esta memoria es que TABLA 5 no pierde el programa descargado cuando la fuente de alimentación (basymbol dp = 7 ‘renombrar salida 7 “dp” (punto deci- terías) es desconectada del circuito mal) (cuando las baterías 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 acción 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 sóhigh 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

20 CLUB SABER ELECTRONICA

Tome en cuenta que no es posible sacar el programa fuera de la memoria del PICAXE para “leerlo”; por ende, si desea guardar el código de un programa para utilizarlo posteriormente debe guardarlo en su computadora antes de descargarlo al PICAXE. Esto es una restricción 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:

El microcontrolador contiene además de la memoria ROM (Read Only Memory - Memoria de sólo lectura), memoria temporal RAM (Random Access Memory - Memoria de Acceso Aleatorio). La memoria RAM es una memoria “temporal” utilizada para almacenar información mientras el programa es ejecutado. La misma es utilizada normalmente para almacenar respuestas de sumas matemáticas que el microcontrolador hace mientras está trabajando. Esta memoria es “volátil”, lo cual significa que tan pronto las baterías son desconectadas, la información 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 básico 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.

‘definir la variable “counter” como b0 ‘asignar al pin 7 con el “dp” for counter = 1 to 15 high dp pause 500 next counter end

‘iniciar un bucle for.....next ‘encender pin 7 ‘esperar 0,5 segundos ‘siguiente counter (b0) ‘fin del programa

do de sólo 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 idéntico al microcontrolador PICAXE-18 estándar, pero es ligeramente más costoso ya que tiene el doble de capacidad de memoria (aproximadamente 80 líneas de programación BASIC en vez de 40) y salidas analógicas de alta resolución (en vez de baja resolución). 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 desempeño confiable en casi todas las computadoras modernas. Vea en la figura 22 cómo 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, sólo 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 Programación (Programming

¡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-

Figura 21

CLUB SABER ELECTRONICA 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 también, Ud. puede armar el cable siguiendo las instrucciones que le daremos oportunamente.

Utilizando Bucles For…Next

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

22 CLUB SABER ELECTRONICA

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 for…next 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 número de veces que el TABLA 7 código debe ser repetido es alma‘renombrar 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 va‘precargar mark1/space1 con relación de 2:10 (1:5) riables pueden ser renombradas usando el comando symbol con el fin de hacerlas más fácil de re‘precargar mark2/space2 con relación de 20:10 (2:1) cordar. Note nuevamente cómo los espacios en blanco han sido utiliza‘iniciar un bucle for...next dos para mostrar claramente to‘encender motor dos los comandos contenidos en‘esperar tiempo indicado por mark1 tre los comandos for y next. ‘apagar motor

‘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 rápidamente, es posible controlar la velocidad de motores, encendiéndolos y apagándolos muy rápidamente. Este tipo

de control se conoce como PWM (Pulse TABLA 8 Width Modulation, Modulación 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 técnica 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 eléctricos. Para que la PWM funcione correctaFigura 24 mente, se necesitan motores de alta calidad. Los programas aquí mostrados están diseñados para motores “solares” y puede que no funcionen correctamente si se utilizan motores de juguete baratos. Para la conexión 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, recién estamos empezanunidad en cada Figura 25 do. bucle (1-2-3, etc.). Por consiguiente, al utilizar la variaUso de Timbres y Zumbadores Electrónicos en el ble b0 para asigSistema PICAXE nar el tono, el mismo puede ser Los timbres emiten un sonido cuando están conectados a cambiado en cauna fuente de alimentación. 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 electrónicos usan un tipo de sistema y pueden ser utilique realiza la miszados para emitir sonidos en diferentes tonos al proveerlos con ma función pero cambiando el tono en orden descendente, es una salida de diferentes frecuencias. decir de 120 a 1. El sistema PICAXE puede crear automáticamente 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 cómo el PICAelectrónico en el tablero tutorial (entrenador). Para hacer esto, XE ejecuta las operaciones matemáticas. 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 número indica el núfor 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 número es el tono, seNext b0 ‘siguiente b0 guido por la duración del sonido (longitud). Mienend tras más alto sea el número de tono, mayor será la “altura tonal” del sonido (frecuencia, note que algunos zumbadores no pueden producir tonos muy TABLA 10 altos y por lo tanto números 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 for…next para producir 120 soniend dos diferentes. El número almacenado en la varia-

CLUB SABER ELECTRONICA 23

El PICAXE sólo interpreta números en “byte”, o sea números enteros del 0 al 255. No puede interpretar fracciones, ni Figura 26

números negativos, ni números 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 sólo puede estar en dos posiciones: encendido ó apagado. Algunos ejemplos de sensores digitales comunes son:

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

‘hacer etiqueta llamada “main” ‘leer señal de canal 2 en variables b0 ‘si b0 >120 ir a “stop” ‘si b0 Opciones para acceder a la pantalla de opciones (ésta puede que aparezca automáticamente). 4. Haga click en la lengüeta “Modo” y seleccione PICAXE-18. 5. Haga click en la lengüeta “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 ratón 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 página web use el archivo tipo GIF. El Editor de Organigramas permite dibujar y simular organigramas en la pantalla. El organigrama puede luego ser convertido automáticamente 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 = Línea Edit bar = barra editora Seleccionar Utilice este comando para seleccionar y mover bloques. Cuando un sólo bloque es seleccionado, su código BASIC puede ser editado en la barra editora en la parte inferior de la ventana.

26 CLUB SABER ELECTRONICA

Figura 32

donde desea ubicarlo y luego use el comando Seleccionar para mover el bloque a la posición correcta. Una vez que el bloque esté en posición, haga click en él de manera que sea resaltado. El código BASIC del objeto aparecerá en la barra editora en la parte inferior de la pantalla. Edite el código si lo requiere y luego presione el botón de tic para salvar los cambios. Para información adicional acerca de cada comando vea los archivos de ayuda “Comandos BASIC”. Note que algunos comandos únicos (por ejemplo servo para el PICAXE28) sólo aparecerán cuando el software esté en el modo apropiado (menú Ver -> Opciones).

Uniendo Bloques

Zoom Utilice para acercar una parte del diagrama. Use el click derecho para alejar. Acercar/Alejar Para acercar haga click y mueva el ratón hacia arriba. Para alejar haga click y mueva el ratón hacia abajo. Mover Utilice este comando para mover el organigrama completo alrededor de la pantalla. Línea Utilice este comando para dibujar líneas entre los bloques. Se pueden hacer quiebres en las líneas haciendo click una vez. Cuando la línea está cerca de un bloque, ésta se pegará al punto de conexión del mismo. Etiqueta Utilice este comando para añadirle etiquetas o títulos 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.

Dibujando Organigramas Para dibujar un organigrama haga click en uno de los botones de menúes 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 posición en primera instancia – póngalo en la pantalla en las cercanías del área

Para unir bloques, debe acercarlos uno al otro hasta que se junten. Alternativamente, se pueden dibujar líneas entre los mismos usando el comando línea en la barra de herramientas. Note que sólo es posible unir la parte inferior de un bloque únicamente con la parte superior de otro. Además, sólo se permite sacar una línea de la parte inferior de conexión de cada bloque. Para hacer diagramas ordenados, se pueden agregar quiebres a las líneas haciendo click en las mismas. Cuando una línea es movida cerca de un punto de conexión, la misma se pegará a éste; para terminar la línea, haga click una vez más y la misma quedará en posición. Las líneas no pueden ser movidas. Si trata de mover una línea la misma será borrada y tendrá que crear una nueva línea.

Simulación 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 están siendo ejecutados se irán resaltando en rojo. Las ventanas de “Entradas/Salidas” y “Variables” también aparecerán mientras se ejecuta la simulación. Para cambiar los valores de las entradas, haga click en el respectivo interruptor en pantalla o utilice la barra deslizadora de entradas analógicas. 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.

Convirtiendo Organigramas Los organigramas no son descargados directamente al microcontrolador. Primero el organigrama es convertido en un

CLUB SABER ELECTRONICA 27

TABLA 16

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

‘dígito 0 ‘esperar 0,25 segundos ‘dígito 1 ‘esperar 0,25 segundos ‘dígito 2 ‘esperar 0,25 segundos ‘dígito 3 ‘esperar 0,25 segundos ‘dígito 4 ‘esperar 0,25 segundos ‘dígito 5 ‘esperar 0,25 segundos ‘dígito 6 ‘esperar 0,25 segundos ‘dígito 7 ‘esperar 0,25 segundos ‘dígito 8 ‘esperar 0,25 segundos ‘dígito 9 ‘esperar 0,25 segundos

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 estén conectados a los bloques “inicio” ó “sub” en el organigrama, serán ignorados al momento de hacer la conversión. La conversión 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 simulación o de convertir el diagrama. Note que es posible convertir y descargar un organigrama presionando dos veces la tecla F5.

Utilizando Símbolos Las Entradas, Salidas y Variables pueden ser renombradas utilizando la “Tabla de Símbolos” del menú Organigrama. Cuando un símbolo es renombrado, el nuevo nombre aparecerá en los menúes desplegables en la barra editora. No deben utilizarse nombres de comandos (por ejemplo switch o sound) como símbolos, ya que esto puede generar errores en el programa BASIC convertido.

readadc 2,b1 if b1 > 150 then show9

‘leer señal analógica de ‘canal 2 en variable b1 ‘probar variable b1 y ‘saltar al respectivo

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

‘dígito 0

let pins = %00000110 goto main

‘dígito 1

let pins = %01011011 goto main

‘dígito 2

let pins = %01001111 goto main

‘dígito 3

let pins = %01100110 goto main

‘dígito 4

let pins = %01101101 goto main

‘dígito 5

let pins = %01111101 goto main

‘dígito 6

let pins = %00000111 goto main

‘dígito 7

let pins = %01111111 goto main

‘dígito 8

let pins = %01101111 goto main

‘dígito 9

show1: show2: show3: show4: show5: show6: show7: show8: show9:

ganigramas también pueden ser copiados al portapapeles de Windows (para pegarlos luego a otras aplicaciones) mediante el menú Editar.

Guardando e Imprimiendo Organigramas Sistemas de Números Los organigramas pueden ser guardados, impresos y exportados como figuras (para ser insertados en documentos de procesadores de palabras) utilizando el menú Archivo. Los or-

28 CLUB SABER ELECTRONICA

Los microcontroladores operan usando un gran número de comandos en un espacio de tiempo muy corto y procesando se-

ñales electrónicas. Estas señales están codificadas en sistema binario; la señal puede ser high (1) o low (0). El sistema numérico utilizado diariamente es el sistema decimal. Este sistema numérico utiliza diez dígitos (del 0 al 9) para explicar qué tan grande o pequeño es el número. Sin embargo, al trabajar con microcontroladores muchas veces es más fácil trabajar en código binario, especialmente al tratar de controlar múltiples salidas al mismo tiempo. Un sólo dígito binario es conocido como un “bit” (binary digit – dígito binario). El sistema PICAXE utiliza 8 bits (1 byte) por cada palabra de datos, teniendo al dígito menos significativo en el extremo derecho y al dígito más significativo en el extremo izquierdo. Por consiguiente, el número binario %11001000 pone a los bits 7,6,3 en high (1) y al resto en low (0). El símbolo % indica a la computadora que está trabajando en sistema binario y no en decimal. La utilización del código binario permite controlar las ocho salidas al mismo tiempo, en vez de sólo utilizar los comandos high y low. El programa que vemos en la tabla 15 demuestra cómo hacer que la pantalla de siete barras del tablero tutorial cuente del 0 al 9. Cada línea “let pins =” cambia el número de barras encendidas en la pantalla de siete segmentos. Esto es mucho más rápido que utilizar, muchísimas veces, los comandos high y low para hacer lo mismo.

Figura 33 Figura 34

Visualizando Cifras Analógicas en el Display de 7 Segmentos Figura 35

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.

Controlando Motores Paso a Paso Los motores paso a paso son motores de alta precisión comúnmente 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

CLUB SABER ELECTRONICA 29

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 operación 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 eléctrica por estas bo‘definir variable binas, las mismas generan un campo ‘fijar el retardo (delay) en 0,1 segundos magnético el cual atrae o repele a los electroimanes permanentes en la arma‘primer paso dura, provocando que la armadura gire ‘pausa de 0,1 segundos (valor asignado al retardo) un “paso” hasta que los campos magné‘siguiente paso ticos estén alineados. ‘pausa de 0,1 seg. Luego, las bobinas son energizadas con un patrón diferente para crear un ‘siguiente paso campo magnético 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 en‘renombrar salida7 “dp” trenador) provee el método necesario ‘renombrar salida6 “buzzer” para interrelacionar a estas cuatro bobi‘definir a la variable “counter” como b0 nas (figura 35). El motor paso a paso debe ser co‘hacer etiqueta llamada “main” nectado a los agujeros en el tablero tuto‘ir al sub-procedimiento “flash” rial de la siguiente manera: ‘ir al sub-procedimiento “noise”

los cuales giran libremente al aplicarles potencia, los motores paso a paso requieren que su fuente de alimentación sea continuamente “impulsada” en cuatro patrones diferentes. Por cada impulso, el motor se mueve un “paso”, típicamente 7.5° (requiriendo por lo tanto 48 pasos para una revolución 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

‘ir a “main” ‘fin del programa principal

flash for counter = 1 to 25 high dp pause 50 low dp pause 50 next counter return

‘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

high buzzer pause 2000 low buzzer return

‘hacer un sub-procedimiento llamado “noise ‘encender timbre ‘esperar 2 segundos ‘apagar timbre ‘retornar del sub-procedimiento

noise:

30 CLUB SABER ELECTRONICA

Cable Negro: 2 + Cable Blanco: 3 + Cable Amarillo: 0 – Cable Rojo:1 – Cable Naranja: 2 – Cable Marrón:3 – La tabla 17 muestra los cuatro “pasos” distintos requeridos para hacer girar el motor. Para hacer girar al motor en dirección contraria, los pasos deben ser invertidos (4-3-2-1-4-etc. en vez de 12-3-4-1-etc.) Nota: La configuración del alambrado de los motores paso a paso puede variar según 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 dirección y otra, en vez de girar continuamente. La mayoría de los motores paso a paso están dise-

ñados para trabajar con 12V, pero generalmente pueden trabajar sin problemas (aunque con un torque reducido) con 6V. El siguiente programa también puede utilizar un número binario para encender y apagar todas las líneas de salida al mismo tiempo. La siguiente tabla muestra el número binario de salida para cada paso:

Fig. 37 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.

CLUB SABER ELECTRONICA 31

Fig. 38

Subrutinas

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 pequeños 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 explicación de cada programa. LK es un puente de conexión (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. *****************

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 continúa. Las subrutinas son frecuentemente utilizadas para separar el programa principal en pequeñas secciones, symbol dp = 7 para hacerlo más fácil de comprender las susymbol counter = b0 brutinas que realizan tareas comunes, también pueden ser copiadas de programa a main: programa para ahorrar tiempo. let b2 = 5 El programa de la tabla 19de la página 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 información 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.

El Circuito del Entrenador En este capítulo hemos mencionado que precisamos un entrenador para corroborar los diferentes conceptos que presentamos. Di-

32 CLUB SABER ELECTRONICA

for counter = 1 to b2 high dp pause 250 low dp pause 250 next counter return

TABLA 20 ‘renombrar salida7 “dp” ‘definir a la variable “counter” como b0 ‘hacer una etiqueta llamada “main” ‘precargar a b2 con el número 5 ‘ir al sub-procedimiento “flash” ‘esperar 0,5 segundos ‘precargar a b2 con el número 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

Art Tapa - ECU.qxd

4/12/12

9:11 AM

Página 7

Tec Repa - vibra iPhione 4.qxd

4/12/12

9:01 AM

Página 75

INTRODUCCIÓN Comenzaremos con una aplicación 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, utilización de convertidores analógico - 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 función de las terminales que tienen disponibles para la entrada y salida de datos, serán 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 reposición automática (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 realizarán ejercicios con todos los tipos de microcon-

Figura 1

Figura 2

Figura 3

CLUB SABER ELECTRONICA 35

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 acción que tenemos que realiFigura 5 zar es abrir el software de programación llamado “PICAXE Programming Editor” y que previamente tuvo que ser instalado. Una vez que hacemos doble click sobre el ícono del software de programación y accedemos al ambiente de programación, 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 más detalles sobre esta parte del programa, puede bajarlo de Internet o adquirir la revista Saber Electrónica 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 opción “Modo” del menú para elegir el PICAXE que vamos a emplear en nuestro proyecto, qué frecuencia de operación tendremos (generalmente 4MHz), etc. Luego, debemos elegir la opción “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 programación 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 opción que se cuenta en

Figura 6

36 CLUB SABER ELECTRONICA

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 opción “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 constituirán, vamos a describir cuál 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 prediseñados 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é condición 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 condición 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 lógico de la terminal de entrada y la compara con un 1 lógico y dependiendo de si la entrada es igual o no, tiene dos posibles salidas “Y” por si es igual a 1 lógico y “N” por si la entrada es 0 lógico. 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 líneas atrás, lo que tenemos que hacer es que se encienda un led cuando en la terminal de entrada se encuentre un 1 lógico, o que el led se apague cuando en la entrada se encuentra un 0 lógico. Para esta actividad recurrimos al recuadro identificado con la palabra “Out”, ya que es ahí donde se encuentran los bloques que actúan sobre las terminales de salida del microcontrolador. Una vez en el interior del menú de bloques de salida, tenemos que seleccionar la acción 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 acción 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 también 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 líneas atrás. Para ello existe una herramienta que se encuentra en un recuadro identificado con una línea vertical que en sus extremos tiene un “*”. Cuando seleccionamos esta herramienta y acercamos el puntero del ratón sobre alguno de los bloques que ya se encuentran en el área de trabajo, se les aparece un círculo de color rojo en aquel punto que requiere una conexión, tal como se ilustra en la figura 8. Ya seleccionado el punto de conexión, trazamos la línea hasta el siguiente punto de conexión de un bloque para realizar la unión lógica del flujo de datos. Cabe aclarar que para cada unión que se necesite realizar, se tiene que volver a seleccionar la herramienta de conexión. En la figura 9 podemos apreciar la conexión completa de todos los bloques. Si ya terminamos de diseñar 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 según nosotros programamos, que lo que realmente hace en función 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 símbolo de una punta de flecha tal como se ilustra en la figura 9, lo seleccionamos y enseguida aparecerán 2 ventanas. Una de ellas indica el estado lógico 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 están siendo activas con un 1 lógico, mientras que los que aparecen debajo de los cuadros verdes, indican la posición de las señales de entrada al microcontrolador, los cuales cuando se encuentran en la posición inferior significa que la entrada se encuentra en 0 lógico, y si están en la posición superior la entrada se encuentra en 1 lógico. Por otra parte también se observa que, dependiendo de dónde se encuentre la posición del switch, se iluminará en color rojo la línea que une los diferentes bloques que son afectados por la respuesta del estado lógico 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 lógico en la entrada y apagar el led cuando se tiene un 0 lógico 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

CLUB SABER ELECTRONICA 37

ma” y después la opción “Convertir el Organigrama a Basic” (de manera rápida pudimos presionar la tecla F5), tema que

Figura 12

Figura 14

38 CLUB SABER ELECTRONICA

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 cómo se debe construir el cable de programación, tomando en cuenta las terminales que se deben ocupar. Para grabarle el programa al microcontrolador debemos dirigir la flecha del ratón a la barra de herramientas y seleccionar el menú “PICAXE”, después la instrucción “Ejecutar” (o de manera rápida F5), tal como se muestra en la figura 11. En ese mismo instante aparecerá una ventana indicando que se está llevando a cabo la programación del microcontrolador PICAXE. Cuando se encuentra en la fase de proFigura 13 gramación, una barra que irá creciendo nos dirá la cantidad de código que está siendo descargado hacia el microcontrolador. Cuando se termina de grabar el microcontrolador aparecerá una ventana que nos indica la finalización del proceso de programación, figura 12. Ahora podemos verificar en el microcontrolador que el programa que diseñamos se

encuentra perfectamente bien, por lo que tenemos que oprimir el pulsador y esta acción 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 diseñamos el diagrama de flujo, ya que algo se encuentra mal.

Figura 15

Figura 16 KIT ENTRENADOR

PARA

PICAXE 08

En esta oportunidad diseñaremos nuestra primera tarjeta de entrenamiento universal para programar microcontroladores PICAXE, y como en todo comienzo, daremos inicio por lo más sencillo y más pequeño, esto es, los microcontroladores de 8 terminales denominados PICAXE – 08. En primera instancia recordemos cuál es la configuración de un PICAXE–08, para en función de ello, tomar en cuenta de cuántas entradas y cuántas salidas podemos echar mano y aprovecharlas al máximo (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 número de salidas con el número de entradas tendremos un total de 8 y el PICAXE–08 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 además de las 2 terminales de alimentación y 2 para programarlo. Específicamente para los PICAXE–08 las terminales 3, 5, 6 y 7 cumplen con una doble función, 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 cómo la contemplemos cuando realicemos el programa del PICAXE–08. La tarjeta entrenadora que proponemos tiene la posibilidad de explotar al máximo las propiedades del PICAXE–08, y será por medio de jumpers como se podrá configurar la circuitería, tanto para programar como para fijar entradas o salidas de datos. En la figura 14 se muestra el circuito esquemático de la tarjeta entrenadora completa. A continuación describiremos cada parte de esta tarjeta entrenadora para que podamos sacarle el máximo provecho. En primer término identificaremos la ubicación de dónde instalar el microcontrolador PICAXE–08; éste debe encontrarse en la base identificada como IC1 respetando la identificación

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 través de un jumper que, dependiendo de cómo 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 circuitería 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 función tanto de programar al microcontrolador, como la de funcionar como terminal de salida de datos si así se requiere; esta selección se lleva a cabo mediante la conexión de un jumper hacia la ubicación que se requiera. Cuando se va a programar un microcontrolador PICAXE–08, es necesario que el jumper esté ubicado hacia la posición “Prog” en el conector PROG/SAL0, porque de otra manera la programación será imposible, ya que no se tendrá comunicación entre la PC y el microcontrolaFigura 17 dor. Cuando el jumper

CLUB SABER ELECTRONICA 39

se encuentra ubicado hacia la posición “Sal0” en el mismo conector PROG/SAL0, se tendrá configurada la terminal del microcontrolador como salida. La disposición de componentes sobre la placa se muestra en la figura 16. Por lo descrito líneas atrás 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 posición “Prog” en el conector PROG/SAL0 para programar al microcontrolador PICAXE–08. 2º paso.- Cambiar el jumper hacia la posición Sal0 en el conector PROG/SAL0 si se va a utilizar esa terminal del microcontrolador PICAXE–08 como salida. En el conector identificado como “Entradas” se tiene la posibilidad de hacerle llegar al microcontrolador PICAXE–08 el estado lógico 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 PICAXE–08, 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 estéreo tipo mini Jack, el cual puede tener formas diferentes. El conector de audio estéreo tan sólo tiene 3 terminales, las cuales serán utilizadas para comunicar al microcontrolador con una PC a través del puerto serie. En la figura 19, como ya lo vimos anteriormente, se muestra el diagrama de cómo 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 realizarán las siguientes actividades: La línea identificada con el número 1 sirve para verificar que el microcontrolador PICAXE se encuentra conectado al puerto serie de la PC. La línea identificada con el número 2 sirve para programar al microcontrolador PICAXE. La línea identificada con el número 3 es la referencia GND o también conocida como tierra eléctrica. Por último, la tarjeta entrenadora tiene incorporado un regulador de voltaje identificado como IC2 que posee el código LM7805, y cuya misión es la de mantener un voltaje de 5V para energizar al microcontrolador PICAXE y toda su circuitería; por lo tanto, podemos energizar nuestra tarjeta de entrenamiento con una pila de 9 VCD. La lista de componentes se muestra a continuación. 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

40 CLUB SABER ELECTRONICA

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 conexión, 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 función lógica “Y” (AND). El motivo de programar al PICAXE con esta función lógica es un pretexto para que se tenga en cuenta que si podemos utilizar las funciones lógicas, entonFigura 10 - Diagrama esquemático de la tarjeta entrenadora. ces podemos darle cualquier aplicación 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. posición E4, mientras que la entrada E3 no tiene que configuPara cada una de las funciones lógicas necesitamos la utirarse ya que está directamente conectada al borne de entralización de 2 entradas, por lo que en total requeriríamos 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 jumsólo de 8 terminales; por lo tanto, se tiene la limitante de que per PROG/SAL0 en la posición de Sal0; esto es porque la terla mayoría de las entradas y salidas están compartidas. En conminal 7 del microcontrolador PICAXE – 08 se comparte tanto secuencia tan sólo utilizaremos 2 entradas para implementar con la salida 0 como con una terminal de programación del PIlas 2 funciones lógicas. 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 posición Sal1. La forma en cómo se deben colocar los jumque están asignadas tanto las terminales de entrada como las pers también se ilustra en la figura 21, que es una imagen de de salida; por otra parte también tomemos en cuenta que la tarla tarjeta entrenadora. jeta entrenadora posee 2 pulsadores para generar los estados Una vez que hemos configurado la parte electrónica de la lógicos con los cuales trabajará el PICAXE, y también 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 función lógica “Y”, de acuerdo a la tabla lógica siguiente: S1 0 0 1 1

S2 0 1 0 1

Función “Y” 0 0 0 1

Ahora hacemos referencia al diagrama de identificación de los componentes de la figura 21 para observar que las terminales que están

Figura 21 - Identificación de componentes y colocación de jumper.

CLUB SABER ELECTRONICA 41

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 antelación, pero si ustedes aún no poseen el programa, lo pueden descargar de nuestra página de internet: www.webelectronica.com.ar.

Figura 22

Figura 23

Después 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 opción. Si la ventana de opciones no aparece al abrir el programa, nosotros podemos abrirla desde el menú Ver y después 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 situación, nuevamente recurriremos a programar al microcontrolador a través de diagramas de flujo, por lo que oprimimos el botón de acceso rápido para abrir el ambiente de trabajo en diagramas de flujo, tal como se muestra en la figura 23. Dentro del entorno gráfico 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, serán 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

42 CLUB SABER ELECTRONICA

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 después 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 cuál sea la función lógica que implementemos será la activación de las salidas que usaremos, ya sea un “0” lógico o un “1” lógico; 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 función lógica que implementaremos es la denominada “Y” (AND). Como ya habíamos designado que sería a través del led D1 de la tarjeta entrenadora donde se visualizaría su respuesta, es el motivo de la selección ya que el led D1 está conectado a la salida 1 del microcontrolador. Ya que tenemos todos los bloques correspondientes a la implementación de la función lógica, ahora pasaremos a conectarlos para que se obtenga el resultado de la tabla de verdad de la función lógica “Y”. Tenemos que regresar una vez más al menú principal para realizar la unión de los diferentes bloques, en función de la lógica de operación que hemos desarrollado. Para esta acción, elegimos la herramienta de conexión 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 círculo que se hace presente en el punto de conexión del bloque cuando acercamos el puntero del ratón, y ahí hacemos click con el botón izquierdo para fijar la línea de conexión, y la arrastramos hasta el siguiente punto de conexión 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 simulación tal como nos lo indica la figura 31, y cuando la oprimimos, aparecerán dos ventanas: en una observaremos las variables, y en la otra, que es la que nos interesa en este momento, se observará cómo se comportan las salidas en función de las entradas. En la figura 32 se muestra que cuando ésta activa la función de simulación, las líneas que unen los distintos bloques se iluminan en color rojo indicando el camino por donde se cumplen las condiciones lógicas, facilitando de esta manera la ob-

Figura 28

Figura 29

Figura 30

Figura 31

CLUB SABER ELECTRONICA 43

Figura 32

Figura 33

servación de cómo se va generando la respuesta que finalmente será visualizada a través de una salida. Y para comprobar que en la salida se tiene como resultante la función lógica “Y”, se tienen que realizar las distintas combinaciones de “0” lógico y “1” lógico en las terminales de entrada, a través de los interruptores que se visualizan en la ventana inferior de la figura 32. Una vez que hemos superado la etapa de la simulación,

nuestro siguiente paso es la programación del PICAXE a través 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ó cómo se debe armar el cable de programación, colocar también el jumper del conector PROG/SAL0 en la posición de Prog para que sea descargado el código al PICAXE. El paso siguiente es detener la simulación 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 través de la tarjeta entrenadora, se oprime el botón que se refiere a la herramienta de programación, y como consecuencia se despliega una ventana que nos va indicando el avance de la programación, 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 función lógica “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 grabación en el microcontrolador. LISTA DE COMPONENTES PARA REALIZAR EL EJERCICIO. Tarjeta entrenadora del PICAXE – 08 y su cable de programación.

Juego de Luces Tipo “Auto Fantástico” (Empleando la Tarjeta Entrenadora) Figura 34

Figura 35

44 CLUB SABER ELECTRONICA

Vamos a implementar, a través de una tarjeta entrenadora, un juego de luces que funcione de la misma manera que lo hacían las luces del auto fantástico. Está claro que para el microcontrolador PICAXE – 08 que posee la tarjeta entrenadora, sólo se tiene posibilidad de contar con 4 salidas a las cuales les podemos colocar leds para visualizar el efecto de las luces. Cabe señalar 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-

quemático 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 implementación, armado y programación se publicó en el tomo Nº 7 de la colección “Club Saber Electrónica”. Ud. puede bajar el artículo completo de la web con la clave dada más 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 posición 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 programación del PICAXE, seleccionamos la opción 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 más rápido en la construcción de nuestro programa. Ya dentro del ambiente de pro-

Figura 36 gramación, lo primero que tenemos que hacer es inicializar las salidas que utilizaremos, que por disposición del PICAXE – 08 se tienen dispuestas las salidas 0, 1, 2 y 4. Para no afectar el desempeño de nuestra aplicación, la inicialización 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 colocáramos estos comandos, simplemente las salidas no se activarán. Posteriormente colocamos líneas de conexión para unir los comandos de activación en estado bajo de las 4 salidas seleccionadas. Ahora se colocan los comandos para generar el efecto de luces del auto increíble, para lo cual nos basamos en un algoritmo muy simple y que a continuación explicamos: Encendemos el led colocado en la salida 0 y mantenemos

Figura 37 Figura 38

CLUB SABER ELECTRONICA 45

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 condición durante 1 segundo. En general, vamos encendiendo el led siguiente y al mismo tiempo apagando el anterior y manteniendo el estado durante algún 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 increíble. De la figura 40 se puede observar el diagrama de flujo que se emplea para controlar el juego de luces, y a través de los bloques “low” apagamos las salidas (las colocamos en “0” lógico), y con los bloques “high” encendemos las salidas (las colocamos en “1” lógico). Pues bien, hasta aquí hemos manejado bloques que con anterioridad habíamos utilizado y que no causan problemas al momento de seguir la ejecución del programa, pero ahora aparecen 2 nuevos bloques que están iden-

Figura 39

Figura 40 - Diagrama a bloques completo.

46 CLUB SABER ELECTRONICA

tificados como “wait” y como “pause”, los cuales describiremos a continuación. 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 sólo se dedica a contabilizar el tiempo que va transcurriendo hasta que llegue al conteo máximo que le hemos fijado. Esta actividad es muy útil, sobre todo cuando se requiere el empleo de un temporizador, o de un delay. La característica 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 temporización, de manera que los datos que son enviados a las salidas del PICAXE se mantengan durante 1 segundo. Si omitimos la colocación del bloque wait, provocaríamos que con la simple operación del microcontrolador, que es muy rápida, tan sólo observemos un destello en los leds pero no veríamos cuál se enciende y cuál se apaga con detalle. El número que tiene por delante el comando wait es el número de segundos que dura la temporización. El segundo bloque que observamos en el diagrama de flujo de la figura 41, y que no conocíamos, 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 temporización de cada uno de los bloques. Para el bloque wait la temporización se encuentra en segundos, mientras que para el bloque pause la temporización 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 también 1 segundo. Después 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 simulación, procedemos a convertir nuestro diagrama de flujo en código 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 código como el ilustrado en la figura 42. Por último, tenemos que programar al microcontrolador PICAXE, por lo que estando en el ambiente de código BASIC nos dirigimos al menú PICAXE y después al comando “Ejecutar”. En ese mismo instante se abre una ventana que nos indica el progreso de la programación del PICAXE (figura 43), y una vez que éste termina de programarse, nos muestra una ventana pequeña en donde nos comunica que se programó perfectamente; en caso contrario, también 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 antelación, pero si ustedes aún no poseen el programa lo pueden descargar de nuestra página de internet: www.webelectronica.com.ar. A lo largo de Figura 41 - Simulación. esta obra iremos desarrollando ejemplos de Alarma para Puertas y Ventanas programación, 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 utilización de nuestra tarjeta entrenane contemplado mostrar proyectos con aplicaciones reales. dora tal como un módulo de uso general, nuevamente hacemos referencia a ella y por lo tanto volvemos a colocar su diagraLista de Materiales ma esquemático 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 encripción de ésta se vió anteriormente), su cable de programatre el sensor, el habilitador de la alarma, la salida a un buzzer ción, (zumbador) y a un contacto que nos representará una señal re4 Leds mota. De acuerdo a lo anterior necesitamos de, por lo menos, 4 Resistores de 390Ω

Figura 42 - Código en BASIC.

CLUB SABER ELECTRONICA 47

2 entradas y 2 salidas, pero recuerden que en el PICAXE–08 algunas Figura 44 terminales son compartidas y cumplen con una doble función; 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 cómo se asignarán 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 magnéticos llamados reed switches, en los cuales, cuando se les acerca un imán, su contacto se cierra, provocando la generación de los estados lógicos que vemos en la tabla 1. La disposición de los sensores magnéticos, tal como se ilustra en el diagrama esquemático de la figura 45, están conectados de tal forma que se cumplan las condiciones de la tabla 1, y estos estados lógicos se hacen llegar a la terminal de entrada del PICAXE (Ent3) destinada a detectar si una puerta o ventana fue abierta sin autorización, por lo que tenemos que seleccionar qué puerta o ventana de nuestra casa tendremos que proteger, colocando el sensor magnético en el marco de la puerta o ventana mientras que el imán 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 serán las denomina-

das Ent3 y Ent4, mientras que las terminales designadas para las salidas serán las marcadas como Sal0 y Sal1. Una vez que se han destinado las entradas y salidas que serán empleadas, ahora procederemos a explicar el diseño 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 aún no lo tienen pueden descargarlo de nuestra página www.webelectronica.com.ar con la clave “picaxe”, o directamente de la página www.picaxe.co.uk En la figura 46 observamos la ventana de bienvenida al “PICAXE Programming Editor”. Consideramos que aún no tenemos la experiencia necesaria para comenzar a programar un PICAXE por medio del lenguaje BASIC, por lo que una vez más seleccionamos la opción 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 cómo trabajar con diagramas de flujo, ya no expondremos lo que signiFigura 43 - Ventana que muestra el avance de la programación. fican los íconos que aparecen cuando trabajamos con estos diagramas, por lo que sólo nos abocaremos a desarrollar el programa con el cual operará TABLA 1 COMPORTAMIENTO DEL SENSOR MAGNETICO nuestro programa. Presencia del imán Contacto del Reed Switch Estado lógico Si Cerrado 1 Para comenzar con el programa, primero No Abierto 0 serán definidas las terminales de entrada a

48 CLUB SABER ELECTRONICA

Figura 45

través de las cuales se estará habilitando la alarma Ent4 (pin4) y lectura del sensor Ent3 (pin3). De acuerdo a la manera de cómo pretendemos que sea la operación 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” lógico, y mientras esta condición no esté presente, la alarma nunca indicará si una puerta o ventana fue abierta sin autorización, por lo que podemos considerar que la alarma está desactivada para que contemos con la posibilidad de abrir cualquier puerta o ventana. Después de que la alarma fue activada, el paso siguiente es el revisar que ninguna puerta o ventana sea abierta sin autorización, por lo que a través del pin3 se debe leer un “1” lógico para que se cumpla dicha condición. La figura 47 muestra la activación 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 revisión de los estados lógicos 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 magnético. El primer bloque tiene la tarea de preguntar si la alarma ya fue activada, por lo que se comparará el estado lógico de la terminal de entrada 4 con un “1” lógico. Si la alarma aún no ha sido activada, no tiene caso seguir con el desarrollo del programa, por lo que constantemente se estará revisando el estado lógico de la terminal de entrada 4 hasta que la alarma sea activada, esto es, sea colocado en “1” lógico el estado de la ter-

Figura 46

minal 4. Si la alarma ya fue activada el paso siguiente será leer el estado lógico del sensor magnético, por lo que siempre estaremos comparando el estado lógico de la terminal de entrada 3 con el estado lógico “0”. Recordemos que el estado lógico “0” en el sensor magnético signifi-

Figura 47

CLUB SABER ELECTRONICA 49

Figura 48

ca que alguna puerta o ventana fue abierta y si esto sucedió sin autorización, por medio del comando “high” estaremos enviando, a través de la terminal de salida 1, una señal a la bobina de un relevador para que sea generada una señal de alarma remota. En la figura 48 se ilustran los bloques correspondientes al establecimiento de una señal audible para avisar del evento de apertura de una puerta o ventana sin autorización. En el desarrollo de esta parte del diagrama de bloques, encontraremos dos nuevos, que se describen a continuación:

Figura 49

50 CLUB SABER ELECTRONICA

“let”.- Este bloque es empleado para asignar un valor en cualquiera de las variables con que cuenta el microcontrolador PICAXE, además de permitir la realización de operaciones entre las variables y valores constantes. “sound”.- Este bloque contiene los parámetros necesarios para generar una nota musical a través de una terminal de salida del microcontrolador, por lo que la sintaxis es sound terminal de salida (nota, duración). Pues bien, una vez que hayamos revisado el potencial de los bloques que a continuación utilizaremos, procedemos a explicar la operación 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 utilización 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 sólo indicárselo por medio de los parámetros que se encuentran dentro del paréntesis. De acuerdo con nuestro ejemplo, la variable b0 nos generará la nota que será expresada hacia el exterior del PICAXE a través 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 señal 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 duración de la nota dentro del paréntesis 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 condición lógica de la señal de entrada en el pin4, y cuando lea el estado lógico “0” significa que ya fue desactivada la alarma, por lo que se tiene que revisar la condición del sensor magnético, 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 señal audible y enviando la señal de alarma remota. En la figura 49 vemos el diagrama de bloques completo. Como paso siguiente, deberemos simular la operación del diagrama de bloques para estar completamente seguros de que el programa va a funcionar correctamente. Después de la simulación, procedemos a convertir nuestro diagrama de flujo en código 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 código como el ilustrado en la figura 50. Por último, para programar al microcontrolador PICAXE, se tiene que estar dentro del ambiente de código BASIC, y de ahí nos dirigimos al menú PICAXE y después al comando “Ejecutar”. De esta acción se provoca que se abra una ventana que nos va indicando el progreso de la programación del PICAXE. Una vez que éste termine de programarse, nos muestra una ventana pequeña en donde nos comunica que se programó perfectamente; caso contrario, también 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 tamaño en cuestión del número de terminales que posee un PICAXE-08, a nuestra alarma le está destinado el proteger sólo una puerta o ventana. Si queremos una alarma con mayor número 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 prácticos de programación, ya que nuestra meta es llegar a realizar diseños de aplicaciones sin importar el nivel de complejidad. LISTA DE MATERIALES Tarjeta entrenadora del PICAXE – 08 El cable de programación 3 Resistores de 390Ω 1/8Watt 1 Transistor 2N2222 1 Diodo 1N4001 1 Relevador para 5 V 1 Reed switch 1 Botón con seguro 1 Zumbador (buzzer)

Tarjeta Entrenadora PICAXE 18

A lo largo de estas líneas iremos describiendo todo lo que corresponde a una nueva tarjeta entrenadora, que en esta oportunidad alojará al microcontrolador PICAXE–18, por lo que como primer paso recordaremos cuál es el diagrama del circuito básico de conexión de este PICAXE, para de ahí llegar al diagrama esquemático de la nueva tarjeta entrenadora. En la figura 52, se muestra el circuito básico del cual se tiene que tomar en cuenta el número total de entradas y salidas que podemos manipular para aprovecharlas al máximo. Para el PICAXE–18 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 (PICAXE–18 ó 18A ó 18X), se pueden co- Figura 51 locar hasta tres entradas como entradas analógicas. La tarjeta entrenadora que se propone en esta oportunidad tiene la posibilidad de explotar al máximo todas las propiedades de un PICAXE–18. En la figura 53 se muestra el circuito esquemático de la tarjeta entrenadora completa.

Figura 52 - Circuito básico de un PICAXE-18.

CLUB SABER ELECTRONICA 51

ra general, pueden clasificarse como discretos o analógicos, entendiéndose como discretos todas aquellas señales que trabajan mediante la lógica binaria, “0” lógico y “1” lógico, mientras que las señales analógicas, son aquellas, como la temperatura, que están variando con el tiempo y puede adquirir un número infinito de valores dentro de un intervalo bien establecido. Para esta tarjeta controladora no se necesita configurar alguna forma especial de trabajo sobre su circuitería, 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 módulos de apoyo para construir, implementar y/o simular alguna aplicación. El primer módulo de apoyo que describireFigura 53 - Diagrama esquemático de la tarjeta entrenadora PICAXE–18. mos es el relacionado con la actividad de representar alguna acción del microcontrolador, A continuación describiremos cada bloque de esta tarjeta esto es, el poder señalar por medio de un indicador luminoso entrenadora para que se le pueda sacar el máximo provecho. alguna respuesta. Para ello se cuenta con 2 circuitos basados Como primer paso será identificada la ubicación de dónde en leds que se encuentran en el área de experimentos de la prose encuentra el microcontrolador PICAXE–18, 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 distribución de las terminales. hacerse es conectar, mediante un pequeño 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” lógico, se encenderá el led ta para controlar algún 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 naturale“0” lógico, el led se apagará. za para, en función de ella, conectar en la salida un optoacoEl segundo módulo 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 móasí como encender una lámpara incandescente o un simple diodulos pueden simular la activación o desactivación de determido led. nados sensores o botones que se requieren en algún 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 (PICAXE–18 ó 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 lógica, esto es, tienen un convertidor analógico – 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 algún estado lógico y que refleevaluar si la secuencia con que se tienen que activar los sensojen fielmente el estado de la actividad que están leyendo los res es la correcta o no, para poder estar seguros de que nuessensores bajo algún proceso. Estos datos de entrada, de manetro programa operará completamente sobre nuestra aplicación.

52 CLUB SABER ELECTRONICA

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 extensiométrica (resistencia variable con la deformación), etc. En el módulo de señales analógicas, a través del conector identificado como “SENSOR”, se puede conectar un determinado sensor que, en combinación con el resistor R8, se genera el voltaje cuyo valor responderá de acuerdo a la variable física 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 función de esto, se modifique el valor de voltaje que es lo que lee el PICAXE en las entradas analógicas. Las terminales Figura 55 - Disposición de los compodonde se refleja el esnentes sobre la tarjeta entrenadora. tado del módulo que

El tercer módulo de apoyo es el que genera señales analógicas para que puedan emplearse con aquel PICAXE que internamente posee un convertidor analógico – digital. Este módulo puede realizar el trabajo de simulación, por ejemplo, de un sensor de temperatura, de un sensor de presión, 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 analógica del microcontrola-

Figura 54 - Circuito Impreso de la tarjeta entrenadora.

Figura 56 - Conector mini Jack de audio.

Figura 58 - Cable de programación.

Figura 57 - Identificación de terminales en los conectores mini jack y DB9.

Figura 59 - Adaptador para programación.

CLUB SABER ELECTRONICA 53

genera las señales analógicas se identifican como AN1 y AN2. El espacio identificado como PROGRA se encuentra ocupado por un conector de audio estéreo tipo mini Jack, el cual puede tener cualquiera forma, tal como se ilustra en la figura 56. El conector de audio estéreo tan sólo tiene 3 terminales que serán utilizadas para comunicar al microcontrolador con una PC a través del puerto serie. En la figura 57 se muestra el diagrama de cómo 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 realizarán las siguientes actividades: • La línea identificada con el número 1 en el conector de audio sirve para verificar que el microcontrolador PICAXE se encuentra conectado al puerto serie de la PC. • La línea identificada con el número 2 en el conector de audio sirve para programar al microcontrolador PICAXE. • La línea identificada con el número 3 en el conector de audio es la referencia GND ó también conocida como tierra eléctrica. En la figura 58 se muestra la imagen de un cable de programación. De lo contrario puede emplearse un adaptador (figura 59) que realiza la misma función 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 código LM7805, y cuyo cometido es el de proporcionar un voltaje constante de 5V para alimentar al microcontrolador PICAXE y los módulos auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilización 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

CONTROLADORA

PICAXE–18

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 conexión, broche para pila de 9V y circuito impreso.

54 CLUB SABER ELECTRONICA

Aprendiendo a Utilizar el ADC en la Tarjeta Entrenadora del Picaxe-18 Con el PICAXE–08 se tiene la posibilidad de utilizar el convertidor analógico a digital (ADC), la forma de utilizarlo bajo el sistema PICAXE es lo mismo para cualquiera de las versiones de microcontroladores, ya sea PICAXE–08, PICAXE–18 ó PICAXE–28. 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 analógicas, ya que tienen un comportamiento como el ilustrado en la figura 60. Dependiendo de la variable física que se tenga que medir (para, con su información, controlar determinado proceso), es el sensor que emplearemos. Existen sensores para medir la temperatura, humedad, intensidad luminosa, presión ejercida a una superficie, aceleración, deformación de materiales. Estas variables físicas son las más comunes de medir ya que existen sensores comerciales muy económicos para estas variables. El aspecto común de todos los sensores, no importando a qué variable física responden, es que convierten la variable física a una señal eléctrica cuyo valor correspondiente de forma directa a la variable. Para el caso particular de la tarjeta entrenadora del PICAXE–18, se requieren sensores que cuenten, preferentemente, con una variación de resistencia al cambiar el valor de la variable física, ya que sobre la tarjeta entrenadora se tiene implementado un circuito resistivo que, en combinación 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 esquemático de la tarjeta entrenadora PICAXE–18, de la cual nos interesan, en esta ocasión, 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 variación resistiva a los cambios que presente la variable física. El sensor que utilicemos estará conectándose 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 física se tendrá una repercusión sobre el sensor, ya que éste cambiará su valor resistivo. Al modificarse el valor de resistencia del sensor, se tendrá una mayor o menor circulación 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 fórmula matemática es: I = V/R).

Si cambia el valor de la corriente en el circuito serie y nuevamente aplicamos la ley de Ohm, entonces se tendrán variaciones de voltaje, ya que la información del valor de voltaje la estaremos obteniendo de la conexión del sensor con R8. El borne, identificado como AN2, es más 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 través de su terminal del medio de donde se obtiene el valor de voltaje que se dirigirá posteriorFigura 60 - Diferentes tipos de señales analógicas 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 analógico 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, prácticamente, es una resistores y quitándole al otro. El propósito de utilizar este cirresistencia variable que está constituida por un material fotosencuito es únicamente para cuestiones didácticas, ya que estaresible; por lo tanto, la intensidad luminosa provocará que dismimos simulando la operación de un sensor aún 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 máxima resistencia, y deprograma ya colocado en el PICAXE. La información 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 variación de un potenciómetro (para el caso de AN2) se tiene que conectar a la entrada analógica del PICAXE. Para ello, dependiendo del tipo de microcontrolador PICAXE (PICAXE–18 ó 18A ó 18X), se puede disponer de hasta tres entradas del tipo analógicas. Los bornes de las entradas analógicas al PICAXE están identificados como E0, E1 y E2, por lo que para hacer llegar la información de los bornes AN1 ó AN2 a E0 ó E1 ó E2, será mediante pequeños cablecillos de conexión, tal como se muestra en la figura 62. Para ilustrar de mejor manera la utilización del ADC del PICAXE vamos a recurrir al empleo de un ejemplo práctico. Este ejemplo consistirá en encender o apagar una lámpara de alterna del mismo tipo que utilizamos para iluminar nuestra casa. El circuito al que estamos haciendo referencia es el de un control automático de luces. Este control automático detectará, a través del LDR, cuándo 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 esquemático de la tarjeta entrenadora PICAXE–18. detectada a través del LDR (figura 63). La en-

CLUB SABER ELECTRONICA 55

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” lógico si la intensidad luminosa detectada es suficiente como para que se apague la lámpara; por otra parte, si la intensidad luminosa es muy baja o se tiene oscuridad total, en la salida S0 se tendrá un “1” lógico, provocando que se encienda la lámpara correspondiente. Esta información se hace llegar al transistor Q1, que a su vez, dependiendo de la información que tenga en su base, energizará o no la bobina del relevador RL1, siendo los contactos de este relevador quienes manejen la tensión alterna de línea y serán ellos quienes enciendan o apaguen, finalmente, la lámpara. Una vez explicaFigura 64 - Icono del programa da la parte que corresponde a la electróFigura 65 - Ventana de Opciones. “PICAXE Programming Editor” nica de la tarjeta entrenadora, así como los dispositivos y circuitos que se le agregarán para su funcionamiento, ahora procederemos a explicar cómo se elabora el programa con el cual controlaremos el encendido o apagado de una lámpara de corriente alterna, así que prosigaFigura 66 - Barra de comandos con el menú “Other”. mos adelante.

apagado o encendido de la lámpara 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 lámpara no la suministre directamente el PICAXE, por lo que se emplea una interfaz implementada a base de un transistor identificado como Q1, además de utilizar también un relevador que se en-

Figura 62 - Conexiones sobre la tarjeta entrenadora PICAXE-18.

56 CLUB SABER ELECTRONICA

Figura 63 - Imagen de un LDR.

co que está leyendo Lo primero que tenemos que hacer es abrir nuestro prograel PICAXE. ma llamado “PICAXE Programming Editor” (figura 64) y que El paso siguienpreviamente tuvimos que instalar, y si aún no se tiene, lo puete es verificar qué den descargar de nuestra página de internet www.webelectrovalor tiene la varianica.com.ar con la clave “picaxe”, o en su defecto también lo ble b0 (Fig. 69) papueden adquirir en la página www.picaxe.uk.co. ra que cuando se Una vez dentro del programa editor de los PICAXE, se compare este valor abrirá una ventana en donde se muestran las distintas opciones se sepa si existe lumipara utilizar los PICAXE, y en esta ocasión, tenemos que elegir nosidad u oscuridad alguno de los PICAXE–18; todo depende de cuál de ellos sea en el medio ambiencon el que contemos. te. En este caso, teComenzaremos programando con diagramas de flujo para nemos que seleccioaprender a utilizar los distintos comandos, y posteriormente los nar el menú “if” para convertiremos en código Basic. Así es que tenemos que selecubicar los comandos cionar el comando que abre la plantilla de trabajo con diagrade verificación de mas de flujo. Observe la figura 65. valores; posteriorYa en el ambiente de programación con diagramas de flumente, seleccionarejo, lo primero que tenemos que seleccionar en la barra de comos el comando que mandos es el que está identificado con la palabra “other” (fig. está identificado co66) ya que ahí es en donde se encuentra la herramienta para mo “var”, ya que es utilizar el comando de lectura del convertidor ADC del PICAXE. con éste con el que El comando del ADC está identificado como “readadc” y compararemos los lo único que tenemos que hacer es seleccionarlo para poderlo valores de las variacolocar en el área de trabajo, y con el comando de selección bles con las que que está identificado con una flecha, le indicaremos en qué encuenta el microcontrada estará ubicada la de valores analógicos. Normalmente, trolador PICAXE. cuando seleccionamos el comando “readadc”, por defecto se selecciona la entrada E0, pero recordemos que podemos seleccionar cualquiera de las entradas E0 ó E1 ó E2 ó las tres al mismo tiempo, ya que sólo tenemos que conectarles el corresFigura 69 Copondiente circuito con el sensor analógico. Remando que comcuerden también que dependiendo del tipo de para el valor de PICAXE–18 (PICAXE – 18 ó 18A ó 18X) serán la variable b0. las entradas analógicas 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 acción la llevamos a cabo para optimizar espacio en el diagrama de flujo, y ahorrarnos la utilización de la herramienta “wire”. El comando “readadc” tiene la tarea de leer el valor de la variable analógica 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 después de la palabra readadc indica qué terminal de entrada es la que se está utilizando con el ADC, y después se encuentra la variable b0, que es donde se aloja el valor analógi-

Figura 67 - Comando “readadc”.

Figura 68 - Colocación del comando “readadc”.

Figura 70 Diagrama de flujo completo.

Figura 71 - Programa completo y ventanas del simulador.

CLUB SABER ELECTRONICA 57

Figura 72 - Programa en código Basic.

Figura 73 - Identificación de terminales en los conectores mini jack y DB9.

Figura 74 Cable de programación.

Para configurar el comando “var”, tenemos que seleccionar en qué variable se está guardando el dato que será digitalizado, y que en esta ocasión se trata de la variable b0. Ahora seleccionaremos el operando “mayor que” para indicarle al PICAXE que para todos los valores analógicos mayores que determinado valor nos debe reportar una salida verdadera y entonces el flujo lógico se dirigirá a través de la salida identificada como Y. El valor que fijaremos es el de 125, que prácticamente representa la mitad del rango total que puede ser digitalizado y cuyo valor máximo 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 información por la salida N del bloque “var”, mandará apagar la lámpara. Cuando se tienen valores mayores a 125, indicará que la luminosidad es muy baja, por lo que mandará encender la lámpara. A la salida identificada como N se le conectará el bloque “low”, cuya función será la de apagar la salida S0 que es en donde se encuentra conectado el circuito externo que controla la lámpara, mientras que a través 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 lámpara. El diagrama de flujo completo se muestra en la figura 70. En la figura 71 se observa la simulación 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 analógica, observaremos cómo 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 lógicas que esperamos, entonces estamos en posibilidad de convertir el código 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 cómo podemos armar nuestro cable de programación o, en su defecto, utilizar un cable serie común 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 código LM7805, y cuyo cometido es la de proporcionar un voltaje constante de 5V para alimentar al microcontrolador PICA-

Figura 75 - Adaptador para programación.

58 CLUB SABER ELECTRONICA

XE y los módulos auxiliares que tiene incorporados la tarjeta programadora. Por medio de la utilización del regulador de voltaje, es posible emplear para energizar a nuestra tarjeta de entrenamiento una pila de 9V. LISTA DE COMPONENTES PARA ARMAR LA PICAXE–18.

TARJETA CONTROLADORA

Tarjeta entrenadora PICAXE–18. D1 -Diodo 1N4001 Rext1 -1 kΩ 1/8 Watt RL1 -Relevador 5V Q1 - BC548 LDR Varios: Cable de programación o Cable serie y adaptador, cables de conexión, batería de 9V.

Control de Temperatura con la Tarjeta Entrenadora del Picaxe-18 La temperatura es uno de los parámetros que más se controla, ya que desde una simple casa, hasta algún 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 esquemático de la tarjeta entrenadora PICAXE-18, con el sensor LM35 integrado a ella. Comercialmente existen medidores de temperatura cuya función es sólo, mostrar el valor de temperatura, y por otra parte también están presentes los controles de algún proceso que actúan en función del valor de la temperatura. Estos últimos controles basan su forma de operar en un convertidor analógico - digital, si es que el control es electrónico y digitalizado, y más que mostrar el valor de temperatura, su utilidad principal

Figura 76

CLUB SABER ELECTRONICA 59

Figura 77

radica en el hecho de realizar tareas como la de controlar de manera autónoma la temperatura de una caldera, de una habitación, 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 físicas más fáciles y económicas de controlar. En casi cualquier negocio de productos electrónicos encontraremos, por ejemplo, un simple circuito integrado identificado como LM35, que es un sensor electrónico de temperatura. En esta oportunidad vamos a implementar un algoritmo paFigura 78

60 CLUB SABER ELECTRONICA

ra diseñar un control automático de temperatura basándonos 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 más 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 centígrados (°C). Otro tipo de sensor que se puede emplear para leer la temperatura, sería un termistor que, a diferencia del LM35, basa su operación en cambios de valores de resistencia de acuerdo a la variación de tem-

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 utilización 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 había sido colocado, para colocar el sensor LM35 en su lugar, respetando la ubicación de las terminales del voltaje de alimentación (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 pequeño cablecillo a cualquiera de las entradas E0 ó E1 ó E2 que tiene el microcontrolador PICAXE. Por otra parte, si se emplea un termistor, sólo 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 información a cualquiera de las tres entradas que posee el convertidor analógico digital del microcontrolador PICAXE. En esta ocasión y para este proyecto, utilizaremos el sensor LM35 para medir la temperatura, y con esta variable física estaremos en posibilidad de controlar la temperatura de un recinto cerrado, como ser una habitación ó el interior de un vehículo. Ya vimos en la figura 77 el diagrama del circuito que será adecuado para complementar la operación de la tarjeta entre-

nadora del PICAXE - 18, como circuitería complementaria a la tarjeta entrenadora, se observa la conexión del sensor de temperatura, que en esta ocasión se trata del circuito integrado LM35. Por otra parte, también se observa el circuito externo que activa el ventilador, el cual se encuentra implementado a través 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 operación va de 0V a 1.5V, que equivale a 0°C y 150 °C, respectivamente, y a cada cambio de 1 °C, el valor de voltaje cambia en 10mV. Por lo tanto, es muy fácil 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 protección 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 configuración 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 también 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 propósito 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 podría sobrecalentarse demasiado, hasta tal punto que puede llegar a bloquearse y

toda la circuitería comenzará a trabajar de una forma muy deficiente y podría, 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 información al terminal de entrada E0 que configuraremos como entrada para el convertidor analógico - digital del microcontrolador PICAXE. Para controlar el encendido o apagado del ventilador, utilizaremos el terminal S0 de la tarjeta entrenadora, que también corresponde a un terminal de salida del PICAXE. En la figura 79 se ve la simulación del programa. Para comenzar a programar al microcontrolador PICAXE, primero describiremos qué es lo que pretendemos en cuanto a la forma de operación de esta aplicación, 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 analógico - digital del microcontrolador PICAXE. Este último, de acuerdo con el programa (es lo que vamos a realizar a continuación), 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” lógico se apagará la salida S0; por lo tanto, la bobina del relevador se desenergizará, mientras que un “1” lógico 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 realización del programa. En desarrollos anteriores hemos comenzado esta parte de la aplicación con las siguientes palabras, “lo primero que tenemos que hacer es abrir nuestro programa llamado “PICAXE Programming Editor”. Por lo tanto, nuevamente hacemos la indicación de que pueden descargar el software de nuestra página de internet si es que aún no lo tienen, la página es www.webelectronica.com.ar y empleen la clave “picaxe”, en su defecto, también lo pueden adquirir en la página www.picaxe.uk.co.

Figura 79

CLUB SABER ELECTRONICA 61

Recuerden que al ingresar en el programa lo primero que se abrirá será una ventana, de la cual, en la pestaña opciones, seleccionarán el PICAXE que será utilizado para el proyecto, se puede emplear cualquier microcontrolador PICAXE, ya que la estructura del programa es válido 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 posición y cantidad de acuerdo al PICAXE que se vaya a utilizar. Cuando empleamos un convertidor analógico - digital (ADC), lo primero que tenemos que hacer es calcular su resolución y para ellos nos basamos en la fórmula Nº1. Resolución =

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 expresión anterior queda como sigue: 5 5 Resolución = --------------------- = ----------------------- = 28 - 1 256 - 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é número binario será el resultante una vez que es ingresado al ADC del PICAXE. Para ello, emplearemos el valor de la resolución y el del valor analógico (Va) que tendremos que digitalizar. Por lo tanto, Va = 250mV, y para calcular la combinación binaria tenemos la siguiente expresión matemática: Comb. binaria = Valor Analógico (Va) -------------------------------------––– Resolución

62 CLUB SABER ELECTRONICA

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 comparación 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 después de tomar un dato, digitalizarlo y almacenarlo de manera temporal en la variable b0, se realiza una comparación del valor guardado en b0 con el valor de referencia que es 13, siendo el operador empleado en esta comparación 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 sólo se trata de leer un dato analógico y guardarlo en una localidad de memoria RAM. El comando para realizar la lectura del dato analógico es el que está identificado como “readadc” y se encuentra en el bloque identificado como “other” en la página principal del programa “Programming Editor”. Para configurar este comando se le tiene que asignar en cuál de las entradas que posee el microcontrolador PICAXE se estará empleando el ADC, además de indicarle en cuál variable (localidad de memoria RAM) se alojará el dato digitalizado. Posteriormente, para comparar el dato que se obtiene después de la digitalización 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 comparación es un rombo y se encuentran en la página 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 acción mediante la activación del ventilador. En la figura 79 se muestra la simulación del ADC, observándose 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 código Basic. Una vez que el diagrama de flujo ya se encuentra operando completamente, el paso siguiente será el de convertir el código 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 cómo podemos armar el cable de programación con la identificación de terminales en los conectores mini jack y DB9. Aún nos falta desarrollar una gran cantidad de ejercicios, razón por la cual los invitamos a que sigan esta serie de ejemplos de utilización y consejos de programación.

LISTA

Figura 80

DE COMPONENTES PARA ARMAR LA

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 programación, ó Cable serie y adaptador, cables de conexión, batería de 9V.

Programa para Desplegar Números BCD con la Tarjeta Entrenadora del Picaxe-18 En muchas ocasiones y para la mayoría de las aplicaciones que desarrollamos sobre un microcontrolador, tenemos que mostrar algún 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 información sobre las salidas que se tienen Figura 81 reservadas en un microcontrolador PICAXE. Si nos ponemos a contabilizar todo el conjunto de información que tiene que salir por el puerto correspondiente de algún microcontrolador para manipular un display, necesitaríamos de una gran cantidad de líneas que se reserven para ese uso exclusivo. De hecho, no alcanzarían todas las líneas que tuviera disponible el microcontrolador, razón por la cual tenemos que emplear una técnica que nos ayude a solucionar este problema. En este ejemplo haremos uso de displays de 7 segmentos, para así aprender a enviarles la información a éstos. La técnica que emplearemos es la de multiplexación de la información, 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 cátodo común. El circuito de los displays recibe el nombre de “Display de 3 dígitos” cuya publicación complementaria se realizó en la revista Saber Electrónica Nº 220 Edición Argentina. El principio de operación es muy básico: se le hacen llegar 4 bits que son los que generan el código BCD, además de 3 bits que son los que indican qué número 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 dígitos” la combinación “1000” (8) y después el bit que enciende el display de la unidades, después 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 impresión de que siempre están encendidos los displays.

CLUB SABER ELECTRONICA 63

Lo que se pretende con estas instrucciones es adquirir el conocimiento de cómo se tiene que generar la información 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 descripción anterior, que se hizo de la manera cómo funciona el circuito auxiliar denominado “Display de 3 dígitos”, se tiene lo siguiente: De alguna manera, ya debemos contar con datos, que tuvieron que ser adquiridos previamente por algún proceso por el microcontrolador PICAXE (por ejemplo la lectura a través del convertidor ADC descrito anteriormente en esta serie). Una vez procesados estos datos, de acuerdo con nuestra aplicación, puede ser muy importante desplegar un dato numérico, porque a lo mejor estamos diseñando un voltímetro digital, por ejemplo. En la figura 82 vemos la tarjeta entrenadora PICAXE-18 y la tarjeta del Display de 3 dígitos. Se muestra la manera de conectar el circuito auxiliar “Display de 3 dígitos” a la tarjeta entrenadora, por lo que ahí se observan las líneas de conexión 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 sólo una sugerencia de cómo 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 mención de la conexión de la energía al display de 3 dígitos, pero ésta se puede tomar de los terminales disponibles sobre la tarjeta entrenadora que tienen la identificación de +5V, y hacer llegar este voltaje al borne identificado como +Bat. Una vez descrita la disposición de la circuitería, procedemos a explicar el desarrollo del programa del microcontrolador PICAXE. Para esta explicación, como ya se había establecido en líneas ante-

riores, la información 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 través del display. Supongamos que se requiere desplegar la información “246” a través 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 utilización. El dato a ser desplegado lo debemos seccionar en tres partes, para su mejor manejo; por ello, se tiene que el número cuenta con las siguientes partes: unidades, decenas y centenas, por ser 3 las cifras que componen al número total. En esta ocasión 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 cómo 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 aplicación, y nuevamente recordamos que esta parte del programa es para uso específico de esta aplicación. En la figura 83 vemos los bloques de asignación de valores a los registros b0, b1 y b2. El comando “let” permite la asignación de valores a variables. Esta asignación se puede dar de una forma directa como está expresado en esta aplicación, o también se puede efectuar la asignación del resultado de una operación aritmética (+, -, *, /) ó por el resultado de una operación lógica (and, or, negación, etc.). En este ejercicio se está empleando el comando de asignación 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

64 CLUB SABER ELECTRONICA

Se mencionó en líneas anteriores que en esta aplicación solamente se desplegará la información que se encuentre contenida en los registros b0, b1 y b2. Para un programa de un proceso completo, de alguna manera estos registros tendrán 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 acción de enviar cada una de las cifras del número completo a los displays y que en esta ocasión se trata del valor “246”, por lo que comenzamos con el armado de la información que será enviada al puerto de salida del microcontrolador PICAXE. La primera cifra que sufrirá la manipulación es la correspondiente a la de las unidades, razón por la cual, en primera instancia, emplearemos un nuevo registro, el “b3”. Ahí alojaremos un dato de manera directa a través del comando de asignación “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 Número BCD Número la combinación bina(S3,S2,S1,S0) Decimal ria 0010000(2), que es precisamente la que 0000 0 controla el encendido 0001 1 del display de la uni0010 2 dades. Posteriormente, 0011 3 para enviar la información completa al puer0100 4 to de salida del PICA0101 5 XE, se hace uso nueva0110 6 mente del comando de 0111 7 asignación “let”, pero en esta ocasión el re1000 8 sultado de esta asigna-

Figura 86

Figura 83

Figura 84

Figura 85

Antes de continuar con la explicación del desarrollo del programa, regresemos por un instante al circuito de la figura 82 para saber de qué manera están organizados los datos que salen por el puerto de salida del microcontrolador PICAXE, ya que así será más sencillo seguir el desarrollo del programa. En la figura 82 también 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 español Código Binario Decimal) de acuerdo con la tabla 2. De ésta, que contiene los números BCD y su equivalente decimal, podemos obtener el peso específico de cada uno de los bits que generan el valor numérico BCD, siendo S0 el bit menos significativo (bms), mientras que S3 representa el bit más significativo (BMS). Esta información BCD se hace llegar a los 3 displays al mismo tiempo, razón por la cual se tiene que indicar cuál de estos displays estará activo de acuerdo con la cifra que se quiere desplegar, ya que de otra 1001 9 manera los 3 se encenderán con la misma información. La solución a lo anteriormente Tabla 3 - Activación y desactivación 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 formación que se encuentra en la tabla 3. Una vez que hemos visualizado la manera en cómo se encuentra ordenada la in- Tabla 4 - Resultado de la operación lógica OR entre los registros b0 y b3. formación 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 envían los datos b3 0 0 0 1 0 0 0 0 al circuito del display de 3 dígitos. pins 0 0 0 1 0 1 1 0

CLUB SABER ELECTRONICA 65

b3, además 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 envío de la información 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 numérico que se quiere desplegar es el “246”. Por tanto, continúa el turno del valor 4. Para ello, a través del registro temporal b3, almacenaremos la información correspondiente al encendido del display de las decenas. En este registro alojaremos nuevamente un dato de manera directa, utilizando el comando de asignación “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 combinación 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 información que será enviada al puerto de salida del microcontrolador PICAXE, hacemos uso, una vez más, del comando de asignación “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 información: 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 lógico conocido como OR (O en español), cuyo símbolo ya lo habíamos expresado y es “|”. El resultado de la operación lógica 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 sólo el control del disFigura 87 - Diagrama de flujo completo. play de las centenas. A continuación lo explicamos. Por último, corresponde controlar la Tabla 5 - Resultado de la operación lógica OR entre los registros b1 y b3. tercera cifra significativa que es la centeS7 S6 S5 S4 S3 S2 S1 S0 na. El valor numérico 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 información 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 operación lógica OR entre los registros b2 y b3. de asignación “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 combinación 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.

ción la enfocaremos directamente a los terminales de salida, por lo que se selecciona, después 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 lógico conocido como OR, cuyo símbolo es “|”. El resultado de la operación lógica se da de la manera como se ilustra en la tabla 4. En la figura 84 se muestra el bloque que genera la operación lógica OR y cómo el resultado es enviado a los terminales de salida del microcontrolador PICAXE. De esta forma, aunque el valor numérico 6 está llegando al mismo tiempo a los 3 displays, sólo se encenderá el que tiene la cifra significativa de las unidades, mientras que los otros 2 displays (decenas y centenas) permanecerán apagados. En la figura 84 vemos los bloques de asignación de valores al registro b3 y terminales de salida del PICAXE. En la figura 85 vemos los bloques de asignación a los registros b0, b1, b2 y

66 CLUB SABER ELECTRONICA

Figura 88

Como ya se ha explicado detalladamente la forma de cómo se arma el dato que será enviado al puerto de salida del PICAXE, procederemos a controlar el display de las centenas de una manera más 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 lógico OR. El resultado de la operación lógica 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 número completo de 3 cifras. Con lo expuesto anteriormente, ya estamos en posibilidad de diseñar una aplicación en la que esté involucrado un teclado y un display para desplegar los datos que se van generando. También ya hemos revisado cómo trabaja el convertidor analógico a digital (ADC). Sólo nos falta procesar la información para mostrarla en los displays, para que de esta manera diseñemos, por ejemplo, un voltímetro digital, proyecto que en breve publicaremos. Recuerden que necesitamos del programa llamado “PICAXE Programming Editor”, por lo que nuevamente hacemos la invitación de que lo descarguen de nuestra página de internet, que es www.webelectronica.com.ar y empleen la clave “picaxe”; en su defecto, también lo pueden adquirir en la página 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 - Identificación de terminales en los conectores mini jack y DB9. hemos publicado en reiteradas ocasiones, nuevamente mostramos la manera de armar el cable de programación, o en su defecto, utilizar un cable serie común 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 sinnúmero de proyectos, los cuales iremos abordando poco a poco. LISTA

DE COMPONENTES PARA UTILIZAR

LA TARJETA CONTROLADORA

PICAXE-18.

Tarjeta entrenadora PICAXE-18. Módulo Display de 3 dígitos Varios: Cable de programación, ó cable serie y adaptador, cables de conexión, batería de 9V.

CLUB SABER ELECTRONICA 67

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 ocasión emplearemos la tarjeta entrenadora del microcontrolador PICAXE-18, ya que a su vez utilizaremos un teExisten diversas maneras de diseñar una cerradura electróclado matricial de 4 X 4, y el PICAXE-08 no tiene el suficiente nica, pero la constante que es común en todas es que deben número de terminales de entrada y salida. asegurarnos la seguridad de ya sea un cuarto cerrado, una bóEl aspecto más importante que debemos tomar en cuenta y veda, una zona ó un área completa; por lo tanto la cerradura que emplearemos en este proyecto es principalmente la de leer se puede colocar desde una casa habitación, hasta un banco, el teclado matricial, ya que es por medio de este que ingresaun negocio, empresa o un centro comercial (figura 90). remos uno a uno los caracteres que conforman la clave de acLos elementos importantes de toda cerradura electrónica ceso de la alarma. son el teclado, que es por donde se le ingresa la clave para poEl teclado será como el que se muestra en el diagrama esquemático de la figura 91. De hecho, por obvias razones es lo único que será visible de la cerradura electrónica, ya que lo demás, 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 electrónica 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, además de los dispositivos Figura 90 - Puerta protegida por una cerradura electrónica electrónicos complementarios. La forma de operar de la cerradura electrónica 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 serán 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 eléctrica de la información 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 electrónica, será necesario enviar una señal 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 esquemático 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 CERRADURA ELECTRÓNICA EMPLEANDO LA TARJETA ENTRENADORA PICAXE-18

68 CLUB SABER ELECTRONICA

Figura 92 - Conexión de la cerradura electrónica 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 configuración 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 función 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 energía se tiene que hacer llegar ésta al contacto del relevador. Después de explicar cuál es el circuito que será empleado para nuestra cerradura electrónica, ahora procederemos a desarrollar el programa para que el microcontrolador PICAXE-18 realice la función de la cerradura. Para comenzar con el programa en primera instancia explicaremos cuál 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” lógico a la vez, mientras las 3 restantes se fijan con un “0” lógico. Esos “1's” lógicos 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” lógico a través de la salida S0, posteriormente tenemos que enviar un “1” lógico 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 definición de sus teclas para la cerradura electrónica la salida S3. Lo que es importante tomar en cuenta es que si en una salida se tiene un “1” lógico, las 3 terminales restantes se fijarán con un “0” lógico. El “1” lógico tiene que ser enviado sólo uno a la vez, para que de esa manera se sepa que fila es la que se está activando. Una vez que el “1” lógico se encuentra en el teclado matricial, ahora sólo 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” lógico que previamente se envió a través de una salida del PICAXE (S0, S1, S2 ó S3). Recordemos que las terminales de entrada que se utilizarán 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 envía un “1” lógico a la vez a la fila correspondiente, porque ese “1” lógico se reflejara en una columna que es en donde se oprime el botón del teclado matricial. Si fueran enviados mas de “1” lógico a la vez, no se tendría control de que botón fue el que se oprimió. En la figura 93 se muestra el teclado matricial y la identificación de sus teclas, para poder ingresar los datos que se requieren y se pueda validar alguna clave de acceso. En esta ocasión del teclado matricial de 4X4 solo serán empleadas 3 de sus 4 columnas, pero eso no quiere decir que no se pueden utilizar todas sus teclas, ya que aparte de los números se pueden implementar las funciones de “borrar”, “validar”, etc. En la tabla 7 se muestra cuál es la combinación de fila y columna que se presenta cuando una tecla es oprimida.

CLUB SABER ELECTRONICA 69

Tabla 7 - Combinación de filas y columnas C0 = E0 FO=S0 1 F1=S1 4 F2=S2 7 F3=S3 *

C1 = E1 2 5 8 0

C1 = E1 3 6 9 #

C3 = E6 NI NI NI NI

NI - No Implementado. A continuación vamos a explicar el programa con el que se hace trabajar al microcontrolador PICAXE, teniendo el programa la misma base de operación que la propuesta para controlar al teclado matricial.

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, esta ya se estabilizo y por lo tanto ahora se puede saber que tecla fue la que se acciono, porque como ya se explico en la parte de la electrónica del circuito de la cerradura electrónica, una vez que se activa una fila del teclado matricial, es a través de la columna que sabemos que tecla se oprimió. Es por ello que se pregunta por cual terminal de entrada se recibe un “1” lógico (si es que se oprimió una tecla). Recordemos que pueden ser posibilidades las que nos reporten la posible identificación 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 explico en líneas 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 través del comando “let pins=1” se envía un “1” lógico 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

70 CLUB SABER ELECTRONICA

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 través de un contador se lleva el control de la posición del digito que integra la clave de la cerradura electrónica. En este ejemplo se tiene una clave de 4 dígitos, por lo tanto dependiendo del digito que se este buscando, será el valor de la variable b13, y por lo tanto llegara hasta máximo un valor de 4. Básicamente cuando se pasa a la activación 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, haciéndose esta operación por medio del comando “let pins=2”. De igual manera para evitar los rebotes mecánicos 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” lógico a través de la terminal de entrada, solo que en esta ocasión 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 identificación de las teclas “1”, “2” y “3” que corresponden con las columnas 0, 1 y 2, y que a su vez se recibe la información a través de las entradas 0, 1 ó 2. Es por ello que si una condición es valida en los comandos “if” del fragmento del diagrama de flujo de la figura 94, dependiendo cuál 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 dígitos, se guardara el valor de la tecla en la posición 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 darán como resultado una acción 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 que digito de la clave se esta

Figura 97 - Fragmento del diagrama de flujo que activa la fila 3 del teclado matricial.

CLUB SABER ELECTRONICA 71

ó E2. Si fue presionada una tecla de la fila 1, se procederá a guardarla en el registro correspondiente dependiendo de la posición del dígito 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 operación 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 numérico, podemos relacionar cualquier acción 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 digito, y así sucesivamente hasta completar los 4 dígitos. 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 después de guardar el valor del cuarto digito (recordemos que la clave propuesta es de 4 dígitos), entonces el paso siguiente es el de corroborar que la clave es valida, por lo tanto se compara digito por digito 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 dígitos de la clave y nuevamente nos vamos a recorrer la fila 0 del programa. En esta ocasión la clave preestablecida es la dada por la siguiente secuencia de dígitos”4321”. 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.

72 CLUB SABER ELECTRONICA

Figura 99 - Diagrama de flujo completo. let pins = 2 ' %00000010 pause 10 if pin0=1 then label_A3 if pin1=1 then label_9C if pin2=1 then label_95

preestablecida, entonces como paso siguiente se procede a recorrer el cerrojo de la puerta, haciéndose esta acción por medio de la salida 4 que es por medio de esta que se activa al solenoide. La salida 5 también es activada para que un indicador luminoso nos avise que la cerradura electrónica nos permite ingresar a una determinada zona. La activación del solenoide no será permanente, y es por ello que se dispone de un temporizador para que esta acción dure tal solo 3 segundos, tiempo suficiente para empujar o jalar la puerta que acaba de abrirse a través de la cerradura electrónica. Cuando se cumple el tiempo de 3 segundos, se desactivan las salidas 4 y 5, y también se limpian los registros de los dígitos de la clave de la cerradura electrónica En la figura 99 se muestra el diagrama de flujo completo del programa que controla la cerradura electrónica. A continuación se encuentra el código del programa del microcontrolador PICAXE en basic, que es la conversión del diagrama de flujo.

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:

label_230:

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

CLUB SABER ELECTRONICA 73

goto label_35 let b0= 2 goto label_43

label_1A2: label_1B9:

label_5B:

let b0= 1 goto label_43

label_1A9:

let b0= 0 goto label_1B9

label_95: label_101:

let b0= 6

label_1B0:

let b0= 254 goto label_1B9

label_1EB:

if pin1=0 then label_1F6 goto label_1EB

label_1F6:

if pin2=0 then label_1D2 goto label_1F6

label_54:

let b0= 255 goto label_B6

goto label_B6 label_9C:

let b0= 5 goto label_101

label_A3:

let b0= 4 goto label_101

label_E2:

let b4=b0 if b1= 1 then label_20F goto label_230

label_1D2: goto label_3C label_20F:

if b2= 2 then label_21A goto label_230

label_21A:

if b3= 3 then label_225 goto label_230

label_225:

if b4= 4 then label_25E goto label_230

label_25E:

label_E9: label_2E: label_1E0:

let b3=b0 let b13=b13+ 1 if pin0=0 then label_1EB goto label_1E0

label_F0:

let b2=b0 goto label_2E

label_F7:

let b1=b0 goto label_2E

label_146: label_15D:

let b0= 9

high 4 high 5 wait 3 low 4 low 5

goto label_B6

goto label_230

label_14D:

let b0= 8 goto label_15D

label_154:

let b0= 7 goto label_15D

74 CLUB SABER ELECTRONICA

Recuerden que a través de nuestra página de internet www.webelectronica.com.ar pueden descargar tanto el programa “Programming Editor” como los códigos tanto en diagrama de flujo como en basic del presente ejemplo, tan solo utilicen la clave “picaxe”. ************

marketplace 261.qxd

4/10/12

4:30 PM

Página 79

marketplace 261.qxd

4/10/12

4:30 PM

Página 78

4ª forros.qxd:Maquetación 1 15/01/14 12:45 Página 1

3ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF