JUEGO DE LUCES TIPO "AUTO FANTASTICO"
EMPLEANDO LA TARJETA ENTRENADORA

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".

DESARROLLO

En la figura 1 se muestra el diagrama esquemá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” que actualmente se encuentra en kioscos de diarios. Ud. puede bajar el artículo completo de la web con la clave dada más arriba.

Siguiendo con nuestro montaje, 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 2, 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 3. 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.

En entregas anteriores 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 programació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 4, una para cada una de las salidas, si no colocáramos estos comandos simplemente las salidas no se activaran. 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 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. Y 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 5 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 identificados 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, para 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 5, 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, ya 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 5 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 boques como las uniones entre éstos, procedemos a simular nuestro diagrama de flujo tal como se ilustra en la figura 6.

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

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” y en ese mismo instante se abre una ventana que nos indica el progreso de la programación del PICAXE, y una vez que éste termina de programarse nos muestra una ventana pequeña en donde nos comunica que se programó perfectamente, y 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.

En sucesivas entregas seguiremos desarrollando ejemplos de programación, en los cuales aplicaremos los bloques de los diagramas de flujo vistos hasta ahora, y la meta es llegar a realizar programas con mayor grado de complejidad, para lo cual se tiene contemplado mostrar proyectos con aplicaciones reales que estén pendientes, hasta la próxima.

 
Autor: Ismael Cervantes de Anda - icervantes@saberinternacional.com.mx
FIGURA 1
 
FIGURA 2
 
FIGURA 3
 
FIGURA 4
 
FIGURA 5
 
FIGURA 6
 
FIGURA 7
 
FIGURA 8
 
MATERIALES