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