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