Vous êtes sur la page 1sur 92

Editorial - Editorial - Editorial - Editorial

Proy ect os

con

microcontroladores
N 109
Director de la Coleccin Club Saber Electrnica
Ing. Horacio D. Vallejo
Jefe de Redaccin
Jos Mara Nieves
Club Saber Electrnica es una publicacin de
Saber Internacional SA de CV de Mxico y
Editorial Quark SRL de Argentina
Editor Responsable en Argentina y Mxico:
Ing. Horacio D. Vallejo
Administracin Mxico:
Patricia Rivero Rivero
Comercio Exterior Argentina:
Hilda Jara
Comercio Exterior Mxico:
Margarita Rivero Rivero
Responsable de Atencin al Lector:
Alejandro A. Vallejo
Coordinador Internacional
Jos Mara Nieves
Publicidad
Argentina: 4301-8804 - Mxico: 5839-5277
Areas de Apoyo
Victor Ramn Rivero Rivero
Ismael Cervantes de Anda
Fernando Ducach
Teresa Ducach
Fernando Flores
Paula Vidal
Ral Romero
Internet: www.webelectronica.com.ar
Web Manager: Pablo balos
Club Saber Electrnica. Fecha de publicacin: julio de 2005.
Pu bli ca cin men sual edi ta da y pu bli ca da por Edi to rial
Quark, He rre ra 761 (1295) Ca pi tal Fe de ral, Ar gen ti na
(005411-43018804), en conjunto con Saber Internacional SA
de CV, Av. Moctezuma N 2, Col. Sta. Agueda, Ecatepec de
Morelos, Mxico (005255-58395277), con Certificado de Licitud del ttulo (en trmite). Distribucin en Mxico: REI SA
de CV. Distribucin en Argentina: Capital: Carlos Cancellaro e Hijos SH, Gutenberg 3258 - Cap. 4301-4942 - Interior:
Distribuidora Bertrn S.A.C. Av. Vlez Srsfield 1950 - Cap.
Distribucin en Uruguay: Rodesol SA Ciudadela 1416
Montevideo, 901-1184 La Editorial no se responsabiliza por
el contenido de las notas firmadas. Todos los productos o
marcas que se mencionan son a los efectos de prestar un servicio al lector, y no entraan responsabilidad de nuestra parte. Est prohibida la reproduccin total o parcial del material
contenido en esta revista, as como la industrializacin y/o
comercializacin de los aparatos o ideas que aparecen en los
mencionados textos, bajo pena de sanciones legales, salvo
mediante autorizacin por escrito de la Editorial.
Revista Club Saber Electrnica, ISSN: 1668-6004

PicyPicaxe
Sin dudas, los microcontroladores son las verdaderas estrellas de la
electrnica actual, especialmente en lo que se refiere a equipos de consumo, electrnica educativa y proyectos.
En los ltimos aos, en Saber Electrnica explicamos el funcionamiento
de diferentes familias (Motorola, National, Microchip, etc) y diseamos proyectos con circuitos integrados fciles de conseguir en el mercado local y
no muy caros. Siguiendo esta lnea, prestamos especial atencin a los PICs
de Microchip, ya que son ciles de manejar, muy duros a la hora de su
manipulacin (tienen muchas protecciones) y la mayora de las herramientas son gratuitas. Tanta atencin prestamos a estos microcontroladores,
que publicamos hasta la fecha 5 libros de texto que hablan sobre ellos, haciendo hincapi en el PIC16F84 por ser el componente ms difundido en Internet.
Ahora bien, para trabajar con los PICs de Microchip, el lector debe poser un circuito cargador con su correspondiente software de gestin, debe
saber manejar un entorno de desarrollo que no se encuentra en espaol y
tiene que aprender a programar en assembler (lenguaje de instrucciones),
lo cual muchas veces puede resultar engorroso.
Hace aproximadamente 10 aos descubr un sistema microcontrolador
con todas las ventajas de Microchip y mucho ms, nos referimos a PICAXE,
un chip especial que facilita an ms la tarea del tcnico proyectista y armador. Los microcontroladores PICAXE son PICs comunes (hechos por Microchip) a los que se le ha grabado un pequeo programa interno, denomina do firm wa re (firm wa re o pro gra ma cin en fir me, es un blo que de
instrucciones de programa para propsitos especficos, grabado en una memoria tipo ROM, que establece la lgica de ms bajo nivel que controla los
circuitos electrnicos de un dispositivo de cualquier tipo) para que no precise de un circuito externo para ser grabado y para que el programa a grabar
pueda ser escrito en BASIC y hasta en diagrama de flujo. Y si todo esto
ya es un lujo, el utilitario que permite hacer todo esto, y que se conecta
entre la placa donde esta el PICAXE y la computadora con un cable muy
simple de 3 hilos, est en espaol y es gratuito.
Como ya es posible conseguir los PICAXE en las principlaes plazas de
Amrica Latina, decidimos editar esta obra, que contiene mucha informacin til, explica todos los pasos que debe saber para trabajar con PICAXE
y desarrolla una serie de proyectos completos para que monte equipos sumamente tiles y que de no ser por PICAXE, seran muy costosos.
Como puede observar, son muchas ventajas y muy pocas desventajas
(sinceramente no se me ocurre ninguna), por lo tanto Manos a la Obra!
Me despido comentndoles que el prximo nmero de la coleccin Club
Saber Electrnica estar dedicado al funcionamiento, mantenimiento y reparacin de los televisores de tima generacin, as que resrvela ya a su
canillita (voceador) amigo.
Hasta el mes prximo!
ISBN N: 987-1116-53-5

Ing. Horacio D. Vallejo

Pro
yec
toscon
mi
cro
con
tro
la
do
res

PicyPi
ca
xe
IndIce de la Obra cOmpleta
PICs: Diagrama en Bloques, Carga y Programacin ................................3
Introduccin ..................................................................................................3
Descripcin de sus pines...............................................................................3
Organizacin de la memoria .........................................................................4
La memoria EEPROM o memoria de programa...........................................4
La memoria RAM.........................................................................................4
Registros internos..........................................................................................5
Pero...Qu es un PIC? .................................................................................7
Diagrama en bloques del PIC16F84 .............................................................8
Programacin y carga de PICs....................................................................13
Habilitacin del reset ..................................................................................15
Circuito de vigilancia (perro guardin).......................................................16
Quark Pro2: circuito cargador de PICs y mucho ms.................................16

Cmo se leen las entradas analgicas .........................................................50


Programacin por organigramas o diagramas de flujo ...............................51
Dibujando organigramas.............................................................................52
Uniendo bloques .........................................................................................53
Simulacin de pantalla................................................................................53
Convirtiendo organigramas.........................................................................53
Utilizando smbolos ....................................................................................53
Guardando e imprimiendo organigramas....................................................53
Sistemas de nmeros...................................................................................54
Visualizando cifras analgicas en el display de 7 segmentos.....................54
Controlando motores paso a paso ...............................................................55
Subrutinas ...................................................................................................56
El circuito del entrenador............................................................................57

Los Microcontroladores PICAXE: un sistema muy fcil de programar que


no precisa de costosos cargadores y en los que el programa puede hacerse en
BASIC o en diagrama de flujo ..................................................................21
Introduccin ...............................................................................................21
Ventajas del sistema PICAXE.....................................................................22
El sistema PICAXE.....................................................................................24
El editor de programas................................................................................24
Comenzando a trabajar con PICAXE .........................................................27
Entrenador para PICAXE-18 ......................................................................30
Primeras prcticas con PICAXE.................................................................33
Uso y prueba de leds: primeros programas en BASIC ...............................33
Uso y prueba de timbres y zumbadores ......................................................35
Prueba y uso de sensores digitales..............................................................37
Prueba y uso de fotorresistencias................................................................38

Proyectos Completos con Microcontroladores PICAXE..........................59


Armado y programacin de una mascota virtual ........................................59
Diagrama de bloques de un sistema microcontrolado ................................59
Cmo programar el sistema PICAXE.........................................................62
El diagrama y el circuito impreso de la mascota ........................................64
Probando el circuito ....................................................................................64
Programa 1..................................................................................................66
Programa 2..................................................................................................66
Armado y programacin de una central de alarma .....................................68
Diagrama de bloques del sistema de alarma...............................................68
Algunos conceptos para recordar................................................................69
Prueba y uso de transistores........................................................................69
El circuito de la alarma ...............................................................................71
Algunas consideraciones para principiantes ...............................................72
Ideas de programacin ................................................................................76
Programa 1..................................................................................................76
Programa 2..................................................................................................76
Armado y programacin de un sistema de luces de seguridad ...................77
Utilizando leds ............................................................................................78
El circuito del juego de luces de seguridad.................................................79
Programa 1..................................................................................................82
Programa 2..................................................................................................83
Armado y programacin de un juego electrnico.......................................83
Algunas cosas para tener en cuenta ............................................................84
El circuito del juego electrnico .................................................................84
Consejos tiles para el principiante ............................................................85
Resumen de microcontroladores PICAXE.. ...............................................89
Circuito serie de descarga ...........................................................................89
PICAXE, preguntas ms frecuentes............................................................90

Trabajando con Microcontroladores PICAXE de 18 pines......................41


Ms sobre el sistema PICAXE....................................................................41
Entrenador PICAXE-18..............................................................................43
Preparando el tablero tutorial......................................................................43
El software gratuito para trabajar con PICAXE .........................................44
Ejecutando un programa de muestra...........................................................44
Instrucciones para uso en Windows............................................................44
Aprendiendo a hacer programas en BASIC................................................45
Utilizando el comando Symbol...................................................................45
El circuito del entrenador PICAXE-18 ...................................................46
Utilizando Bucles For...Next.......................................................................47
Controlando la velocidad de un motor........................................................47
Uso de timbres y zumbadores electrnicos en el sistema PICAXE............48
Uso de entradas con sensores digitales .......................................................49
Uso de entradas con sensores analgicos ...................................................50

2 Club Saber eleCtrniCa

PI C s :
D Iagrama en B loques , C arga y
P rogramaCIn
Introduccin
Con este captulo pretendo introducir al lector
en el mundo de la programacin de microcontroladores PIC de forma prctica y sencilla. Aclaramos
que Editorial Quark ha editado varios textos sobre
los microcontroladores de Microchip y que este libro est dedicado a los microcontroladores PICAXE que son PICS que tienen grabados un pequeo
programita (firmware) para que sean ms fciles de
programar que los PICs y sin necesidad de quitarlos de la placa de circuito impreso donde estn operando.
Se dan por sabidos algunos conocimientos muy
bsicos sobre electrnica digital. Hablaremos de
Instrucciones, registros de memoria RAM, memoria EEPROM (un tipo de ROM), de niveles lgicos
"0" "1" y cosas por el estilo.
Basamos esta introduccin en el PIC16F84 por
ser uno de los componentes ms conocidos y que
mayor cantidad de proyectos tiene en la web.
Un PIC (Programmable Integrated Circuit =
Circuito Integrado Programable) es un microcontrolador, una especie de "computadora en miniatura" que podremos programar a voluntad. En su interior posee un microprocesador, una memoria
RAM (voltil) donde guardaremos las variables y
manejaremos los datos (de hecho los puertos son
direcciones de memoria de este bloque), una memoria EEPROM (no voltil) donde guardaremos
nuestro programa, un timer o contador que nos facilitar algunas tareas, y puertos para comunicarse
con el exterior y algunas otras cosas
Figura 1

Las caractersticas ms representativas del


PIC16F84 son:
Operaaunafrecuenciamximade10MHz
Posee1kbytedememoriaEEPROMparanuestroprograma
Tiene68bytes(de8bits)dememoriaRAMadicionales
Tambin tiene 64 bytes de memoria EEPROM
paradatos(novoltiles)
Sepuedeoperarconslo35instrucciones
Dispone de 13 pines de entrada/salida (un
puertocompletode8bits+otrode5bits)
Tieneuntimer/contadorde8bits

Descripcin de sus Pines


En la figura 1 podemos apreciar el diagrama de
patas o terminales del PIC16F84, la funcin de cada pin es la siguiente:
RA0,RA1,RA2,RA3yRA4:sonlospinesdel
puertoA
RB0, RB1, RB2, RB3, RB4, RB5, RB6 y RB7:
sonlospinesdelpuertoB.
MCLR:PindereseteodelPIC,cuandosepone
a"0"elPICseresetea.
VddyVss:pinesdealimentacin(Vdd5VyVss
amasa)
OSC1/CLKIN y OSC2/CLKOUT: son para el
oscilador.Lostiposdeosciladoresmsusadosson
elXT(cristaldecuarzo)yelRC(resistenciaycondensador),elmododeconexionadoparacadauno
delosdososciladoresmencionadossemuestraen
lafigura2.
Para el oscilador a cristal C1 = C2 = 33pF y la
frecuencia del cristal debe ser inferior a 4MHz.
Para el oscilador RC C1 debe ser superior a
20pF e inferior a 10nF y R1 debe estar comprendida entre 3k3 y 100k
Cabe aclarar que el oscilador tambin puede
funcionar con un resonador o con un filtro cermi-

Club Saber eleCtrniCa

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

co y hasta se le puede inyectar una seal por la


pata 16, quedando libre (en ese caso) el terminal
15.

PiCaXe

Figura 2

organizacin de la memoria
En primer lugar tenemos que distinguir claramente entre tres tipos de memoria, a saber:
1) La memoria EEPROM donde almacenaremoselprogramaqueharemos,estamemoriasolo
podrserleidaporelPIC(elPICvaleyendolas
instrucciones del programa almacenado en esta
memoriaylasvaejecutando).AlapagarelPICestamemorianoseborra.
2)LamemoriaRAMencuyosregistrosseirn
almacenandolosvaloresdelasvariablesquenosotros carguemos y cuando nosotros deseamos (por
programa),alapagarelPICestamemoriaseborra.
3)LamemoriaEEPROMparadatos,esunespacio de memoria EEPROM en la que se pueden
guardarvariablesquequeremosconservaraunque
seapagueelPIC.Nosetrataraquporseruna
memoriamasdifcildeemplear.
la memoria eeProm o memoria de programa
En la figura 3 podemos observar la estructura
de esta memoria.
El espacio marcado como "User Memory Space" es el espacio de memoria donde ir nuestro programa, comprende las direcciones de memoria desde la 0000h hasta la 3FFh (3FFh en decimal es
1023, ms la direccin 0000h hacen 1024 direcciones, es decir, 1Kbyte)
"Reset Vector" es la primera direccin a la que
se dirige el PIC al encenderlo o al resetearlo.
"PC" y los "Stack Level" son empleados por el
PIC y nosotros no tenemos acceso a ellos.
la memoria ram
La memoria RAM (figura 4) se usa para almacenar las variables, pero tambin se almacenan una
serie de registros que configuran y controlan el
PIC.
Esta memoria est dividida en dos bancos, el
banco 0 y el banco 1, antes de acceder a un registro
de esta memoria tenemos que preguntarnos en qu
banco estamos, generalmente se trabaja en el banco 0, ya veremos ms adelante como cambiamos de
banco de memoria.
Fijndonos en el banco 1, las direcciones desde

4 Club Saber eleCtrniCa

la 00h (direccin 00 expresada en hexadecimal)


hasta la 0Bh estn ocupadas por registros del PIC,
por lo que tendremos que empezar a guardar nuestras variables a partir de la direccin 0Ch.
Se puede acceder al resto de registros para cambiar la configuracin o el estado del PIC.
Debemos agregar a este cuadro el registro ms
utilizado de todos, el acumulador (W) o registro de
trabajo. No se trata de un registro propiamente dicho ya que no tiene direccin, pero se usa constantemente para mover datos y dar valores a las variables (registros). Por ejemplo, si queremos copiar la
informacin del registro 0Ch en el registro 0Dh no
Figura 3

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito

Figura 4

podremos hacerlo directamente, deberemos usar


una instruccin para cargar el valor del registro
0Ch en el acumulador y despus otra instruccin
para cargar el valor del acumulador en el registro
0Bh.

registros Internos
A continuacin se explican todos los registros
de configuracin y control de la memoria RAM.
Estos registros se usan para controlar los pines del
PIC, consultar los resultados de las operaciones de
la ALU (unidad aritmtica lgica), cambiar de banco de memoria, etc.
Los registros ubicados en el BANCO "0" son
los siguientes:
INDF (direccionamiento indirecto): Direccin
00h, sirve para ver el dato de la direccin a la que

apunta el registro FSR (dir. 04h) que veremos ms


adelante.
TMR0 (Timer/contador): Direccin 01h, Aqu
se puede ver el valor en tiempo real del Timer/contador. Tambin se puede introducir un valor y alterar as el conteo. Este conteo puede ser interno
(cuenta ciclos de reloj) o externo (cuenta inpulsos
introducidos por RA4).
PCL (Parte baja del contador de programa): Direccin 02h, Modificando este registro se modifica
el contador de programa, este contador de programa es el que seala al PIC en qu direccin (de EEPROM) tiene que leer la siguiente instruccin. Esto se utiliza mucho para consultar tablas (ya veremos ms adelante).
STATUS: Direccin 03h, ste es uno de los registros ms importantes y el que ms va a utilizar.
Hay que analizar el funcionamiento de este registro
bit a bit:
CARRY, Direccin STATUS,0 (bit 0):
bit de desbordamiento. Este bit se pone a
"1" cuando la operacin anterior ha rebasado la capacidad de un byte. Por ejemplo, si sumo dos nmeros y el resultado no
cabe en 8 bits el CARRY se pone a "1", Pasa lo mismo cuando resto dos nmeros y
el resultado es un nmero negativo. Se
puede usar para saber si un nmero es
mayor que otro (restndolos, si hay acarreo es que el segundo era mayor que el
primero). Una vez que este bit se pone a
"1" no se baja solo (a "0"), hay que hacerlo
por programa si queremos volverlo a utilizar.
DC (digit carry), Direccin STATUS,1
(bit 1): lo mismo que el anterior, pero esta
vez nos avisa si el nmero no cabe en cuatro bits.
Z (zero), Direccin STATUS,2 (bit 2):
Se pone a "1" si la operacin anterior ha sido cero. Y pasa a "0" si la operacin anterior no ha sido cero. Se usa para comprobar la igualdad entre dos nmeros (restndolos, si el resultado es cero ambos nmeros son iguales).
PD (Power - Down bit), Direccin STATUS,3 (bit3) se pone a "0" despus de ejecutar la instruccin SLEEP*, se pone a "1"
despus de ejecutar la instruccin CLRWDT* o despus de un power-up*.
TO (Timer Up), Direccin STATUS,4
(bit4) se pone a "0" cuando se acaba el
tiempo del WATCHDOG*, Se pone a "1"
despus de ejecutar las instrucciones,

Club Saber eleCtrniCa

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

CLRWDT* o SLEEP* o despus de un power-up*.


RP0 y RP1 (seleccin de banco), Direccin STATUS,5 y STATUS,6. Como el
PIC16F84 slo tiene dos bancos de memoria, el RP1 no se usa para nada, la seleccin del banco se hace mediante RP0
(STATUS,5), si est a "0" nos encontramos
en el banco 0, y si est a "1" nos encontramos en el banco 1.
IRP, Direccin STATUS,7, En este PIC
no se usa para nada.
FSR (Puntero), Direccin 04h, se usa para direccionamiento indirecto en combinacin con el registro INDF (dir. 00h): se carga la direccin del registro que queremos leer indirectamente en FSR y
se lee el contenido de dicho registro en INDF.
PORTA (Puerto A), Direccin 05h. Con este
registro se puede ver o modificar el estado de los
pines del puerto A (RA0 - RA4). Si un bit de este
registro est a "1" tambin lo estar el pin correspondiente a ese bit. El que un pin est a "1" quiere
decir que su tensin es de 5V, si est a "0" su tensin es 0V.
Correspondencia:
RA0 ==> PORTA,0
RA1 ==> PORTA,1
RA2 ==> PORTA,2
RA3 ==> PORTA,3
RA4 ==> PORTA,4
PORTB (Puerto B), Direccin 06h igual que
PORTA pero con el puerto B
Correspondencia:
RB0 ==> PORTB,0
RB1 ==> PORTB,1
RB2 ==> PORTB,2
RB3 ==> PORTB,3
RB4 ==> PORTB,4
RB5 ==> PORTB,5
RB6 ==> PORTB,6
RB7 ==> PORTB,7
Direccin 07h, No utilizada por este PIC.
EEDATA, Direccin 08h. En este registro se
pone el dato que se quiere grabar en la EEPROM
de datos.
EEADR, Direccin 09h. En este registro se pone la direccin de la EEPROM de datos donde queremos almacenar el contenido de EEDATA.
PCLATH, Direccin 0Ah. Modifica la parte alta del contador de programa (PC), el contador de

6 Club Saber eleCtrniCa

PiCaXe

programa se compone de 13 bits, los 8 bits de menor peso se pueden modificar con PCL (dir. 02h) y
los 5 bits de mayor peso se pueden modificar con
PCLATH.
INTCON (controla las interrupciones), Direccin 0Bh. Se estudia bit a bit:
RBIF (Flag de interrupcin por cambio de PORTB) Direccin INTCON,0 (bit 0)
se pone a "1" cuando alguno de los pines
RB4, RB5, RB6, o RB7 cambia su estado.
Una vez que est a "1" no pasa a "0" por s
mismo: hay que ponerlo a cero por programa.
INTF (Flag de interrupcin de RB0) Direccin INTCON,1. Si est a "1" es que ha
ocurrido una interrupcin por RB0, si est
a "0" es que dicha interrupcin no ha ocurrido. Este bit es una copia de RB0.
TOIF (Flag de interrupcin por desbordamiento de TMR0) Direccin INTCON,2.
Cuando TMR0 se desborda este Flag avisa ponindose a "1". Poner a "0" por programa.
RBIE (Habilita la interrupcin por cambio de PORTB) Direccin INTCON,3. Si est a "1" las interrupciones por cambio de
PORTB son posibles.
INTE (Habilita la interrupcin por RB0)
Direccin INTCON,4. Si lo ponemos a "1" la
interrupcin por RB0 es posible
TOIE (Habilita la interrupcin por desbordamiento de TMR0) Direccin INTCON,5. Si este bit est a "1" la interrupcin
por desbordamiento de TMR0 es posible.
EEIE (Habilita la interrupcin por fin de
escritura en la EEPROM de datos) Direccin INTCON,6. Cuando este bit est a "1"
la interrupcin, cuando acaba la escritura
en la EEPROM de datos, es posible.
GIE (Habilita las interrupciones globalmente) Direccin INTCON,7. Este bit permite que cualquier interrupcin de las anteriores sea posible. Para usar alguna de
las interrupciones anteriores hay que habilitarlas globalmente e individualmente.
Veamos ahora qu sucede con el banco 1. Vea
en la figura 4 que los registros del banco 0 y los del
banco 1 tienen direcciones distintas, en realidad podemos utilizar las mismas direcciones para referirnos a registros que estn en uno u otro banco, el
PIC las diferenciar sin problemas gracias al bit de
seleccin de banco (RP0). Por ejemplo, la direccin 05h se refiere a PORTA si estamos en el ban-

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito

Fig. 5
co 0 y a TRISA si estamos en el banco 1. Sabiendo
esto, damos a continuacin la descripcin de los registros del BANCO 1:
INDF, Direccin 00h, Igual que en el Banco 0
OPTION, Direccin 01h, (configuracin del
prescaler, Timer, y alguna cosa ms) Se estudia bit
a bit:
PS0, PS1 y PS2 (Bits del 0 al 2) Configuracin del preescaler: El preescaler es
un divisor de pulsos que est a la entrada
del Timer-contador. El prescaler divide el
nmero de pulsos que le entran al timercontador o al Wachtdog. El factor de divisin es el que se muestra en la tabla de la
figura 5 (segn los valores de PS2, PS1 y
PS0 respectivamente)
PSA, Direccin OPTION,3. Bit de asignacin de prescaler: si est a "1" el prescaler se asigna a WDT (Wachtdog), si est
a "0" se asigna al TMR0
TOSE, Direccin OPTION,4. Bit de seleccin del tipo de flanco para TMR0. A "1"
se incrementa TMR0 por flanco descendente de RA4, a "0" se incrementa TMR0
por flanco ascendente de RA4.
TOCS, Direccin OPTION,5. Selecciona
la entrada de reloj de TMR0. A "1" la entrada de reloj de TMR0 es por flanco de la patilla RA4, a "0" la entrada de reloj de TMR0
es por ciclo de reloj interno.
INTEDG, Direccin OPTION,6. Tipo de
flanco para la interrupcin por RB0: A "1"
la interrupcin ser por flanco ascendente,
a "0" la interrupcin ser por flanco decendente.
RBPU, direccin OPTION,7. Carga PullUp en puerto B. A "0" todas las salidas del
puerto B tendrn una carga de pull-Up interna.

PCL, Direccin 02h, igual que en el banco 0


STATUS, Direccin 03h, Igual que en el banco 0
FSR, Direccin 04h, Igual que en el banco 0
TRISA, Direccin 05h, Configura el puerto A
como entrada o salida. Si un bit de este registro se
pone a "0" el pin correspondiente en el puerto A ser una salida, por el contrario, si se pone a "1" el pin
correspondiente en el puerto A ser una entrada.
TRISB, Direccin 06h, Igual que el anterior pero con el puerto B
Direccin 07h, No usada en este PIC
EECON1, Direccin 08h, Controla la lectura y
escritura en la EEPROM de datos. Se estudia bit a
bit:
RD, Direccin EECON1,0 (bit 0) A "1" iniciamos el ciclo de lectura, cuando acaba el ciclo se pone a "0".
WR, Direccin EECON1,1 (bit 1) A "1" indicamos que comienza el ciclo de escritura, cuando acaba el ciclo se pone a "0".
WREN, Direccin EECON1,2 (bit 2) si lo ponemos a "1" se permite la escritura, a "0" no se permite.
WRERR, Direccin EECON1,3 (bit 3) error de
escritura, si est a "1" indica que no se ha terminado el ciclo de escritura.
EEIF, Direccin EECON1,4 (bit 4) interrupcin de ciclo de escritura de la EEPROM, si est a
"1" indica que el ciclo de escritura ha terminado,
hay que ponerlo a "0" por programa.
Bits del 5 al 7 no se utilizan.
EECON2, Direccin 09h, se utiliza para la escritura en la EEPROM de datos como medida de
seguridad: para poder guardar algo en la EEPROM
hay que cargar el valor 55h en este registro.
PCLATH, Direccin 0Ah, igual que en el banco 0.
INTCON, Direccin 0Bh, igual que en el banco 1.

Pero... qu es un PIC?
los circuitos integrados programables (Programmable Integrated Circuits = PIC) son componentes sumamente tiles en la Electrnica de Consumo. An cuando son conocidos desde hace ms de
veinte aos, existen en la actualidad nuevos tipos que
cumplen con una serie de requisitos y caractersticas
sumamente tiles. Como una primera aproximacin
podemos definir a un PIC como un chip que me permite obtener un circuito integrado a mi medida, es
decir puedo hacer que el PIC se comporte como un
procesador de luminancia o un temporizador o cual-

Club Saber eleCtrniCa

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

quier otro sistema mediante un programa que le grabo en una memoria ROM interna.
Los microcontroladores PIC son en el fondo procesadores similares a otros tipos, como por ejemplo
la familia de los microprocesadores X86, 80486,
Pentium y muchos otros que usan una arquitectura
interna del tipo Von Neumann. En este tipo de arquitectura, los datos y la memoria del programa se encuentran en el mismo espacio de direcciones.
en realidad, un microprocesador y un microcontrolador no son la misma cosa. los PICs son
microcontroladores, es decir, una unidad que posee
en su interior al microprocesador y a los elementos
indispensables para que pueda funcionar como
una minicomputadora en un solo chip.
Un microprocesador es solamente la unidad central de procesos o CPU, la memoria, los puertos y todos los dems perifricos son exteriores. La programacin de un microprocesador es, por lo tanto, una
tarea compleja porque deben controlarse todos estos
dispositivos externos.
Un microcontrolador integra la CPU y todos los
perifricos en un mismo chip. El programador se desentiende de una gran cantidad de dispositivos y se
concentra en el programa de trabajo. Esta circunstancia da lugar a una gran prdida de tiempo porque los
datos tienen que ser retirados de la memoria y llevados a la CPU (Central Processor Unit) y viceversa.
Esto significa que la computadora dedica la mayor
parte del tiempo al transporte de datos de ida o de
vuelta, en lugar de usar este tiempo para trabajar sobre los datos.
Los PICs emplean un conjunto de instrucciones
del tipo RISC (Reduced Instruction Set Computer).
Con el RISC se suele ejecutar la mayora de las instrucciones con un solo pulso del clock. Con las instrucciones que se usan en otros equipos del tipo
CISC (Complex Instruction Set Computer), se logran instrucciones ms poderosas, pero a costa de
varios ciclos del clock. En el bien conocido procesador 68HC11 de Motorola, se requieren a veces, hasta 5 ciclos del clock para ejecutar una instruccin.
A los fines prcticos nos vamos a referir a los microcontroladores como bloques que poseen una memoria de programa, que es el lugar donde deben alojarse los datos que le indiquen al chip qu es lo que
debe hacer; una memoria de datos donde ingresen
las seales que debe procesar el programa, una unida aritmtica y lgica donde se desarrollen todas las
tareas, una unidad de control que se encargue de supervisar todos los procesos y puertos de entrada y salida para que el PIC tenga contacto con el exterior
(figura 6).
Un microcontrolador, como cualquier circuito in-

8 Club Saber eleCtrniCa

PiCaXe

Figura 6
tegrado analgico, tiene entradas, salidas y algunos
componentes exteriores necesarios para procesar las
seales de entrada y convertirlas en las seales de salida. El 16F84 requiere un cristal con dos capacitores y como mnimo un resistor para el reset. Por supuesto necesita una tensin de fuente de 5V (VDD)
aplicada con respecto al terminal de masa (VSS). Posee dos puertos de salida, el A y el B, cuyos terminales son marcados RA0 al RA4 y RB0 al RB7. Estos
puertos pueden ser programados como de entrada o
de salida. El terminal 4 opera como reset, pero tambin cumple funciones de carga de memoria de programa cuando es excitado con pulsos de 15V. El terminal RA4 (pata 3) tambin tiene funciones como
entrada de un temporizador y RBO (pata 6) cumple
tambin funciones como entrada de interrupcin.

Diagrama en Bloques del PIC16F84


Ahora bien, la mayora de los microcontroladores (sean de Microchip, National, Motorola, Philips,
etc.) se comportan de forma similar, por ello nos vamos a referir a los microcontroladores PIC16F84 cuya arquitectura interna puede observarse en la figura
7. Observe primero los bloques externos. Existe un
cristal que se conecta en OSC1 y OSC2 para generar
el CLOCK del sistema. Luego una seal de entrada
llamada MCLR negada, que es un nombre de fantasa para nuestro conocido RESET (debido a que esa
pata tiene un doble uso) y, por ltimo, dos puertos
paralelos de I/O (entrada o salida) llamados puerto A
y puerto B. Una de las patas del puerto A puede ser
utilizada como entrada de interrupciones (esta pata
especial hace que el microprocesador deje de realizar la tarea que estaba ejecutando y pase a realizar
otra tarea alternativa; cuando la termina vuelve a su
programa original).

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito


Figura 7

Club Saber eleCtrniCa

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Analicemos el bloque ms grande (temporizadores), en ste observamos un grupo de bloques dedicados a mejorar el funcionamiento, pero sin influir
directamente en el flujo de seales. Vemos un temporizador de encendido, un temporizador de arranque del oscilador de CLOCK, un circuito de reset y
un circuito llamado de vigilancia o WATCHDOG.
Los dos primeros bloques procuran un arranque ordenado para no producir una carga al mismo tiempo
sobre la fuente. Por ltimo, existe un circuito con un
nombre curioso: perro guardin. Su funcin es estar vigilante el mximo de tiempo que tarda el microprocesador en completar su programa (o mejor sera
decir, la derivacin ms larga de su programa) y en
caso de superarse ese tiempo, provocar un reset automtico porque el microprocesador se qued trabado en alguna parte de su programa. Tambin se dice
que el microprocesador se qued colgado o congelado.
Este bloque de circuitos no trabaja independientemente sino que requiere conexiones al exterior y al
interior del dispositivo. Por ejemplo, no siempre son
utilizados y es el programa quien determina su utilizacin y adems ajusta sus parmetros. Esto se realiza a travs del bloque de control o decodificador de
instrucciones.
Analicemos ahora la seccin de arriba a la izquierda en donde observamos la memoria de programa, el contador de programa, el registro de instrucciones y la pila o STACK de 8 niveles. Cuando hablamos de registros nos referimos a pequeas unidades de memoria transitoria, construida por lo general
con un registro de desplazamiento como los analizados en el rey micro. Son memorias voltiles que se
utilizan para guardar informacin por un tiempo mnimo, con el fin de realizar una operacin compleja
de varios pasos.
El contador de programa es el responsable de que
el microprocesador vaya analizando las instrucciones en orden ascendente. Este guarda el nmero de
instruccin en el STACK y la instruccin misma la
pasa al registro de instrucciones, desde donde se enva al resto del microprocesador. El STACK es, en
realidad, una pila de registros (en nuestro ejemplo
hay 8), debido a que el programa puede tener derivaciones (en la jerga LOOPS, rulos o subprogramas).
Cuando se termina de ejecutar un loop se debe volver al mismo punto del programa en donde se haba
producido la bifurcacin y eso es posible porque ese
nmero de instruccin qued guardado en uno de los
registros de la pila. Es comn que un loop tenga, a su
vez, un loop secundario y cuando se ejecuta ese loop
secundario se debe volver al mismo punto del loop
primario, eso se consigue con guardar ese nmero

10 Club Saber eleCtrniCa

PiCaXe

de instruccin del loop secundario en otro registro de


la pila.
Analicemos ahora la seccin inferior derecha. En
ese sector se ubican los bloques responsables de
efectuar operaciones matemticas y lgicas binarias;
recordemos que el nombre ALU proviene de Aritmetic Logic Unite (unidad arimtica y lgica). En este
sector es imprescindible utilizar un registro, ya que
una operacin aritmtica o lgica siempre se efecta
entre dos nmeros. Los nmeros binarios que deben
procesarse se toman de la memoria de datos, el primero se acumula en el registro de trabajo o registro
W (de Work = trabajo) el segundo es el presente en
el instante en que se invoca la memoria de datos. Como las operaciones pueden ser encadenadas (cuando
el resultado sirve como operando de la siguiente
operacin, tal como el caso de un producto) el registro W tiene un retorno a la ALU.
Vemos adems que la ALU est comandada por
el bloque MUX (MUltipleXador). En efecto, la ALU
requiere que se le enven nmeros para procesar que
le lleguen desde la memoria de datos, pero antes se
la debe predisponer para que efecte la operacin requerida (comparacin, rotacin de dgitos, etc.).
El registro de estado o estatus colabora durante
las operaciones matemticas. Piense cmo opera Ud.
para realizar una resta: primero ubica el primer nmero, luego el segundo y despus comienza a analizar los bits menos significativos (las unidades), pero
si el nmero de arriba es menor que el nmero de
abajo, entonces toma prestado de la columna de las
decenas, luego debe recordar esto porque el nmero
de arriba en la columna de las decenas se redujo en
una unidad. En realidad, aunque se trate de una operacin entre dos nmeros su ejecucin requiere guardar lo que se llama acarreo en otro registro y ste no
es otra cosa ms que el registro STATUS.
El PIC16C84 contiene adems de todo lo visto,
una memoria RAM de registros que puede ser llamada desde el registro de instruccin a travs de un
multiplexador de direcciones. Esta seccin slo se
utiliza en desarrollos avanzados. Ahora bien, un microcontrolador sin programa no sabe hacer nada, es
como un nio recin nacido; tiene algunos reflejos
condicionados como el de succin que le permite alimentarse pero no sabe hacer ms que eso. Nosotros
deberemos ensearle a realizar acciones y lo vamos
a hacer como a un beb, paso a paso. Su capacidad
de aprendizaje es enorme y sumamente variada. Le
vamos a ensear a llorar a intervalos regulares, a encender luces, a sumar, a restar, etc.
Ensearle significa programarlo y eso se realiza
con una plaqueta de programacin que depende de
cada marca y modelo de microcontrolador. Antigua-

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito


grama y cuando se produce una interrupcin, a la posicin 004. Estos retornos forzados deben ser considerados al
disear el programa del microprocesador; es decir que el reset se produce porque la seal externa pone el contador de
programa en 000 y todo el programa se
reinicia. En cambio, cuando ingresa una
seal por la pata de interrupcin el conFigura 8 tador de programa va a 004 y la accin
que, en general ocurre, es que se comienza a leer un subprograma particular. Cuando este subprograma termina,
el contador de programa recupera el nmente los microprocesadores tenan una ventanita mero que tena en el momento de arribar la interruptransparente y era necesario exponerlos a la luz ultra- cin.
violeta para borrar su memoria e introducir un programa nuevo. Actualmente cuentan con memorias
2) la memoria de Datos (Random Access Meque no tienen este requisito. Basta con cargarlos con mory = memoria de acceso aleatorio) es una memoun programa para que se borre el anterior. Esto sig- ria de lectura y escritura de 128 posiciones pero que
nifica que, con el mismo integrado, podremos cons- slo tiene implementados las primeras 48 posiciones
truir diferentes dispositivos que realicen funciones (desde 00 a 2F en hexadecimal). De estos 48 registotalmente distintas unas de otras.
tros, los primeros 12 son fijos y cumplen un propsiRecuerde que:
to determinado, en tanto que desde el 13 hasta el 48
son registros de propsito general, en donde el pro1) la memoria de Programa es una memoria grama puede indicar que se almacene un dato para
EEPROM, es decir, de lectura solamente (ROM = ser tomado ms tarde.
Read Only Memory) que se programa por tensin
(no necesita luz ultravioleta); es decir que basta con
3) el PIC16C84 tiene dos puertos paralelos de
introducir los datos con cierto nivel de tensin para entrada o salida: el puerto A de 8 patas y el B de
que stos borren el programa anterior y graben uno 5 patas. Cada pata puede ser predispuesta por el pronuevo.
grama para operar como de entrada o de salida. CaPorquestamemoriasellamaROM,sisepue- da pata tiene un resistor de pull-up (resistor conectadengrabardatossobreella?
do a fuente) interno que puede ser desconectado meSe llama ROM porque para grabarla se debe co- diante el programa. Estos resistores se desconectan
nectar el PIC al programador; luego de que el PIC automticamente si una pata se predispone como pacoloca estos datos en la plaqueta del dispositivo, s- ta de salida debido a que las salidas ya tienen posibilo pueden ser ledos, ya que entonces forman el pro- lidad de entregar corriente desde fuente con un trangrama del PIC.
sistor. Todos los resistores de pull-up se conectan o
Esta memoria tiene una longitud de 1 Kbyte con desconectan al mismo tiempo (no existe un comanpalabras de 14 bits. Digamos que tiene un ancho de do que los conecte independientemente).
14 bits y una altura de 1.000 Bytes o que es una meComo puerto de salida, una pata puede tomar
moria de 1.000 x 14. Observe que los nmeros de 25mA del circuito o entregar 20mA al mismo, sin
instruccin en hexadecimal van desde el 000 al 3FF, embargo, en el puerto A slo se pueden consumir
lo cual implica que existen 1.040 posiciones de me- 80mA en total o entregar 50mA, esto significa que
moria, valor obtenido empleando la frmula:
slo algunas patas pueden trabajar al mximo porque
si todas lo hicieran (y son 8) el consumo total sera
3 x 162+16 x 161+16 x 160
de 25 x 8 = 200mA. El puerto B tiene otras caractersticas mximas, ya que en total puede tomar
Observe que dos de las posiciones de memoria 150mA o entregar 100mA. Como vemos, las salidas
tienen las indicaciones vector de reset y vector de admiten suficiente carga como para alimentar direcinterrupcin.
tamente a un led (figura 8).
Eso significa que, cuando se provoca un reset, el
Los puertos no utilizados siempre se deben comicroprocesador vuelve a la posicin 000 del pro- nectar a la fuente de 5V a travs de un resistor de

Club Saber eleCtrniCa

11

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

10k debido a que se trata de un dispositivo CMOS


que, de otro modo, podra deteriorarse por captacin
electrosttica.
La pata 3 perteneciente al puerto A puede ser
configurada como de entrada/salida o como de
arranque de un temporizador/contador. Cuando se
programa como entrada esta pata funciona como un
disparador de SCHMITT o Schmitt trigger ideal para reconocer seales distorsionadas o con crecimiento lento. Esta misma pata tambin tiene una caracterstica distinta cuando opera como salida. Ella es la
nica que trabaja a colector abierto, es decir, que no
puede emplearse como fuente, en este caso siempre
se utilizar un resistor externo.
4) los PICs poseen un oscilador configurable
por programa de caractersticas muy amplias. Cuando no se reFigura 9 quiere mucha
precisin se
puede trabajar
con un oscilador a RC conectado segn
la figura 9.
Para circuitos
que requieran
una gran precisin se puede
trabajar con un
cristal de frecuencia baja,
media o alta
(figura
10).
Como mximo
el PIC16C84
puede trabajar
con un cristal
de 10MHz. Internamente la
Figura 10
frecuencia del
cristal se divi-

12 Club Saber eleCtrniCa

PiCaXe

Figura 11

de por 4, por lo tanto, es muy comn la utilizacin de


un cristal de 4MHz para obtener un CLOCK interno
de 1MHz que garantiza que cada instruccin dure
exactamente 1mS. Para temporizadores de perodo
largo se utilizan cristales de baja frecuencia.
5) el PIC se resetea cuando la pata 4 (MCLR
negada) se pone a potencial bajo. Para simplificar el
circuito de reset, el PIC posee un temporizador interno que permite realizar un reset automtico cuando
se aplica tensin de 5V. En estos casos el circuito externo de reset slo implica el uso de un resistor de
10k entre la pata 4 y fuente tal como se muestra en
la figura 11.
En muchos circuitos es necesario realizar un reset manual y para ello existen dos posibilidades, una
es utilizar slo el temporizador interno (por programa) y la otra es agregar una constante de tiempo exterior como se muestra en la figura 12. En el segundo circuito C1 provee un retardo al encendido o posterior al pulsado de reset porque C1 se cargar lentamente a travs de R1 con una constante de tiempo de
22k x 10F = 220mS.
El resistor R3 limita la corriente de descarga de
C1 a valores compatibles con sus caractersticas de
corriente de pico mxima.
D1 descarga a C1 cuando la tensin de fuente decae para permitir un reset inmediato cuando la fuente se apaga y se enciende en rpida sucesin. R2 limita la corriente de reset, tomada desde el miFigura 12
croprocesador. Este segundo sistema se suele
utilizar cuando se requiere un reseteado remoto a travs de varios
metros de cable que podran captar zumbido
(C1 reduce la impedancia del circuito de reset).

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito


Programacin y Carga de PICs
Para que un PIC funcione como nosotros queremos es preciso cargarle un programa en la memoria de programa. El programa debe estar en un lenguaje comprensible por el chip o sea un lenguaje de
mquina en cdigo binario aunque en realidad al PIC
debemos introducirle un programa en cdigo hexadecimal e internamente lo convierte a binario para
realizar su interpretacin. El programa que debemos
cargarle al PIC en cdigo hexadecimal tiene que tener la terminacin hex.
Sin embargo, normalmente se debe escribir editar el programa en un lenguaje entendible por el
usuario, normalmente conocido como assembler.
Los PICs basan su programacin en un set reducido
de instrucciones que permiten editar el programa generando un archivo con extensin asm.
Existen programas que se encargan de traducir
el programa escrito en lenguaje assembler (asm) a
programa escrito en lenguaje de mquina (hex); a estos programas se los denomina traductores o ensambladores.
Por lo tanto, para escribir un programa y cargarlo en un PIC precisamos:
* Unutilitariooprogramaquenospermitaescribireljuegodesentenciasacargarenlamemoria
deprogramadelPIC.Esteutilitarioesuneditor
ycomoejemplotenemoselMPLAB.
* Unutilitariooprogramaquenospermitatraducirelprogramaescritoenassembleralenguaje
demquinaparaquepodamoscargarloenelPIC.A
eseprogramaselodenominaensambladorycomoejemplotenemosalMPASM.
* Unutilitarioparacargarelarchivoquetieneelprogramaenlenguajedemquina(archivocon
extensinhex)enlamemoriadelPIC.Aestosprogramasselosdenominacargadoresycomoejemplo tenemos al NOPPP, al Quark Pro 2 y a tantos
otros.

Figura 13

Insistimos, un cargador de PIC debe poseer por


un lado el circuito que permita cargar el programa
desde una computadora (hardware) y el programa
que permita manejar a dicho circuito para realizar la
operacin de carga (software). El circuito debe ser
muy simple.
Usaremos un software gratuito llamado NOPPP
que puede bajarse por Internet. Ud. puede bajar este
programa, el MPLAB, el MPASM y otros programas
y utilitarios, siguiendo los pasos que daremos y, lo
que es ms importante, en forma totalmente GRATUITA.
Para ello dirjase a: www.webelectronica.com.ar (si no tiene Internet o no sabe cmo se hace,
lleve este escrito a cualquier cybercaf y pdale al
encargado que le baje los programas). Haga doble
click sobre el cono password y luego digite la clave
aiwa15.
Recuerdequecuandodecimosprogramarnos
estamos refiriendo a disear un programa para un
PICyalapersonaquerealizesetrabajolallamamosprogramador;cuandodecimoscargarnos
estaremosrefiriendoallenarcondatoslamemoria
deunPICyeldispositivoquerealizaestafuncinlo
llamaremoscargadordePICs.
Aunque parezca increble nuestro amplio idioma
no tiene una palabra precisa que diferenciara a la accin del aparato y se suscitaban graves confusiones
al leer, por algo tan simple. En realidad, s estaba
acuado un trmino prctico para el dispositivo:
quemador de PICs, pero el mismo slo se puede
aplicar a aquellos PICs que slo se pueden grabar
una sola vez. Para comenzar a practicar con el armado de circuitos con PIC, es preciso contar con algn sistema verificador o entrenador que muestre los efectos del integrado que hayamos cargado.
Un circuito con PIC siempre se compone de dos secciones. El circuito del dispositivo deseado y los componentes perifricos imprescindibles para que el PIC
funcione: clock y reset (la primer seccin cambia
con cada proyecto, en tanto que la segunda puede ser
comn a muchos proyectos). Ambos circuitos perifricos tienen diferentes opciones: el clock puede ser a
cristal cuando se requiera precisin, o a RC (como en
nuestro caso) cuando slo se requiere que la secuencia de encendido tenga un tiempo aproximado. En
cuanto al reset, ste puede ser externo con un pulsador o interno y automtico, cada vez que se conecta
la alimentacin de 5V.
Una vez definidas estas cosas se puede dibujar el
circuito completo, tal como lo mostramos en la figura 13. Observemos primero la seccin perifrica im-

Club Saber eleCtrniCa

13

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

prescindible. El clock est generado por un oscilador


RC realizado con el PIC, R1 y C1 (elegidos para obtener una secuencia completa que dure un segundo
aproximadamente), en tanto que el reset se realiza en
forma automtica, cada vez que se enciende el equipo, por intermedio de R6. Nuestro circuito de aplicacin no puede ser ms sencillo, slo utilizamos cuatro LEDs sobre las patas RB0 a RB3 (puerto B tomado parcialmente) y sus correspondientes resistores de pull up (resistores a fuente). Nada ms simple
y fcil de armar en un panel protoboard.
Qu ocurrira si compro los componentes, los
armoypruebodirectamenteelcircuito?
No va a funcionar porque como el PIC no est
instruido para realizar ninguna funcin y los LEDs
van a permanecer todos encendidos. El PIC tiene una
memoria interna que debe cargarse con nmeros binarios de 8 dgitos; exactamente tiene 48 posiciones
de memoria (numeradas desde el 0 hasta el 2F en nmeros hexadecimales), en donde se le indicar qu
tarea debe realizar o qu datos fijos debe cargar para
ejecutar esas tareas.
En nuestro caso activar transistores internos en
algunas patas del puerto B (predispuestas como
salidas), de modo de generar cortocircuitos momentneos a masa en forma secuencial.
El dispositivo con un zcalo para conectar el PIC
e instruirlo (cargarle los datos en la memoria de programa) se llama genricamente Programador de
PICs, pero nosotros convenimos en llamarlo Cargador de PICs y es como un apndice de nuestra
PC, conectado con un cable al puerto paralelo de la
misma.
Si la PC tiene dos puertos paralelos de salida se
usar uno para la impresora y el otro para nuestro
programador, si slo tiene uno, se desconectar provisoriamente la impresora para conectar el programador, o mejor an, se conectarn ambos dispositivos a travs de una caja selectora que se consigue en
los negocios de computadoras y se usa para conectar
dos impresoras a la misma PC.
Si Ud. tiene un mnimo conocimiento sobre computadoras, sabr que un dispositivo conectado a la
PC es totalmente intil si no est acompaado de un
programa instalado en el disco rgido de la misma.
En algunos casos se necesitan dos programas, a saber: el driver del dispositivo y un programa de aplicacin que utilice dicho dispositivo. En el caso de
dispositivos que se conectan en el puerto paralelo, el
programa driver no es necesario porque dicho puerto ya est debidamente habilitado para usar la impresora. Lo que s se requiere obligatoriamente, es un
software de aplicacin del programador que suele

14 Club Saber eleCtrniCa

PiCaXe

proveerlo el fabricante del mismo.


Programadores y software de aplicacin de los
mismos hay muchos. Algunos son muy simples y
econmicos (tan econmicos que muchos se entregan gratuitamente por Internet, es decir que el autor
regala el software y da las explicaciones para armar
el hardware) y otros son muy complejos y caros. La
diferencia entre unos y otros suele ser la posibilidad
de aceptar ms tipos de PICs (adems del 16C84 y
16F84 existen muchos otros) e inclusive microprocesadores o memorias de otras marcas. Tambin se
diferencian en la velocidad a la cual cargan el PIC;
los hay de alta productividad que trabajan con un
elevado flujo de datos y otros ms lentos que slo
sirven para tareas de aprendizaje.
En nuestro caso vamos a trabajar con un software que se llama NOPPP, que es absolutamente gratuito y se puede bajar desde Internet. Este software est previsto para ser usado slo con los PIC16C84,
PIC16C83 y PIC16F84 que son los ms utilizados.
Con respecto al hardware, Ud. puede usar el que
propone el autor del software que es muy sencillo, o
usar otro que le propongo yo ms adelante y que tiene algunas ventajas con respecto a una mejor forma
de los pulsos de programacin. El NOPPP es suficientemente sencillo como para implementarlo en un
panel protoboard, pero como es un hardware que deberemos usar ms adelante para programar otros
PICs conviene armarlo en forma ms definitiva, utilizando una plaqueta de circuito impreso o una plaqueta ojalillada.
El PIC, como una memoria, tiene una pata que
predispone el dispositivo para leer o para escribir. Si
la pata 4 del PIC est a un potencial comprendido entre 13 y 14V, el PIC est preparado para escribir los
datos que provienen de la PC. Si la pata 4 est por
debajo de 6V, el dispositivo est previsto para ser ledo. Los datos a leer o escribir se ponen/obtienen de
la pata 13 del PIC con la pata 12 del mismo que opera como clock.
Aquellos que conocen el proceso de carga de datos en una memoria serie, no tendrn mayores inconveniente en entender la frase anterior. Para aquellos
que no conocen el proceso, explicamos lo siguiente:
Un PIC se lee/escribe accediendo a las diferentes
posiciones de memoria por la misma pata por la que
se obtienen/ingresan los datos (la pata 13). La seal
primero elige la posicin de memoria a ser leda/escrita, y luego que esa posicin est accesible se escriben/leen los datos. El clock que se coloca en la pata 12 sirve para indicar en qu momento se debe
transferir la informacin. Los datos pueden estar sobre la pata 13 todo el tiempo que Ud. desee, ya que
no sern ni ledos ni escritos por la PC hasta que se

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito

Figura 14
produzca un cambio de estado (de alto para bajo) en
la pata 12. En cada palabra a programar existe una
primera seccin de 6 bits que indica la posicin de
memoria a ser leda/escrita y luego la lnea de datos
permanece en estado de alta impedancia por un intervalo de tiempo que depende de la operacin (durante ese tiempo el clock est apagado). Por ltimo ingresan/egresan los datos (cada palabra tiene 8 datos,
as, una palabra de programa se compone de 8 bits de
datos y 6 bits de direccionamiento). Las conexiones
de fuente y las seales deben ser aplicadas segn una
secuencia predeterminada que debe respetarse invariablemente. Los nombres de las seales se aclaran
en la figura 14.
A)ElprimerpasoescolocarelPICenelzcalo
del programador con seales y fuentes a potencial
demasa.
B)LevantarlatensindefuenteVDDaunpotencialde5V0,2Vporlapata14(VDD).
C)LevantarlatensindefuenteVPPaunpotencialde13V0,3Vporlapata4(MCLRNEGADO).
D)Esperarenesascondicionesuntiemposuperiora1mS.
E)Posicionarelprimerdatoenlapata13(RB7)
conunpotencialalto(mayora4V)obajo(menora
1V).
F)Cuandolapata12(RB6)paseaunestadobajo,inferiora1V,eldatosecargaenlamemoria.
G) Continuar cargando los datos con el mismo
criterioaunritmotalqueeldatoestpresente,por
lomenos,durante100nS.
H) Cuando todos los datos fueron cargados se
debeesperar1segundo.
I)Desconectarlafuentede13V.
J)Desconectarlafuentede5V.
K)Retirarelmicrograbado.

Por sobre todas las cosas debe respetarse el criterio de no sacar un PIC de su zcalo con las fuentes
conectadas, porque puede desprogramarse o, peor
an, daarse definitivamente. Tambin es muy importante respetar las tensiones de fuente y no demorar la llegada de datos, luego conectar VPP (porque
podran cargarse datos falsos por interferencias electromagnticas).
Como usted puede observar de la descripcin anterior, la entrada RB6 es utilizada como clock y la
RB7 como entrada de datos en una clsica operacin
de transferencia de datos en serie.
Observe que hay un tiempo entre el momento en
que MCLR NEGADO sale de la condicin de reset,
hasta que aparece el primer dato o el primer pulso de
clock. Tambin hay un tiempo mnimo para la permanencia de un dato en la entrada (la representacin
usada para un dato significa que el mismo puede ser
alto o bajo, depende del bit que se est grabando). Lo
que no hay es un tiempo mximo, pero evidentemente cuando mayor es este tiempo, ms lenta ser la
carga del programa.
El tiempo ms adecuado depende de factores tales como el largo del cable utilizado para conectar el
programador a la PC. Si el cable es largo, los pulsos
tienden a deformarse y atenuarse, sobre todo cuando
son de corta duracin (100nS equivalen a una frecuencia de 10MHz). Para evitar problemas, todos los
programadores trabajan a velocidades inferiores a la
mxima, sobre todo considerando que la capacidad
de memoria no es muy grande y para el uso no comercial no son imprescindibles grandes velocidades
de grabacin.
Un cargador de PIC debe permitir, una operacin
de verificacin para cuando el usuario tiene dudas
respecto de la condicin de un determinado PIC (vaco o lleno). Solo que el programa almacenado debe
ser inviolable en caso de que la persona que lo carg
as lo haya dispuesto.
Habilitacin del reset
En el pinup del PIC se puede observar que la pata llamada MCLR negado (4) tiene un doble uso. En
principio sirve para predisponer el PIC en grabacin
o lectura, como ya fuera comentado; pero cuando su
tensin cae por debajo de 1V, el PIC se resetea y comienza la lectura del programa por el principio. Este
tipo de reset se llama reset a pulsador y se utiliza para provocar alguna accin como, por ejemplo, comenzar una secuencia de encendidos de LEDS o encender un LED por un tiempo predeterminado. Este
modo de funcionamiento requiere una accin externa de reset (apretar un pulsador). La misma accin
de reset se puede conseguir en forma automtica ca-

Club Saber eleCtrniCa

15

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

da vez que se conecta la fuente de 5V. Este modo de


trabajar slo requiere que la pata MCLR (pata 4) est permanentemente conectada a 5V (con un puente
o un resistor de 1k) y que el PIC est predispuesto
con el Power-up Timer en ON (temporizador de encendido conectado). Cuando el temporizador est
habilitado, luego de conectar la fuente de 5V, comienza un conteo interno (que dura 72ms) durante el
cual el PIC pone todas sus compuertas internas en
cero (reset) y recin despus comienza a efectuar los
pasos que le indica el programa. A propsito, el nombre MCLR proviene de MASTER CLEAR (literalmente, limpiador maestro).
Circuito de vigilancia (perro guardin)
En realidad, el PIC tiene un reset extra que opera
luego de un cierto tiempo si no se realiza la operacin final del programa. Es como una especie de rutina automtica de descongelamiento que opera en
caso de falla del programa. Eventualmente puede ingresar algn pulso de energa al sistema que enve al
programa a un loop (rizo) eterno (una derivacin o
camino cerrado sobre s mismo). Una vez que el programa ingres en ese camino no puede salir de l salvo que se produzca un reset. Si pasa un tiempo considerable sin que se llegue a la ltima sentencia del
programa, el PIC analiza su predisposicin y si el
Watchdog timer (literalmente perro guardin) est
habilitado, provoca un reset programado. En los programas ms simples y donde se producen loops infinitos a propsito (de los que slo se sale tocando un
pulsador), se suele dejar el perro guardin desconectado para evitar un funcionamiento errtico.

quark Pro 2:
Circuito Cargador de PICs y mucho ms...
Hemosdesarrolladounprototipoeconmico,perodealtodesempeoparaprogramarPICs.Elcircuito est basado en el hardware del programador
JDM y en el software de IC-PROG, realizando las
modificacionesyadicionesnecesariasparahacerlo
tanfuncionalcomolosprogramadoresprofesionales
conmuybajocosto.
En Saber Electrnica se ha publicado el cargador
NOPPP y el QUARK PIC BASIC entre otras, sin
embargo, desarrollamos este prototipo para usuarios
de PICs ms exigentes. Si bien los cargadores publicados han sido de mucha utilidad, este nuevo prototipo les permitir programar PICs ms poderosos como el PIC16F873 (de 28 pins), el PIC16F874 (de 40
pins) o PICs mejorados como el PIC16F627.

16 Club Saber eleCtrniCa

PiCaXe

Existen, en Internet, muchos programadores de


PICs de uso libre, como el JDM, el TAIT, el PROPIC
2 y el TAFE, entre otros muchos. Sin embargo, ningn quemador (programador) funciona sin un programa que lo opere, para ello existen tambin muchos utilitarios como el IC-PROG, el PIC-ALL, el
NOPPP, el PONY-PROG, etc. (muchos de uso libre).
Cada programador y cada programa posee sus propias ventajas y desventajas, lo importante es escoger
un programa que sea compatible con el programador
elegido.
PorqubasareldiseoenelprogramadorJDM?
En principio, para programar un PIC se requiere
de una fuente de 5 volt para alimentarlo (Vdd) y otra
fuente de 13 volt para programar o quemar el PIC
(Vpp) lo que implica que debemos tener dos fuentes
de voltaje para realizar la operacin, lo que de entrada nos elevara el costo.
En el JDM (vase www.jdm.homepage.dk) cabe
destacar lo ingenioso del diseo ya que emplea los
voltajes disponibles del puerto serie de la computadora para que, mediante un arreglo con diodos y capacitores (llmese multiplicador de tensin integrado por D3, D4, D5, D6, C1 Y C2) se puedan obtener
los ms de 13V necesarios para programar cualquier
PIC. Esto nos ofrece una gran ventaja, ya que no requerimos fuente de alimentacin externa alguna,
convirtiendo el programador en un circuito parsito que, en nuestro caso, se alimenta del puerto serie de la computadora, logrando as abatir el costo
ms alto que representan las fuentes de alimentacin.
Otra ventaja que ofrece este programador es que
no requerimos de un limitador de corriente para el
caso de insertar un PIC daado, ya que el circuito
RS232 del puerto serie de la PC tiene su propio limitador de corriente. Sin embargo, no podemos tener
toda la gloria, ya que para los que se dedican a la
programacin in situ, es decir, los que programan
los PICs en el mismo circuito donde opera y el cual
se disea con un conector especialmente destinado
para la programacin, este programador o cargador
de PICs no funciona ya que la tierra del circuito no
es compatible con la tierra flotante de nuestro programador. Para tal caso, se supone que los que realizan este tipo de programacin se dedican profesionalmente a ello, y por ende contarn tambin con un
programador profesional que tenga sus propias fuentes de alimentacin. Cabe recordar que el objetivo
principal de nuestro prototipo es que sea econmico,
fcil de usar y confiable.
PorquutilizarelprogramaIC-PROG?
Con el mismo criterio que seleccionamos el hard-

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito

Figura 15

ware (programador JDM), seleccionamos el software (IC-PROG), basados en el que fuera ms compatible. El IC-PROG ofrece varias ventajas: La primera es que dentro de su men ofrece opciones importantes como la posibilidad de seleccionar el puerto a
utilizar, as como el prototipo de programador a utilizar; la segunda es que el programa ofrece un ambiente de trabajo muy amigable, ya que este programa y gracias a los aportes de muchos colaboradores

de todo el mundo, est traducido a


varios idiomas y tercero es que es
compatible con la mayora de los
sistemas operativos de la PC, adems que con frecuencia estn disponibles de manera gratuita versiones
actualizadas (vase www.ic-prog.com). En la figura 15 se muestra el
ambiente de trabajo de este programa. Si usted ha trabajado con ambientes de programas diferentes, podr observar que el ambiente del ICProg dispone de herramientas de trabajo muy completas.
Para cargar un programa en un microcontrolador PIC se requiere de
una serie de parmetros bsicos a
saber:
VDD=Voltajedealimentacinde5V
VSS=Referenciadetierradelcircuito
VPP=Voltajedeprogramacinde14V
PGD=Datosdeprogramacin
PGC=Pulsosderelojparalasincronizacin
En la figura 16 se muestra el circuito elctrico del
programador QUARK-PRO 2. Como puede observar, no existe ninguna fuente de alimentacin exter-

Figura 16

Club Saber eleCtrniCa

17

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

na. El circuito se alimenta del puerto serial


de la PC a travs del
conector DB9. El voltaje de alimentacin
VDD se obtiene de los
mismos pulsos de reloj
(pin 7 del DB9), los
cuales son rectificados
por los diodos D3 y
D4 y estabilizados a 5
volt mediante el diodo
zener D5 (5.1V) y el
capacitor C1. De la
misma manera, se obtiene el voltaje de programacin VPP, cargando el capacitor C2
Figura 17
y estabilizando con el
diodo zener
D6
(8.2V) el cual se suma
al voltaje del zener D5
(5,1V), obtenindose
as 13.3 Volt suficientes para realizar la programacin del PIC. Se
han adicionado el
LED L1 para visualizar el proceso de grabacin o lectura del
PIC, as como el LED
L2 para indicar que el
circuito se encuentra
alimentado, adems, si
se colocara un PIC en
corto, este LED se
apagar o bajar significativamente su intensidad.
Ms adelante explicaremos en detalle el proceso
completo de trasmisin (grabacin) y recepcin (lectura) de datos, as como la funcin de cada uno de
los componentes del programador.
En la figura 17 se muestra el circuito impreso sugerido para nuestro prototipo.
Una vez que haya armado el programador (quemador) QUARK-PRO 2, ya tiene listo su hardware,
ahora le falta el software, que para nuestro caso hemos sugerido el IC-PROG.
Vaya a la pgina de Internet www.ic-prog.com e
ingrese al rea de descargas (download), ah encontrar varias versiones de este programa tal como se
sugiere en la figura 18.
Descargue la ltima versin (a la fecha de redactar este artculo era la versin1.05C) y gurdela en

18 Club Saber eleCtrniCa

PiCaXe

una carpeta de su disco rgido. Tambin descargue el


archivo IC-Prog NT/2000 driver y gurdelo en la
misma carpeta, porque puede serle til en caso de
que est usando un sistema operativo Windows XP y
tenga conflictos en la ejecucin del IC-Prog.
Abra el archivo con Win-Zip y ejecute el programa icprog.exe (figura 19) para instalarlo. Una vez
que haya hecho esto, aparecer un cono de acceso
directo a su programa (figura 20) que le permitir
abrir directamente el programa cuando desee utilizarlo. Al ejecutar este cono aparecer una ventana
del programa (figura 15). Ahora slo queda probar
su proyecto. Conecte al puerto serial de su PC el programador y el led rojo (L2) deber encender. Seleccione cualquier dispositivo y elija la opcin programar, ejecute y observe el led verde (L1). Este deber encender conforme se lleve a cabo el proceso. Si

l oS m iCroControladoreS PiC: P equeaS C omPutadoraS multiProPSito

Figura 18

Figura 19

todo va bien: felicidades!, su proyecto funciona. Si tiene algn problema


o duda, por favor escriba a ateclien@webelectronica.com.ar y con gusto lo ayudaremos.
Si lo prefiere puede solicitar el montaje completo armado o el kit para
que Ud. lo arme, los cuales se proveen con el instructivo de trabajo y un
CD completsimo, con un Curso de
Microcontroladores PIC, varios prototipos completos, un curso de programacin, un montn de programas,
un clip completo en VCD, adems incluimos la ltima versin del programa de desarrollo para PICS MPLAB
de Microchip, a entornos de Desarrollo (MPLAB, MPASM, etc.) y gran
cantidad de aplicaciones.
Lista de Materiales
U1-Base(zcalo)paraCIde8pins
U2-BaseparaCIde18pins
U3-BaseparaCIde28pins(usar2
basesde14pins)
U4-BaseparaCIde40pins
DB9-ConectorDB9hembra
DI,D2,D3,D4-Diodo1N4148
D5-Diodozenerde5.1V1W
D6-Diodozenerde8.2V1W
Q1,Q2-TransistorBC547C
Q3-TransistorBC557C
C1, C2 - Electrolticos de 1000F x
25V
C3,C4-Cermicosde0.001F
R1-Resistenciade100k
R2-Resistenciade10k
R3-Resistenciade1.5k
R4-Resistenciade1k
R5-Resistenciade2.7k
L1-DiodoLedverdeyL2-DiodoLed
rojo
Varios
Placas de circuito impreso, gabinete
paramontaje,estao,*cablederedde
computadorastipoPCparaelconector DB9, conector macho y hembra
DB9paraconectaralaPC,etc.

Figura 20

*Elcableestincluidoenelkitarmadooparaarmar.

Club Saber eleCtrniCa

19

L os M icrocontroLadores
Pi c a X e :
Un sisteMa MUy fciL de PrograMar qUe no Precisa de costosos cargadores y
en Los qUe eL PrograMa PUede hacerse en Basic o en diagraMa de fLUjo.
Un Pic es un microcontrolador que precisa un
entorno de desarrollo (el MPLaB) para editar programas, simularlos, convertir el programa en un
archivo hexadecimal y realizar la simulacin que
verifique que est todo bien. Luego, se precisa un
cargador para descargar el programa en la memoria del Pic, y por ltimo se debe quitar el Pic
del cargador y colocarlo en el circuito donde va a
funcionar.
Un PicaXe no precisa nada de todo eso... es
un Pic al que se le ha grabado un programa interno (firmware) para que pueda ser cargado en la
misma placa donde va a funcionar por medio de un
software gratuito y en el que los programas pueden
escribirse en Basic o en diagrama de flujo.
introduccin
Desdequeelprimermicroprocesadorviolaluz
delmundo(el4004),ycuyanicayprincipaloperacineraunasumade1bit,secomenzconunacarreratecnolgicaquelejosdeverelfin,daadava
lograndocosasinimaginables,taleselcasodelos
microcontroladores que vendran a ser el ejemplo
resumidoyenminiatura,deunacomputadorapersonal(PC).
Un microcontrolador del sistema PICAXE puede
ser de 8, 18, 28 o 40 terminales o ms (figura 1), internamente dentro de su encapsulado, posee como
Figura 2

equipamiento mnimo
un microFigura 1
pro ce sa dor,
memoria
RAM, y distintas versiones de
memoria
ROM. Los
microcontroladores ms avanzados, aparte de lo mencionado
anteriormente, tambin llegan a poseer temporizadores ADC, DAC, Comunicacin en paralelo, USAR,
etc.
Un microcontrolador, desde el punto de vista de
operacin, puede considerarse como si fuera una PC,
ya que cuenta con el conjunto bsico de implementos que necesita para realizar sus funciones, esto es,
microprocesador, disco duro, memoria RAM, etc.
Clsicamente, cuando programamos un microcontrolador, de forma implcita se tiene que desarrollar
un programa que trabaja a manera del BIOS de una
PC, ya que lo primero que debemos tomar en cuenta
es la configuracin de sus puertos, ya sea como de
entrada o de salida, configurar sus dems herramientas como pueden ser los temporizadores, los ACD,
etc.
Han aparecido en el mercado, sistemas de desarrollo que permiten la programacin del microcontrolador de una manera relativamente fcil, en la cual
se puede emular el proceso que nos interesa desarrollar. Para la mayora de estos sistemas de desarrollo,
una vez que se tiene terminada la aplicacin, el paso
siguiente es armar el prototipo e insertar el microcontrolador debidamente programado. En la figura 2
se puede observar un kit de desarrollo para trabajar
con microcontroladores, en este caso con el sistema
PICAXE. Tenga en cuenta que no es preciso que
compre programa alguno para empezar a trabajar,
dado que lo puede bajar gratis de Internet, adems,
Ud. puede armar el cable de conexin a la PC y la
placa de circuito impreso del dispositivo que desee.
Hace apenas un tiempo, se ha lanzado al merca-

Club Saber eleCtrniCa

21

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC
Figura 3

do el sistema de desarrollo para programar microcontroladores PIC llamado PICAXE, que de por s,
quien ha utilizado estos microcontroladores, puede
constatar lo sencillo que resulta su programacin, el
sistema de desarrollo PICAXE hace las cosas todava ms sencillas para el programador.
El sistema de desarrollo PICAXE hace las cosas
todava ms sencillas para el programador, ya que

PiCaXe

cuenta con dos opciones de disear una aplicacin:


una por medio de diagramas de flujo y otra por medio de BASIC, y aunque esto no es ninguna novedad, (ya que estas herramientas existan con anterioridad), lo ventajoso del PICAXE radica en el hecho
de que se trata de un microcontrolador PIC que, en
un segmento de memoria ROM interna le ha sido
grabado desde su fabricacin, un firmware a manera
de BIOS que simplifica la forma de programarlo.
Al igual que en todos los sistemas de desarrollo,
existen ya predefinidas toda una serie de tarjetas de
prcticas sobre las cuales podemos emular las aplicaciones que hemos diseado, pero gracias al firmware que poseen los microcontroladores PICAXE
se puede armar la aplicacin completa incluyendo al microcontrolador, y
Figura 4
sobre la aplicacin programarlo sin necesidad del sistema de desarrollo, ni
del circuito programador de microcontroladores (vea la figura 3).
De hecho, el sistema PICAXE hace
ms accesible la programacin de microcontroladores a todas aquellas personas que tan slo cumplan con el nico e indispensable requisito que es el
de querer aprender. Vea en la figura 4
una pantalla de la aplicacin que nos
permitir realizar el programa que vamos a cargar adentro 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 5), con los
cuales, ya sea de manera consciente o totalmente implcita, recurrimos a ellos para elaborar un programa.
A lo largo de estas pginas, iremos aprendiendo
paso a paso la forma de cmo programar los microcontroladores bajo el sistema PICAXE. Para ello,
como primer paso, emplearemos una tarjeta de desarrollo de la cual proporcionaremos su circuitera para que ustedes la puedan armar, posteriormente despus de realizar algunas prcticas, avanzaremos sobre aplicaciones en donde se tenga al microcontrolador como elemento principal y al cual programaremos en sitio.

Ventajas del sistema Picaxe

Figura 5

22 Club Saber eleCtrniCa

Como dijimos, el PICAXE es un sistema de microcontroladores PIC muy fcil de programar ya que
utiliza un lenguaje BASIC muy sencillo, adems de

l oS m iCroControladoreS PiCaXe
terminales (PICAXE-08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28). En estos
microcontroladores ya se tienen
definidas las terminales que tienen la funcin de entrada y salida
de datos, adems de las terminales que sirven para programar al
PICAXE en sitio, o en otras palabras sobre la misma aplicacin.
En las figuras 6, 7 y 8 se muestran los circuitos esquemticos de
la disposicin de cada uno de los
microcontroladores PICAXE.
En la figura 6 se muestra el circuito esquemtico para un PICAXE de 8 terminales, de las cuales
las que estn identificadas como
Pin1 E/S, Pin2 E/S, Pin3 E/S y
Pin4 E/S, son terminales que pueden funcionar como entradas o
salidas de datos del exterior hacia
el microcontrolador. Las terminales identificadas como Serial
En y Serial Sal, se utilizan para
programar al microcontrolador a
travs del puerto serie de una PC,
para lo cual las terminales del conector identificado como CON1
Figura 7
se hacen llegar al conector DB9
de la PC, tal como se muestra en
la figura 9. Por otra parte, de la
misma figura 6 se observa que la
terminal identificada como Serial
Sal, cumple con una doble funcin, y dependiendo de dnde se
ubique un jumper selector en el
conector CON2, se podr programar al PIC o esa misma terminal
una vez programado el PIC tendr la funcin de una terminal de
salida de datos.
Del circuito esquemtico de la figura 7 se observa la forma en que
estn dispuestas las terminales de
un PICAXE de 18 terminales, de
Figura 8
las cuales las que se encuentran
identificadas como En 0, En 1,
En 2, En 6 y En 7 son dedicadas
exclusivamente para 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
Figura 6

contar tambin con la posibilidad de programarlos


con diagramas de flujo. Aprovecha todas las caractersticas de los microcontroladores de bajo costo que
incorporan memoria FLASH.
Est disponible en tres versiones que son el de 8

Club Saber eleCtrniCa

23

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC
Figura 9

Puerto serie de las


nuevas PC

Puerto serie de las


PC antiguas

PiCaXe

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 siguiente figura 9.
Una vez que han sido identificadas las terminales
a utilizar en el conector del puerto serie de la PC,
ahora lo que sigue es preparar la conexin hacia el
PIC tomando en cuenta las terminales, tal como se
aprecia en la figura 10.
Como se puede observar en la figura 10, se puede emplear (es recomendable) un plug
de los utilizados para conectar los audfonos a la salida de audio de un
walkman o discman, y tener un cable
con un conector DB9 en un extremo y
un plug de audio en el otro, tal como
se ilustra en la figura 11.

el sistema PicaXe

como Serial Sal y Serial En, se utilizan para programar al microcontrolador.


En el circuito de la figura 8 se muestra la forma
de conectar a un PICAXE de 28 terminales, en donde aparte de las terminales de entrada que se encuentran definidas como En 0 a En 7, tambin se cuenta
con las terminales de salida identificadas como Sal 0
a Sal 7, adems de 4 terminales para entrada de datos analgicos, y por ltimo las terminales de programacin del microcontrolador.

PICAXE es un sistema que emplea


un micro fcil de programar que utiliza un lenguaje BASIC muy simple, el
cual la mayora de los estudiantes pueFigura 10
den aprender rpidamente. Los microcontroladores (con memoria FLASH)
pueden ser programados una y otra
vez sin la necesidad de un costoso programador PIC.
El sistema no necesita de ningn programador,
borrador o complejo sistema electrnico. El programa puede escribirse en BASIC o por medio de un
diagrama de flujo y se carga mediante una conexin
de tres cables conectada al puerto serie de la computadora. El sistema PICAXE consiste en tres componentes principales:
1)Elsoftwareeditordeprogramacin.
2)ElcabledeconexinalpuertoserialdelaPC
3)ElchipPICAXE

Figura 11
Ya retornaremos con este tema, cuando sepamos
ms acerca de las caractersticas prinicipales de estos
chips. Veamos ahora en qu consiste el software gratuito.

el editor de Programas
Lo diferente del sistema de microcontroladores
PICAXE, con respecto a la programacin tradicional
de los microcontroladores PIC, radica en la progra-

24 Club Saber eleCtrniCa

l oS m iCroControladoreS PiCaXe

Figura 12 Carpeta progedit.

Figura 14 Ventana de bienvenida para la instalacin del software de los PICAXE.

Figura 15 Acuerdo de licencia.

Figura 16 Informacin del usuario.

Figura 13 Software de instalacin Programming Editor.

macin basada en un lenguaje BASIC y diagramas


de flujo. Esto hace que los microcontroladores del
sistema PICAXE sean muy fciles de programar, en
un ambiente amigable.
Para programar los microcontroladores PICAXE
debemos, en primera instancia, instalar el software
que contiene el ambiente de programacin, por lo
que describiremos la forma de hacerlo.
Si bien a lo largo de este texto vamos a explicar
paso por paso cmo se emplea el Programming Editor (Editor de Programas), es necesario que ya lo
tenga en su computadora.
El software lo puede bajar de nuestra pgina de
internet que usted ya conoce www.webelectronica.com.ar, debe hacer click en el cono password e ingresar la clave PICAXEPRO. Recuerde que para
bajar cualquier informacin debe ser socio del club
SE, lo cual es gratuito y puede inscribirse por Internet en slo un par de minutos (siga las instrucciones
que dimos para bajar el programa y encontrar cmo hacerse socio, si an no lo es).
Una vez que se tenga el software, se contar con
una carpeta con el nombre de progedit, a la cual
debemos acceder (observe la figura 12).
Luego debemos ingresar a la carpeta progedit y
tenemos que ubicar el programa identificado como
Programming Editor, al cual debemos hacerle un
doble click con el ratn de la PC para que ste se ejecute y se pueda instalar el programa de los PICAXE,
tal como se muestra en la figura 13.
Una vez que ejecutamos el programa de instalacin Programming Editor aparecer la ventana que
se muestra en la figura 14, sobre la cual debemos de
oprimir con el ratn el cuadro identificado como
next para que contine la instalacin.
Posteriormente ser desplegada la ventana donde
se muestra la licencia que debemos aceptar, porque
de otra manera no podremos continuar con la instalacin del software, por lo que nuevamente oprimiremos el cuadro identificado como next, esta accin

Club Saber eleCtrniCa

25

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Figura 17 Destino del software.

Figura 19 Ventana de instalacin del software.

Figura 20 Ventana final.

Figura 23 Diagrama de flujo para programar los PICAXE.

26 Club Saber eleCtrniCa

PiCaXe

Figura 18 Ventana de confirmacin de datos.

se indica en la figura 15.


Como paso siguiente, pregunta por el nombre del
usuario que normalmente utilizar el software, aqu
podemos instalar la aplicacin para que pueda ser
utilizada por todas las personas que utilicen la computadora, y despus de seleccionar esta accin tenemos que oprimir el cuadro identificado como next,
tal como se muestra en la figura 16.
Posteriormente debemos decir en dnde se guardar el software de programacin, que por lo general, aqu no tenemos que modificar dato alguno, a
menos de que querramos asignar otra localidad, tal
como se ilustra en la figura 17. Una vez seleccionada la opcin correspondiente procederemos a hacer
click sobre el cuadro identificado como next.
Por ltimo, aparecer una ventana de confirmacin para estar seguros de que los datos que introdujimos se encuentran correctos, si es as debemos
oprimir el cuadro identificado como next para que
contine
la
instalacin, tal
como se aprecia en la figura
18.
Cuando se est
instalando el
software se indica grficaFigura 21 Icono de acceso rpido en el mente, tal coescritorio de la PC.
mo se ilustra
en la figura 19,
aqu debemos
esperar hasta
que se terminen de instalar,
tanto el software de programacin como todas las
Figura 22 Lenguaje BASIC para programar los PICAXE.
utileras que

l oS m iCroControladoreS PiCaXe
sern empleadas por los PICAXE. En la figura 20 se
muestra la ventana que nos indica que ya se ha concluido con la instalacin, por lo que debemos oprimir
el cuadro identificado como finish. Una vez instalado el software de programacin de los PICAXE, en
el escritorio de nuestra PC encontraremos un cono
de acceso directo identificado como PICAXE Programming Editor, al cual, para comenzar a programar los microcontroladores, debemos hacer un doble
click con el mouse para que se ejecute el programa,
tal como se muestra en la figura 21. En la figura 22
y 23 se observa un ejemplo del ambiente grfico tanto en lenguaje BASIC como en diagrama de flujo.

comenzando a trabajar
con PicaXe
Para empezar a utilizar el sistema de microcontroladores PICAXE comenzaremos con una aplicacin muy sencilla, por lo que en primera instancia
nos dedicaremos a encender y apagar leds, de acuerdo al estado que guarden las terminales de entrada de
datos del microcontrolador. Cabe aclarar que conforme se avance en los temas de PICAXE podremos incorporar controles para motores, utilizacin de convertidores analgico - digital (ADC), etc. Recordemos que el sistema PICAXE est disponible en tres
versiones que son el de 8 terminales (PICAXE-08),
18 terminales (PICAXE-18) y 28 terminales (PICAXE-28), y en funcin de las terminales que tienen
disponibles para la entrada y salida de datos, sern
las que ocuparemos para
comunicar al microcontrolador con el exterior.
Comencemos pues,
con el primer circuito para visualizar la salida de
datos, y se trata de un circuito muy sencillo para
encender leds, el cual se
muestra en la figura 24.
Este circuito lo podemos
reproducir tantas veces
como terminales de salida
se tengan disponibles.
Ahora veamos cul
sera el primer circuito
que se recomienda para
ingresar datos discretos
(digitales) al microcon-

trolador, y se trata
de un interruptor
con reposicin automtica (push-boton), el cual se
muestra en el circuito de la figura
25.
De igual manera que en el caso
del circuito de la
figura 1, se puede
reproducir el cir- Figura 24
cuito de la figura
25 tantas veces como entradas tenga
disponible el microcontrolador.
Para realizar el
primer ejercicio
vamos a elegir uno
de los tres tipos de
mi cro con tro la do res PICAXE que
se tienen disponiFigura 25
bles, que en este
primer ejercicio se
trata del PICAXE18; pero posteriormente se realizarn ejercicios con
todos los tipos de microcontroladores PICAXE.
El circuito propuesto para esta primera experiencia se muestra en la figura 26, en la cual se tiene 1
entrada y 1 salida.
Para programar el microcontrolador PICAXE, la
primera accin que tenemos que realizar es abrir el

Figura 26

Club Saber eleCtrniCa

27

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

software de programacin llamado PICAXE Programming Editor y que previamente tuvo que ser
instalado.
Una vez que hacemos doble click sobre el cono
del software de programacin y accedemos al ambiente de programacin, aparece una ventana en
donde se configuran las opciones con las cuales trabajaremos.
Como primer paso, ya que es la primera vez que
utilizamos este software, es conveniente seleccionar
el men identificado como Language ya que aqu
es donde se configura el lenguaje con el cual estaremos interactuando, si desea ms detalles sobre esta
parte del programa, puede bajarlo de Internet o adquirir la revista Saber Electrnica N 215. De internet, puede bajarlo desde nuestra web con la clave
picaxepro.
Para empezar a trabajar debemos configuar el
programa (es muy sencillo, ya lo veremos ms adelante), seleccionando la opcin Modo del men
para elegir el PICAXE que vamos a emplear en
nuestro proyecto, qu frecuencia de operacin tendremos (generalmente 4MHz), etc. Luego, debemos
elegir la opcin modo del men para indicar en
qu puerto tendremos el circuito para descargar el
programa.
De la figura 27 observamos el ambiente de trabajo que presenta el software de programacin de los
microcontroladores PICAXE, en el cual se aprecia
un espacio en blanco que es donde se ingresan las
instrucciones en forma de BASIC.
Quinstruccionessonlasqueutilizaremos?
Si no sabemos, no es el fin del mundo y vamos
paso a paso. Para comenzar utilizaremos una opcin
que se cuenta en este software para programar a los
microcontroladores que son los diagramas de flujo,
por lo que como se indica en la figura 27, seleccionamos de la barra de herramientas la opcin Archivo, posteriormente Nuevo y por ltimo Nuevo
Organigrama, y lo que aparecer ser el ambiente
de trabajo para ingresar el diagrama de flujo de nuestro programa.
Para comenzar, ste va a ser nuestro campo de
trabajo ya que de forma intuitiva todos sabemos hacer diagramas de flujo. Pues bien, antes de seleccionar los bloques que lo constituirn, vamos a describir cul es el algoritmo del programa que queremos
desarrollar:
cuando se oprima un push - boton se encienda un led, y cuando se suelte el push - boton se apague el led.

28 Club Saber eleCtrniCa

PiCaXe

Figura 27

Figura 28

Figura 29

Figura 30

l oS m iCroControladoreS PiCaXe
Figura 31

Figura 32

Figura 33

Existen bloques prediseados que nos auxilian en


el manejo del estado que guardan las terminales de
entrada del microcontrolador de manera independiente, por lo que como se muestra en la figura 28 seleccionamos el recuadro que tiene indicado un rombo y dentro de este la palabra if.
Ahora lo que tenemos que hacer es seleccionar
qu condicin es la que utilizaremos, que para este
ejercicio ser la que se encuentra dentro del recuadro
que tiene una figura de un rombo y dentro de este la
palabra Pin (observe la figura 29), esto es, estaremos leyendo la condicin de una terminal de entrada
que, por defecto cuando lo ubicamos sobre nuestra

rea de trabajo, siempre se coloca la entrada 0 (terminal 17 del microcontrolador). Este bloque tiene la
tarea de leer el estado lgico de la terminal de entrada y la compara con un 1 lgico y dependiendo de si
la entrada es igual o no, tiene dos posibles salidas
Y por si es igual a 1 lgico y N por si la entrada
es 0 lgico. Y por ltimo, oprimimos el recuadro que
tiene una flecha en forma de U para regresar al men principal.
De acuerdo al algoritmo que planteamos lneas
atrs, lo que tenemos que hacer es que se encienda
un led cuando en la terminal de entrada se encuentre
un 1 lgico, o que el led se apague cuando en la entrada se encuentra un 0 lgico. Para esta actividad recurrimos al recuadro identificado con la palabra
Out, ya que es ah donde se encuentran los bloques que actan sobre las terminales de salida del
microcontrolador. Una vez en el interior del men de
bloques de salida, tenemos que seleccionar la accin
que har que el led se encienda o se apague, por lo
que en primer instancia seleccionamos el bloque
identificado con a palabra High el cual quiere decir que la salida se encender, por cierto cuando seleccionamos este bloque, por defecto se ubica la salida 0 (terminal 6 del microcontrolador), tal como se
ilustra en la figura 30.
Ya se tiene entonces, el bloque que encender el
led por lo que ahora requerimos la accin correspondiente con su apagado, y sta corresponde al recuadro identificado con la palabra Low que es precisamente el bloque que realizar la tarea de apagar el
led, y tambin por defecto al seleccionarlo por primera vez, se ubica en la salida 0 (figura 31).
Una vez que ya tenemos los bloques que necesitamos para ingresarle o sacarle datos al microcontrolador PICAXE, procedemos ahora a unir los bloques
para que realicen el algoritmo que fue planteado lneas atrs, para ello existe una herramienta que se
encuentra en un recuadro identificado con una lnea
vertical que en sus extremos tiene un *.
Cuando seleccionamos esta herramienta (figura
32) y acercamos el puntero del ratn sobre alguno de
los bloques que ya se encuentran en el rea de trabajo, se les aparece un crculo de color rojo en aquel
punto que requiere una conexin. Ya seleccionado el
punto de conexin trazamos la lnea hasta el siguiente punto de conexin de un bloque para realizar la
unin lgica del flujo de datos, cabe aclarar que para cada unin que se necesite realizar, se tiene que
volver a seleccionar la herramienta de conexin, en
la figura 33 podemos apreciar la conexin completa
de todos los bloques. Si ya terminamos de disear
nuestro diagrama de flujo y antes de programar el
microcontrolador, es importante saber si el programa

Club Saber eleCtrniCa

29

P royeCtoS C omPletoS

Con

Figura 34

m iCroControladoreS PiC
va a funcionar,
porque recuerden que no es lo
mismo desear
que el microcontrolador haga lo que segn
nosotros programamos, a lo
que realmente
hace en funcin
del programa

que ingresamos.
Existe en el software de los PICAXE la posibilidad de simular el programa, y eso es lo que vamos a
hacer, por lo que seleccionamos el recuadro que tiene el smbolo de una punta de flecha tal como se
ilustra en la figura 32, lo seleccionamos y enseguida
aparecern 2 ventanas, una de ellas indica el estado
lgico que guardan las salidas y entradas del microcontrolador, esta ventana aparece en la parte inferior
de la imagen de la figura 33.
Los recuadros verdes que se iluminan indican
qu salidas estn siendo activas con un 1 lgico,
mientras que los que aparecen debajo de los cuadros
verdes, indican la posicin de las seales de entrada
al microcontrolador, los cuales cuando se encuentran
en la posicin inferior significa que la entrada se encuentra en 0 lgico, y si estn en la posicin superior
la entrada se encuentra en 1 lgico. Por otra parte
tambin se observa que, dependiendo dnde se encuentre la posicin del switch, se iluminar en color
rojo la lnea que une los diferentes bloques que son
afectados por la respuesta del estado lgico de entrada, y de esta manera podemos visualizar qu es lo
que est sucediendo con nuestro programa.
Una vez que simulamos nuestro programa y observamos que las condiciones del algoritmo se cum-

PiCaXe

plen (encender un led cuando se tiene un 1 lgico en


la entrada y apagar el led cuando se tiene un 0 lgico en la misma entrada), ya estamos listos para dar el
siguiente paso, que es convertir el diagrama de flujo
a instrucciones de BASIC, para lo cual en la barra de
herramientas seleccionamos el men identificado
como Organigrama y despus la opcin Convertir el Organigrama a Basic (de manera rpida pudimos presionar la tecla F5).
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 26 para programar al PICAXE, ya
propusimos la manera en cmo se debe construir el
cable de programacin tomando en cuenta las terminales que se deben ocupar.
Para grabarle el programa al microcontrolador
debemos dirigir la flecha del ratn a la barra de herramientas y seleccionar el men PICAXE, despus la instruccin Ejecutar (o de manera rpida
F5), tal como se muestra en la figura 34. En ese mismo instante aparecer una ventana indicando que se
est llevando a cabo la programacin del microcontrolador PICAXE. Cuando se encuentra en la fase de
programacin, una barra que ir creciendo nos dir
la cantidad de cdigos que est siendo descargado
hacia el microcontrolador. Cuando se termina de grabar el microcontrolador aparecer una ventana que
nos indica la finalizacin del proceso de programacin, figura 35. Ahora podemos verificar en el microcontrolador que el programa que diseamos se
encuentra perfectamente bien, por lo que tenemos
que oprimir el push - boton y esta accin debe encencer el led, y cuando soltemos el push - boton el led
se debe apagar.

entrenador para PicaXe-08

Figura 35

30 Club Saber eleCtrniCa

En esta oportunidad disearemos nuestra primera tarjeta de entrenamiento universal para programar
microcontroladores PICAXE, y como en todo comienzo daremos inicio por lo ms sencillo y ms pequeo, esto es, los microcontroladores de 8 terminales denominados PICAXE 08.
En primera instancia recordemos cul es la configuracin de un PICAXE08, para en funcin de
ello tomar en cuenta de cuntas entradas y cuntas
salidas podemos echar mano y aprovecharlas al mximo. En la figura 36 tenemos el circuito de un entrenador para comenzar a trabajar con este microcontrolador.

l oS m iCroControladoreS PiCaXe

Figura 36

Tenemos la oportunidad de
disponer de un total de 4 E/S (4
entradas y 4 salidas), pero no nos
confundamos, si sumamos el nmero de salidas con el nmero de
entradas tendremos un total de 8 y
el PICAXE08 que manejaremos
tiene solamente 8 terminales.
Estoquieredecirquelasterminales de salida y de entrada
ocupantodaslasqueposee?
La respuesta es no, ya que
en esas 8 terminales deben estar
las 4 entradas, las 4 salidas adems de las 2 terminales de alimentacin y 2 para programarlo.
Especficamente para los PICAXE08 las terminales 3, 5, 6 y 7
cumplen con una doble funcin,
por lo que debemos tener cuidado
cuando los programemos, porque
por ejemplo la terminal 3 puede
comportarse como una terminal
de entrada o una terminal de salida, todo depende cmo la contemplemos cuando realicemos el

Fig. 37A

Figura 37 B

programa del PICAXE08. La


tarjeta entrenadora que proponemos tiene la posibilidad de explotar al mximo las propiedades del
PICAXE08, y ser por medio de
jumpers como se podr configurar
la circuitera, tanto para programar como para fijar entradas o salidas de datos (vea nuevamente el
circuito de la figura 36).
A continuacin describiremos cada parte de esta tarjeta entrenadora para que podamos sacarle el
mximo provecho.
En primer trmino identificaremos la ubicacin de donde instalar el microcontrolador PICAXE08, este debe encontrarse en
la base identificada como IC1 respetando la identificacin de las
terminales (vea la placa de circuito impreso para este entrenador en
la figura 37).
Los conectores identificados como ES1, ES2 y ES4 tienen 3 terminales, de las cuales, la del medio de cada uno de ellos se hace

Club Saber eleCtrniCa

31

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

llegar hacia la correspondiente terminal del microcontrolador PICAXE, las 2 terminales restantes de cada
conector (ES1, ES2 y ES4), una va hacia el bloque
destinado para conectar las entradas de datos, y la segunda se dirige hacia el bloque de terminales de salida de datos. Pues bien, para seleccionar si la terminal
del microcontrolador ser configurada como salida o
entrada, ser a travs de un jumper que, dependiendo
de cmo se conecte, unir la terminal del medio del
conector ya sea ES1 ES2 ES4, con el bloque de
terminales de entradas o al bloque de terminales de
salida, y de esta forma quedar configurada la circuitera del microcontrolador PICAXE para que est listo a recibir el programa con el cual trabajar el microcontrolador.
El conector identificado como PROG/SAL0 posee
3 terminales de las cuales la del medio se hace llegar a
la terminal 7 del microcontrolador PICAXE, esta terminal cumple con la doble funcin tanto de programar
al microcontrolador, como de fungir como terminal de
salida de datos si as se requiere, esta seleccin se lleva a cabo mediante la conexin de un jumper hacia la
ubicacin que se requiera.
Cuando se va programar un microcontrolador PICAXE08, es necesario que el jumper est ubicado hacia la posicin Prog en el conector PROG/SAL0,
porque de otra manera la programacin ser imposible
ya que no se tendr comunicacin entre la PC y el microcontrolador.
Cuando el jumper se encuentra ubicado hacia la posicin Sal0 en el mismo conector PROG/SAL0, se
tendr configurada la terminal del microcontrolador
como salida.
El procedimiento para ubicar el jumper del conector PROG/SAL0 ser de acuerdo a lo siguiente:
1 paso.- Ubicar el jumper hacia la posicin
ProgenelconectorPROG/SAL0paraprogramaral
microcontroladorPICAXE08.
2paso.-CambiareljumperhacialaposicinSal0
enelconectorPROG/SAL0sisevaautilizaresaterminaldelmicrocontroladorPICAXE08comosalida.
En el conector identificado como Entradas se tiene la posibilidad de hacerle llegar al microcontrolador
PICAXE08, el estado lgico de 4 diferentes entradas
digitales, las cuales pueden ser insertadas mediante circuitos externos o bien utilizar cualquiera de los 2 circuitos con push-boton que se tienen en el rea de experimentos, estos circuitos se muestran en la figura 25 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.

32 Club Saber eleCtrniCa

PiCaXe

En el conector identificado como Salidas se encuentra el reflejo de las 4 salidas digitales que posee el
microcontrolador PICAXE08, las cuales pueden hacerse llegar a circuitos externos en donde se refleje la
actividad del microcontrolador, o pueden ser utilizadas
los 2 circuitos con leds que se encuentran en el rea de
experimentos, estos circuitos se muestran en la figura
23. Para utilizar estos circuitos lo que tiene que hacerse es conectar el borne correspondiente ya sea S1 o S2
a cualquiera de las terminales de salida que son Sal0
Sal1 Sal2 Sal3 del conector Salidas.
El espacio identificado como PROGRA se encuentra ocupado por un conector de audio estreo tipo mini
Jack, el cual puede tener formas diferentes. El conector de audio estreo tan slo tiene 3 terminales, mismas
que sern utilizadas para comunicar al microcontrolador con una PC a travs del puerto serie (vea nuevamente en la figura 10 de este captulo el diagrama de
cmo se deben identificar las terminales tanto en la tarjeta de entrenamiento como en el conector DB9 que se
conecta al puerto serie de una PC). Las terminales del
conector de audio realizarn las siguientes actividades:
La lnea identificada con el nmero 1 sirve para
verificarqueelmicrocontroladorPICAXEseencuentraconectadoalpuertoseriedelaPC.
La lnea identificada con el nmero 2 sirve para
programaralmicrocontroladorPICAXE.
Lalneaidentificadaconelnmero3eslareferenciaGNDotambinconocidacomotierraelctrica.
Por ltimo, la tarjeta entrenadora tiene incorporado
un regulador de voltaje identificado como IC2 que posee la matrcula LM7805, y cuya misin es la de mantener un voltaje de 5 VCD para energizar al microcontrolador PICAXE y toda su circuitera, por lo tanto podemos energizar nuestra tarjeta de entrenamiento con
una pila de 9 VCD.
Listadecomponentesparaarmarla
tarjetacontroladora.
IC1 ........Base de 8 terminales
IC2 ............................LM7805
D1, D ..................Leds Verdes
D3 ............................Led Rojo
S1, S2 Interruptores Push boton
R1, R3, R4 ......10k 1/4 Watt
R2 ...................22k 1/4 Watt
R5, R6, R7 .....390 1/4 Watt
Varios:
Conector mini jack de audio, conector mini plug de
audio, alambres de conexin (cables), broche (conector) para pila de 9 VCD y circuito impreso.

l oS m iCroControladoreS PiCaXe

Primeras Prcticas con PicaXe


Con lo ledo hasta aqu, ya debe tener una idea de
lo que es un microcontrolador PICAXE y de cmo se
abre el Programa de edicin a los efectos de escribir un programa para descargar en la memoria del PICAXE.
Si bien ms adelante vamos a explicar cmo se hacen diagramas de flujo, a continuacin diremos la forma de utilizar algunos componentes bsicos y cmo se
los puede probar en el entrenador que vimos en la figura 36 luego de realizar la descarga de programas muy
sencillos.
Veremos cmo se puede verificar el funcionamiento de un LED por medio de programas escritos en BASIC, tambin probaremos interruptores, zumbadores,
interruptores y fotorresistencias.
Estas primeras experiencias sern de utilidad a la
hora de realizar la presentacin de los chips de 18 terminales para que luego pueda armar distintos proyectos como alarmas, juegos de luces, mascotas electrnicas, dados, etc.

Uso y Prueba de Leds:


Primeros Programas en Basic
Para que un microcontrolador desarrolle una tarea mediante la ejecucin del programa que tiene
grabado en su memoria, es preciso que el mismo est alimentado y posea componentes externos que
permitan su funcionamiento. Normalmente se emplean resistencias, diodos emisores de luz, capacitores, buzzers piezoelctricos (zumbadores), interruptores, etc.

Qutamaodebateraseutilizanenelectrnica?
Las bateras vienen en todo clase de tipos y tamaos. La mayora de las bateras consisten en un grupo de pilas, en donde cada pila provee cerca de 1.5V
(figura 38). Por lo tanto 4 pilas crean una batera de
6V y 3 pilas una de 4.5V.
Como regla general, mientras ms grande es la
batera, ms tiempo durar (ya que contiene ms qumicos y por lo tanto ser capaz de convertir ms
energa). Una batera de mayor voltaje no dura ms
que una batera de menor voltaje. Por lo tanto, una
batera de 6V formada por 4 pilas AA dura mucho
ms que una batera PP3 de 9V (batera de 9V comn), ya que por ser fsicamente ms grande contiene una mayor cantidad total de energa qumica. Por
lo tanto, aquellos equipos que requieren mucha potencia para operar (por ejemplo un reproductor porttil de CDs, el cual tiene un motor y un lser para
leer los CDs) siempre utilizarn pilas AA y no bateras PP3.
Los microcontroladores PICAXE generalmente
requieren entre 3 a 6V para operar, y por lo tanto es
mejor utilizar una batera formada por tres a cuatro
pilas AA. Nunca utilice una batera PP3 de 9V ya
que la alimentacin de 9V puede daar el microcontrolador.
Qutipodebateradeboutilizar?
Los distintos tipos de bateras contienen diferentes qumicos. Las bateras de carbn-zinc son las ms
baratas, y son adecuadas para utilizarse en muchos
circuitos de microcontroladores. Las bateras alcalinas son ms costosas, pero tienen una vida mucho

el objetivo de este texto es que Ud. utilice al microcontrolador PicaXe como un elemento multipropsito y le saque el mayor jugo posible.
Antes de explicar cmo se puede realizar la prueba de los componentes que trabajan con el microcontrolador, daremos algunas consideraciones generales
sobre las fuentes de energa que usaremos para alimentar a nuestro circuito.

Figura 38

Quesunabatera?
Una batera es una fuente de energa elctrica (es
una fuente de potencia porttil). Las bateras estn
constituidas por elementos qumicos que almacenan
energa. Al conectarlas a un circuito, esta energa
qumica se convierte en energa elctrica que puede
luego alimentar al circuito.

Club Saber eleCtrniCa

33

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

ms larga y se las debe emplear


cuando se necesita alimentar dispositivos que requieren mucha corriente tales como motores. Las bateras de litio son mucho ms costosas pero tienen una larga vida, y por
lo tanto se utilizan comnmente en
circuitos de computadoras, videocaseteras, etc. Otro tipo de bateras
son las bateras recargables, las
cuales pueden recargarse cuando se
agotan. Estas estn hechas, usualmente, de nquel y cadmio (Ni-cad) de hidrxido
de metal cadmio (NiMH).
Atencin: Nunca haga corto-circuito en los terminales de una pila o una batera. Las bateras alcalinas y las recargables pueden suministrar corrientes
muy grandes, y pueden calentarse tanto que pueden
llegar a explotar o derretir la carcasa. Siempre asegrese de conectar la batera en el sentido correcto
(rojo positivo (V+) y negro negativo -0V tierra-).
Si las bateras se conectan al revs, el microcontrolador corre peligro de calentarse y daarse.
Los paquetes de bateras se conectan a menudo,
al circuito integrado mediante cables con conectores
adecuados. Asegrese siempre que los cables rojo y
negro estn conectados en la direccin correcta.
Tambin es de mucha utilidad pasar los cables de la
batera a travs de los agujeros del tablero antes de
soldarlos en su lugar (esto proveer una unin mucho ms fuerte la cual ser mucho menos propensa a
soltarse).
Nunca use una batera PP3 de 9V para alimentar
directamente a un microcontrolador, ya que el mismo slo trabaja con voltajes entre 3 y 6V.
Algunos soportes de bateras pequeas requieren
la soldadura de cables a contactos metlicos en la caja. En este caso debe ser muy cuidadoso de no sobrecalentar los contactos metlicos. Si
los contactos se calientan mucho,
derretirn el plstico que los rodea y Figura 40
por lo tanto se caern. Una buena
manera de prevenir esto, es pedirle a
un amigo que sostenga los contactos
metlicos con una pinza pequea.
Las pinzas actuarn como un disipador de calor y ayudarn a evitar que
el plstico se derrita.
QuesunLED?
Un Diodo Emisor de Luz (LED) es un componente electrnico que emite luz cuando la corriente
pasa a travs de l. Un LED es un tipo de diodo especial.

34 Club Saber eleCtrniCa

PiCaXe

Figura 39

Un diodo es un componente que slo permite el flujo de corriente en


una direccin. Por lo tanto al utilizar un diodo, el mismo debe estar
conectado en la direccin correcta.
La pata positiva (nodo) de un LED
es ms larga que la pata negativa
(mostrada por una barra en el smbolo). La pata negativa tambin posee un extremo plano en la cubierta
plstica del LED. En la figura 39 se
puede observar el aspecto y el sm-

bolo de un led.
ParaquseutilizanlosLEDs?
Los LEDs se utilizan principalmente como luces
indicadoras. Los LEDs rojos y verdes se utilizan comnmente, en artefactos electrnicos tales como televisores para mostrar si el televisor est encendido
o si est en el modo stand-by (en espera). Los LEDs
estn disponibles en una variedad de colores diferentes, incluyendo rojo, amarillo, verde y azul. Existen
tambin LEDs ultra-brillantes, los cuales se utilizan
en luces de seguridad tales como las luces intermitentes utilizadas en bicicletas. Los LEDs infrarrojos
producen una luz infrarroja que no es visible al ojo
humano, pero que puede utilizarse en dispositivos tales como mandos a distancia de equipo de video.
CmoseusanlosLEDs?
Los LEDs slo necesitan una pequea cantidad
de corriente para operar, esto los hace mucho ms
eficientes que las lamparitas elctricas (esto significa, por ejemplo, que si se tuviera una alimentacin
por bateras un LED alumbrara por mucho ms
tiempo que una bombilla elctrica). Si se pasa demasiada corriente por un LED el mismo se puede daar,
es por esto que los LEDs normalmente se utilizan
junto con una resistencia en serie,
para protegerlos de corrientes excesivas.
El valor de la resistencia requerida
depende del voltaje de la batera utilizada. Para una batera de 4.5V se
puede utilizar una resistencia de
330 o 330R que es lo mismo (fig.
40), y para una batera de 3V lo apropiado es una resistencia de 120.
CmoseconectaunLEDaunmicrocontrolador?
Debido a que el LED slo requiere una pequea
cantidad de corriente para operar, el mismo se puede
conectar directamente entre un pin de salida del mi-

l oS m iCroControladoreS PiCaXe
crocontrolador y 0V (sin olvidar incluir la resistencia
en serie para proteccin).
CmosepruebaelLEDconelmicrocontrolador?
Despus de conectar el LED, el mismo puede
probarse utilizando un simple programa tal como el
siguiente:
Main:
High
Wait
Low
Wait
Goto

0
1
0
1
main

Este programa debe encender y apagar el LED


(conectado al pin de salida 0) una vez por segundo.
Para realizar esta primera prctica, ejecute el utilitario Editor de Programa segn lo descrito (descripto) en este mismo captulo, luego, escriba el programa anterior, conecte la placa entrenadora con el
PICAXE colocado, asegrese que el jumper correspondiente est en el lado de programacin, conecte
uno de los leds de la placa en la salida 0, descargue el programa (asegrese que el entrenador est
bien conectado por medio del cable al puerto serial
de la PC), luego corra el jumper a la posicin salida
y vea si obtiene el funcionamiento deseado.
Si el LED no funciona verifique:
1. que el LED est conectado en la salida 0
(pormediodeunsimplecablecito).
2. que se est utilizando la resistencia correcta
enlaplacaentrenadorayqueelLEDestenelsentidocorrecto.

3.queseestutilizandoelnmerodepincorrectodentrodelprograma.
4. que todos los componentes estn bien soldados.
Para la prueba, se puede emplear tambin el circuito de una mascota virtual (figura 41) dado que ser uno de los proyectos que presentaremos ms adelante.
El programa de la tabla 1 enciende y apaga 15 veces al LED conectado al pin de salida 0 utilizando
una tcnica de programacin BASIC llamada bucle
for...next (esta tcnica no puede utilizarse con organigramas).
_________________________________________
tabla 1: Programa para encender y apagar un led 15 veces
Main:
For b1=1to15 ;iniciodeunbucle
High 0
;seponeenaltolasalida0
Pause 500
;sehaceunapausademediosegundo
Low 0
;seponeenestadobajolasalida0
Pause 500
;sehaceunapausademediosegundo
Next b1
;secontinaconelbuclehastaquetermine
End
;findelprograma
_______________________________________________________________
El nmero de veces que el cdigo debe repetirse,
se almacena en la memoria del chip PICAXE utilizando una variable llamada b1 (el PICAXE tiene
14 variables nombradas de b0 a b13). Una variable
es un registro de almacenamiento de nmeros dentro del microcontrolador, que el mismo puede utilizar para almacenar nmeros a medida que el programa se ejecuta.
Le aconsejamos que lea o repase todo lo anterior
nuevamente, que baje de Internet el programa para trabaFigura 41
jar con PICAXE y practique
con el ejercicio que acabamos
de dar y con los que seguimos:

Uso y Prueba
de timbres y Zumbadores
Quesunzumbadorelectrnico?
Un zumbador electrnico es
un miniparlante (minibocina) de bajo costo que se utiliza para hacer sonidos. El sonido generado por el zumbador

Club Saber eleCtrniCa

35

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

cinta adhesiva al lado correcto del zumbador (el lado de bronce que no tiene
los cables!).
En algunas ocasiones puede que desee emitir sonidos
ms fuertes. En este caso lo
adecuado es utilizar un parlante (bocina) en vez de un
zumbador. Al utilizar parlantes es necesario conectar
un condensador (por ejemplo un capacitor electroltico de 10F) al circuito del
microcontrolador para evitar causarle daos al chip.
Recuerde que, al igual que
el zumbador, los parlantes
slo operan correctamente
si estn montados en una caja de sonido.
Despus de conectar el zumbador, el mismo puede probarse utilizando un simple programa tal como
el siguiente:
Figura 43

Figura 42

puede cambiarse alterando las seales electrnicas


suministradas por el microcontrolador.
Paraquseutilizanloszumbadores?
Los zumbadores se utilizan en una gran variedad
de diferentes productos para dar retroalimentacin
al usuario. Un buen ejemplo de esto es una mquina
expendedora, la cual emite un sonido cada vez que
se presiona un botn para escoger un refresco o algo
para comer. Este sonido da retroalimentacin al
usuario para indicarle que se recibi la seal del botn presionado. Otros tipos de zumbadores se utilizan a menudo en tarjetas musicales de cumpleaos,
para tocar una meloda cuando se abre la tarjeta.
Cul es la diferencia entre un zumbador y un
timbre?
El timbre (o sirena) contiene un pequeo circuito
electrnico, el cual genera la seal electrnica necesaria para emitir un sonido. Por lo tanto, cuando el
timbre se conecta a una batera siempre emitir el
mismo sonido. El zumbador no tiene este circuito y
por ende necesita una seal externa. Esta seal puede suministrarla un pin de salida del microcontrolador. El zumbador tambin requiere menos corriente
para operar y por lo tanto durar ms en circuitos alimentados por bateras.
CmoseUsanlosZumbadores?
La conexin de los zumbadores a un PICAXE es
muy sencilla. Simplemente conecte el cable rojo al
pin de salida del microcontrolador y el cable negro a
0V (tierra), figura 42. Tome en cuenta que los zumbadores ms econmicos no tienen cubierta plstica
exterior. En estos casos es necesario montar el zumbador sobre una seccin del circuito impreso (con
cinta adhesiva de doble contacto) para crear un sonido que se pueda escuchar. El circuito impreso acta
como una caja de sonido (baffle) y amplifica el sonido emitido por el zumbador. Asegrese de pegar la

36 Club Saber eleCtrniCa

Main:
Sound2,(65,100)
Sound2,(78,100)
Sound2,(88,100)
Sound2,(119,100)
Gotomain
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 43.
Veaqusencilloesprogramar
main (del ingls principal), es una etiqueta
que dice que est por empezar el programa.
sound2 es una instruccin que dice que el PICAXE genere un sonido y lo emita por la salida 2,
cuya frecuencia depender del primer nmero que
est entre parntesis en la instruccin y su valor puede ser cualquiera entre 0 y 127.
De la misma mamera que antes, podemos probar
este programa, utilizando el entrenador propuesto en
este captulo y conectando el zumbador en la salida
2. Ejecute el utilitario Editor de Programa luego,
escriba el programa anterior, conecte la placa entrenadora con el PICAXE colocado, asegrese que el
jumper correspondiente est en el lado de programacin, conecte el zumbador en la salida 2, descargue el programa (asegrese que el entrenador est
bien conectado por medio del cable al puerto serial

l oS m iCroControladoreS PiCaXe
de la PC), luego corra el jumper a la posicin salida
y vea si obtiene el funcionamiento deseado.
Si el zumbador no funciona verifique:
1.Queelvalordelsonido(primernmeroenel
parntesis)estentre0y127.
2.Queseestutilizandoelnmerodepincorrectodentrodelprograma.
3.Quetodaslasconexionesestnbiensoldadas.
Para probar este elemento tambin puede utilizar
el circuito de la mascota virtual.
En sntesis, al utilizar el comando sound, el primer nmero indica el nmero de pin (en los proyectos el pin 2 es utilizado frecuentemente). El siguiente nmero es el tono, seguido por la duracin. Mientras ms alto es el tono, mayor ser la altura tonal del
sonido (tome en cuenta que algunos zumbadores no
pueden emitir tonos muy altos y por lo tanto valores
mayores de 127, puede que no se escuchen).
Al utilizar sonidos mltiples puede incluirlos todos en la misma lnea. Por ejemplo:

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


Qusonlosinterruptoresdigitales?
Un sensor digital es simplemente un componente
del tipo interruptor, el cual slo puede estar en
dos posiciones: encendido apagado. Si dibujramos una grfica de las seales de encendido-apagado del interruptor a medida que se oprime, el mismo
se vera como se muestra en la figura 44. Los interruptores son componentes electrnicos que detectan
movimientos. Existe una gran variedad de interruptores diferentes, por ejemplo:

Sound2,(65,100,78,100,88,100,119,100)
El programa BASIC mostrado en la tabla 2 utiliza un bucle for...nextpara emitir 120 sonidos diferentes, utilizando la variable b1 para almacenar el
valor (tono) del comando sound.
El nmero almacenado en la variable b1 aumenta 1 en cada bucle (1-2-3-etc.), por lo tanto, al utilizar la variable b1 en la posicin del tono, la nota se
cambia en cada bucle. El programa de la tabla 3 realiza la misma tarea pero en orden inverso (contando
el tono en cuenta regresiva).
_________________________________________
Tabla 2
Main:
For b1 = 1 to 120 step-1 ,iniciar un bucle for next
Sound 2, (b1, 50)
,emita un sonido con el tono b1
Next b1
, siguiente b1
End
,fin del programa
______________________________________________________________
Tabla 3
Main:
For b1 = 120 to 1 step-1 ,iniciar un bucle for next
Sound 2, (b1, 50)
,emita un sonido con el tono b1
Next b1
,siguiente b1
End
,fin del programa
_________________________________________
Le aconsejamos que baje de Internet el programa
para trabajar con PICAXE y realice sus propios

Figura 44

1)interruptoresdebotndepresinquedetectan
cuandoelbotnhasidooprimido
2) micro-interruptores con palanquitas largas
quedetectanpequeosmovimientos
3)interruptoresdenivelquedetectansacudidas
4)interruptoresdelengeta(reedswitches)que
detectanelmovimientodeunimn
ParaquseutilizanlosInterruptores?
Los interruptores de botn de presin se utilizan
comnmente en dispositivos tales como teclados.
Los micro-interruptores se utilizan en alarmas contra
robos, para detectar si se ha quitado la cubierta de la
caja de la alarma. Los interruptores de lengeta (reed
switches) se utilizan para detectar la apertura de
puertas y ventanas, y los interruptores de nivel se utilizan a menudo para detectar movimiento en dispositivos tales como juguetes, secadores y alarmas. Los
smbolos para un interruptor deslizante y para un interruptor de preFigura 45
sin, se muestran en la figura 45.

Club Saber eleCtrniCa

37

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Los interruptores se instalan en los circuitos junto a


una resistencia como se
muestra en el diagrama de
la figura 46. El valor de la
resistencia no es importante, pero a menudo se
utiliza una resistencia de
10k. Cuando el interruptor est abierto, la
Figura 46
resistencia de 10k conecta el pin de entrada del microcontrolador a 0V, lo
cual da una seal de apagado (nivel lgico 0) al pin
de entrada del microcontrolador.
Cuando el interruptor se activa, el pin de entrada
se conecta al terminal positivo de la batera (V+). Esto da una seal de encendido (nivel lgico 1) al microcontrolador.
El interruptor puede probarse utilizando un simple programa tal como el mostrado en la tabla 4. Este programa encender o apagar una salida dependiendo si el interruptor es presionado o no. En este
programa las tres primeras lneas constituyen un bucle continuo. Mientras la entrada est apagada, el
programa seguir reinicindose una y otra vez. Si la
entrada est encendida, el programa salta a la etiqueta llamada flash. El programa luego enciende por
2 segundos la salida 0 antes de regresar al bucle principal. Note cuidadosamente la ortografa de la lnea:
if...theninput3 (entrada 3) es una sola palabra
(sin espacios en blanco). Es permitido utilizar tanto
pin3 como input3, ambas significan lo mismo. Note tambin que despus del comando then, nicamente est la etiqueta en este punto no se permite ninguna otra palabra aparte de la etiqueta.
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
Tabla 4

38 Club Saber eleCtrniCa

PiCaXe

mantenga presionado, se encender el led conectado


en la salida 0 durante 2 segundos. Recuerde que
para programar el jumper de la pata 7 debe estar del
lado de programacin y luego del lado de salida 0
para que el circuito trabaje segn lo programado.

Prueba y Uso de fotorresistencias


Quesunafotorresistencia?
Una fotorresistencia es un tipo especial de resistencia la cual reacciona a cambios en el nivel de luz.
La resistencia de la fotorresistencia cambia a medida
que vara la cantidad de luz que incide sobre la ventana del dispositivo. Esto permite a los circuitos
electrnicos medir cambios en el nivel de luz. Vea
en el captulo correspondiente a la explicacin del
funcionamiento de los PICAXE-18 la curva de respuesta y otros datos relevantes sobre las fotorresistencias.
Paraquseutilizanlasfotorresistencias?
Las fotorresistencias se utilizan en las lmparas
automticas de las rutas para encenderlas durante la
noche y apagarlas durante el da. Tambin se utilizan en muchas alarmas y juguetes para medir niveles
de luz.
La fotorresistencia es un sensor del tipo analgico. Un sensor analgico mide una seal continua
tal como luz, temperatura o posicin (en vez de una
seal digital de encendido/apagado como es el caso
de un interruptor). El sensor analgico provee como
seal un voltaje variable. Esta seal de voltaje puede representarse mediante un nmero entre el 0 al
255 (Por ejemplo: muy oscuro = 0, luz brillante =
255).
Las fotorresistencias se pueden utilizar en dos
maneras. La manera ms simple de utilizar una fotorresistencia es como un simple interruptor de encendido/apagado (digital) cuando el nivel de luz
sube por arriba de cierto valor (llamado el valor de
umbral), la fotorresistencia enviar una seal
de encendido; cuando el
nivel de luz est debajo
de cierto nivel, la fotorresistencia enviar una seal
de apagado.
En este caso, la fotorresistencia se coloca en una
configuracin de divisor
de voltaje con una resistencia estndar. El valor
de la resistencia estndar

l oS m iCroControladoreS PiCaXe
Figura 47

Figura 48

define el valor de umbral. Para fotorresistencias


miniatura el valor adecuado es 1k, para fotorresistencias ms grandes del tipo ORP12 una resistencia
de 10k es ms adecuada. Si se desea la resistencia
fija puede reemplazarse por una resistencia variable
de manera que el valor de umbral se pueda ajustar
para diferentes valores del nivel de luz (figura 46).
Una manera ms verstil de utilizar la fotorresistencia es midiendo un cierto nmero de valores de
luz diferentes, de manera que las decisiones se puedan tomar para niveles de luz cambiantes en vez de
un solo nivel de umbral fijo. Un valor cambiante se
conoce como un valor analgico.
Para medir valores analgicos el microcontrolador debe tener un convertidor analgico/ digital y
adems el software utilizado debe ser capaz de soportar el uso de este convertidor. La mayora de los
microcontroladores slo tienen convertidores a-d en
algunos de sus pines de entrada, por lo tanto el pin
de entrada se debe seleccionar cuidadosamente. en
Figura 49

el microcontrolador de 8 patas slo uno de los pines puede utilizarse.


El circuito electrnico para utilizar el convertidor a-d es un circuito divisor de voltaje idntico al
mostrado en la figura 47. Las mediciones analgicas se realizan dentro del microcontrolador mismo.
Para realizar una prueba, conecte la fotorresistencia, la misma se puede probar como un interruptor
digital utilizando un simple programa tal como se ve
en la tabla de la figura 48 (que tambin muestra el
diagrama de flujo que d origen al programa).
Este programa encender y apagar la salida 0
de acuerdo al nivel de luz.
Para probar la fotorresistencia conctela al entrenador de la figura 35 y siga los procedimientos que
hemos utilizado para la prueba de otros componentes, la misma se puede probar como un sensor analgico utilizando un simple programa, tal como se ve
en la figura 49.
El comando readadc se utiliza para leer el valor analgico (un nmero entre 0 y 255) dentro
de la variable b1. Una
vez que este nmero est en la variable b1, el
mismo se puede probar
para ver si es mayor que
100 mayor que 50. Si
es mayor que 100 la salida 4 se enciende, si
est entre 50 y 100 se
enciende la salida 0, y si
es menor de 50 ambas
salidas se apagan.
De esta manera culminamos este captulo
presentacin de los
microcontroladores PICAXE, veamos ahora
cmo trabajar con los
PICAXE-18.

Club Saber eleCtrniCa

39

Trabajando con MicroconTroladores


PicaXe de 18 P ines
recordemos: el microcontrolador PicaXe es un Pic al que se le graba un pequeo programita interno (firmware) para
que pueda ser programado directamente
sin la necesidad de un cargador y los programas se pueden hacer en basic y en
otros entornos muy amigables. en sntesis,
tiene todas las bondades del Pic pero son
mucho ms fciles de usar.

Reduccin en los niveles de existencia ya que un


microcontrolador reemplaza varias partes.
Simplificacin del ensamblaje del producto y
productos finales ms pequeos.
Gran flexibilidad y adaptabilidad del producto
ya que las funciones del producto estn programadas en el microcontrolador y no incorporadas en el
hardware electrnico.
Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrnico.

A modo de sntesis, por si Ud. ha comenzado la


lectura por esta seccin, digamos que el microcontrolador PIC (microcontrolador programable, figura
1) es a menudo descrito como una computadora en
un chip. Es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de entrada/salida, en una sola unidad.
Estos microcontroladores son comprados en
blanco y luego programados con un programa especfico de control. Una vez programado, este microcontrolador es introducido en algn producto para hacerlo ms inteligente y fcil de usar.
A manera de ejemplo, un horno de microondas
(figura 2) puede utilizar un solo microcontrolador
para procesar informacin proveniente del teclado
numrico, mostrar informacin para el usuario en la
pantalla y controlar los dispositivos de salida (motor
de la mesa giratoria, luz, timbre y magnetrn).
Un microcontrolador puede, a menudo, reemplazar a un gran nmero de partes separadas, o incluso
a un circuito electrnico completo. Algunas de las
ventajas obtenidas con el uso de microcontroladores
en el diseo de productos son:

Algunas de las aplicaciones que utilizan microcontroladores incluyen artefactos domsticos, sistemas de alarma, equipo mdico, subsistemas de automviles y equipo electrnico de instrumentacin.
Algunos automviles modernos contienen ms
de treinta microcontroladores, utilizados en una amplia variedad de subsistemas desde el control del motor hasta el cierre a control remoto.
En la Industria, los microcontroladores son
usualmente programados utilizando programacin
en lenguaje C. Sin embargo, debido a la complejidad
de este lenguaje, es muy difcil para estudiantes muy
jvenes de bachillerato, el uso adecuado de dichos
lenguajes.

Aumento en la confiabilidad debido al menor


nmero de partes.
Figura 1

Ms sobre el sistema PicaXe


El sistema PICAXE es un sistema de microcontrolador fcil de programar que utiliza un lenguaje BASIC muy simple, el cual la mayora de los estudiantes pueden aprender rpidamente. El sistema
PICAXE
Figura 2
explota las
ca rac te rs ticas nicas
de la nueva
generacin
de microcontroladores de bajo
c o s t o
FLASH.
Estos micro con tro -

Club Saber eleCtrniCa

41

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC
Figura 3

PiCaXe

Los PICAXE son microcontroladores cuya licencia corresponde a la empresa Education Revolution.
Son PICs comunes (de la empresa Microchip) que
poseen un pequeo programita interno que los hace
ms fciles de operar. De esta manera, un PICAXE
puede reemplazar a un PIC, pero un PIC no puede
reemplazar a un PICAXE (dado que el PIC no tiene
ese programita).

si Ud. compra un PicaXe, ver que


tiene la matrcula de un Pic, sin embargo
ladores pueden ser programados una y otra vez sin la
no es Un Pic comn, es un Pic que ha
necesidad de un costoso programador PIC.
El poder del sistema PICAXE radica en su senci- sido programado y as se ha convertido en
llez. No necesita de ningn programador, borrador o un PicaXe.
complejo sistema electrnico.
El programa puede escribirse en BASIC o por
medio de un diagrama de flujo y se carga mediante
una conexin de tres cables conectada al puerto serie
de la computadora.
El circuito microcontrolador PICAXE utiliza
nicamente tres componentes y puede ser ensamblado en un tablero experimental para componentes
electrnicos (protoboard), en una placa universal (de
las que se venden en casas de electrnica) o en una
placa PCB (vea la figura 3).
EL sistema PICAXE est disponible en distintas
variedades: 8 pines, 18 pines y 28 pines. El controlador PICAXE-28 provee 22 pines de entrada/salida (8
salidas digitales, 8 entradas digitales y 4 entradas
analgicas).
El sistema PICAXE-18 provee 8 salidas y 5 entradas y el sistema PICAXE-08 provee 5 terminales
para ser usados como entradas o salidas (con algunas
restricciones).
Las principales caractersticas de los microcontroladores PICAXE son:
Bajo costo, circuito de fcil construccin.
Hasta 8 entradas, 8 salidas y 4 canales analgicos.
Rpida operacin de descarga del programa a la
memoria del PICAXE mediante el cable serial.
Software Editor de Programacin gratuito y
de fcil uso.
Lenguaje BASIC simple y fcil de aprender.
Editor de diagramas de flujo incluido.
Puede ser programado tambin mediante el software Crocodile Technology.
Extenso nmero de manuales gratuitos y foro de
apoyo en lnea.
Tablero experimental y tutoriales disponibles.
Paquete de control remoto infrarrojo disponible.
Paquete de servocontrolador disponible.

42 Club Saber eleCtrniCa

El sistema PICAXE consiste en tres componentes principales:


1) el software editor de Programacin: Este
software debe ser ejecutado en una computadora y
permite utilizar el teclado de la PC para escribir programas en un simple lenguaje BASIC. Los programas tambin pueden generarse dibujando diagramas
de flujo. Alternativamente, el software Crocodile
Technology puede ser utilizado para simular circuitos electrnicos completos, programndolos con diagramas de flujo. Por favor vea el apndice de Crocodile Technology para mayor informacin.
2) el cable serie: Este es el cable que conecta el
sistema PICAXE a la computadora. El cable slo necesita ser conectado durante la descarga de programas. No debe ser conectado cuando el PICAXE est
siendo ejecutado debido a que el programa est permanentemente almacenado en el chip PICAXE, an
cuando la fuente de alimentacin ha sido desconectada.
Figura 4

t rabajando

Con

m iCroControladoreS PiCaXe

Hay dos tipos de cables para descarga disponibles (al usar el tablero experimental tutorial cualquiera de los dos cables puede ser utilizado), los cuales se conectan ya sea a un conector cabecera de tres
pines o a un conector hembra estreo pequeo (J35),
figura 4.
3) el chip PicaXe y el tablero electrnico: El
microcontrolador PICAXE ejecuta programas que
han sido descargados al mismo. Sin embargo, para
operar, el chip debe ser montado en un tablero electrnico que provea una conexin al chip microcontrolador.
El tablero electrnico puede ser diseado por el
usuario en un circuito impreso, en una interface prefabricada o, para ahorrar tiempo y por conveniencia,
utilizar el tablero electrnico tutorial incluido. Tanto
en la figura 4 como en la figura 5, se pueden ver tableros que asumen el uso del microcontrolador PICAXE-18 (18 pines) montado en el tablero electrnico tutorial.
A modo de ejemplo, y antes de continuar con la
descripcin de los microcontroladores PICAXE, damos a continuacin el procedimento que suele ser
empleado para trabajar con este sistema:

de

ro tutorial que contiene interruptores, sensores, una


pantalla de siete barras y conexiones para dispositivos de salida (es el tablero de la figura 4).
2) Tablero de Proyecto estndar: Este es un tablero de proyecto que provee de 8 salidas (encendido / apagado on/off) digitales mediante un controlador Darlington (figura 5).

Figura 5

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 6).
Figura 6

1. Escriba el programa en la computadora utilizando el software Programming Editor.


2. Conecte el cable de descarga desde la computadora al PICAXE.
3. Conecte el acumulador elctrico (batera) al
PICAXE.
4. Utilice el software Editor de Programacin
para descargar el programa. El cable de descarga
puede ser removido posteriormente a la descarga.
El programa comenzar a ejecutarse en el PICAXE automticamente. Sin embargo, el programa
puede ser reiniciado en cualquier momento presionando el interruptor de reinicio.

entrenador PicaXe-18
Vamos a explicar cmo se utiliza un entrenador
para PICAXE-18, para ello, se supone que Ud. posee
un tablero (placa de circuito impreso) ya montado. Si
no lo tiene, no se preocupe, en este libro explicaremos cmo puede hacerlo Ud. mismo.
Hay tres tipos de tableros electrnicos de tutoriales/proyectos disponibles:
1) Tablero electrnico tutorial: Este es un table-

18 P ineS

Preparando el Tablero Tutorial


Antes de usar el tablero tutorial, el mismo debe
ser conectado a las bateras elctricas.
La figura 7 nos muestra el enchufe hembra para
caja de bateras.
Figura 7
Localice los cables de la caja
de bateras y doble el cable desnudo sobre el aislante en ambos
cables. Coloque el cable rojo en
el conector hembra marcado
V+ y el negro en el conector
marcado O V.
Apriete los tornillos de manera que tanto el cable
desnudo como el aislante queden atrapados en el enchufe, esto provee una conexin ms fuerte que sim-

Club Saber eleCtrniCa

43

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

plemente prensando el cable desnudo. Utilice siempre la caja de bateras elctricas de 6V (se requiere
de 4 pilas AA) suministrada. NO use una batera PP3
de 9V.

el software Gratuito para Trabajar


con PicaXe
Requerimientos:
Windows 95/98/ME/NT/2000/XP
El software puede bajarlo de la pgina del fabricante (www.rev-ed.co.uk) o de nuestra web: www.webelectronica.com.ar (con la clave picaxe) y debe instalarse haciendo un click en el ejecutable, es decir, debe
instalar el software Editor de Programacin siguiendo las instrucciones en su pantalla. Si no lo tiene en su
computadora, deber tambin instalar el software
Adobe Acrobat Reader, ya que lo necesitar para
poder leer los manuales de ayuda.
ejecutando un Programa de Muestra
El siguiente programa enciende y apaga la salida
7 cada segundo. Cuando usted descarga este programa sobre el PICAXE del tablero (entrenador), el
punto decimal del display de siete segmentos debe
encenderse y apagarse cada segundo.
main:
high7
pause1000
low7
pause1000
gotomain
Este programa utiliza los comandos high y low
para controlar el pin de salida 7, y utiliza el comando de pause para causar un retardo (1000 ms = 1 segundo).
El ltimo comando, el comando goto hace que el
programa salte a la etiqueta main, que es el comienzo del programa. Esto significa que el programa es
un bucle perpetuo (lazo cerrado).
Note que la primera vez que la etiqueta es utilizada debe estar seguida por un smbolo de dos puntos (:). Este smbolo indica a la computadora que la
palabra es una nueva etiqueta.
A continuacin explicamos, paso a paso, cmo
realizar este primer ejercicio de prueba:
1. Conecte el cable PICAXE a un puerto serie de
la computadora y preste atencin a cul de los puertos lo conecta (normalmente COM1 COM2).
2. Ejecute el Software Programming Editor.

44 Club Saber eleCtrniCa

PiCaXe

3. En el men desplegable escoja Ver -> Opciones para acceder a la pantalla de opciones (sta
puede que aparezca automticamente).
4. Haga click en Modo y seleccione PICAXE18
5. Haga click en Puerto Serie y seleccione el
puerto serie al cual el cable PICAXE est conectado, luego haga click en OK.
6. Escriba el siguiente programa:
main:
high 7
pause 1000
low 7
pause 1000
goto main
(Tome en cuenta el smbolo (:) directamente despus de la etiqueta main y los espacios entre los
comandos y los nmeros).
7. Asegrese que el circuito PICAXE est conectado al cable serie y a las bateras.
8. Seleccione PICAXE -> Ejecutar. Una barra de
descarga de programa debe aparecer mientras el
programa es descargado. Al terminar la descarga, el
programa debe comenzar a ejecutarse automticamente. El punto decimal LED -Light Emitting Diode:
Diodo Emisor de Luz- en la salida 7, deber encenderse y apagarse una vez por segundo.

instrucciones para Uso en Windows


Damos a continuacin un listado de botones correspondientes a la barra del men (figura 8):
Open = Abrir
Save = 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.

Figura 8

t rabajando

Con

m iCroControladoreS PiCaXe

2. Verifique que las bateras estn conectadas al


PICAXE.
3. Asegrese que el software Programming
editor est en el modo correcto (La palabra PICAXE-18 debe aparecer en la barra de estado en la esquina inferior izquierda de la pantalla).
4. Haga click en Ejecutar (o en el respectivo botn de la barra de herramientas)
b) Para salvar un programa:
1. Haga click en Archivo -> Guardar como(
en el respectivo botn de la barra de herramientas)
2. Escriba el nombre bajo el cual quiere guardar
el archivo
3. Haga click en <OK>
c) Para abrir un programa guardado:
1. Haga click en Archivo -> Abrir (o en el respectivo botn de la barra de herramientas)
2. Seleccione el archivo deseado de la lista haciendo click en el mismo.
Haga click en <OK>
d) Para iniciar un nuevo programa:
1. Haga click en Archivo- Nuevo
e) Para imprimir un programa:
1. Haga click en Archivo -> Imprimir (o en el
respectivo botn de la barra de herramientas)
2. Si desea que a cada lnea del programa se le
asigne un nmero, asegrese de marcar la casilla
Imprimir nmeros de lnea.
3. Haga click en <OK>

continuamos aprendiendo a
Hacer Programas en basic

18 P ineS

Recuerde que los comentarios [explicaciones


posteriores al smbolo de apstrofe ()] facilitan mucho la comprensin de cada lnea del programa. Estos comentarios son ignorados por la computadora al
descargar un programa al PICAXE. Todo lo que en
una lnea est despus de () es ignorado por el programa.
Las etiquetas (main: en el programa de la tabla
1) pueden ser cualquier palabra (con la excepcin de
palabras claves como por ejemplo switch) pero
DEBEN empezar con una letra. Cuando la etiqueta
es definida por primera vez debe llevar al final el
smbolo de dos puntos (:). Esto indica a la computadora que la palabra es una nueva etiqueta.
Este programa utiliza el comando wait. Los comandos waity 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
ms cortos (el mismo se asigna en milsimas de segundo). Al comando wait se le pueden asignar nmeros del 1 al 65, los cuales deber escribirse posterior al comando. Al comando pause se le pueden
asignar nmeros entre 1 y 65535.
Es una buena tcnica de programacin usar tabulaciones (o espacios) al inicio de lneas sin etiquetas
de manera que los comandos estn alineados. El trmino espacios en blanco es utilizado por programadores para definir tabulaciones, espacios y lneas
en blanco. Dichos espacios en blanco, utilizados
correctamente, hacen al programa mucho ms fcil
de leer y entender (vea las tabulaciones que hemos
hecho en el programa de la tabla1; en la primera columna ponemos etiquetas o definimos variables, en
la segunda columna colocamos las instrucciones y en
la tercera columna estn los comentarios que facilitan la comprensin del programa).
Nota: Algunas versiones antiguas de lenguaje
BASIC utilizan nmeros de lnea en vez de etiquetas para trabajar con los comandos goto. Desafortu-

Utilizando el comando
symbol
Algunas veces es difcil symbol dp = 7
recordar cules pines estn symbol buzzer = 1
conectados a cules dispositivos. El comando symbol main:
puede, en estos casos, ser utilizado al inicio del programa
para renombrar las entradas y
salidas. Note que este programa asume la conexin de
un timbre externo al pin de
salida 7. Ver tabla 1.

de

TABLA1
renombrar salida 7 dp (punto decimal)
renombrar salida 1 buzzer (timbre)
high dp
low buzzer
wait 1
low dp
high buzze
wait 1
goto main

hacer una etiqueta llamada main


LED encendido
timbre apagado
esperar un segundo
LED apagado
timbre encendido
esperar 1 segundo
regresar al inicio (main)

Club Saber eleCtrniCa

45

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

nadamente, este sistema puede ser muy inconveniente ya


que si el programa es modificado posteriormente agregando o eliminando lneas,
todos los nmeros de lnea
posteriores deben ser modificados. El sistema de etiquetas utilizado en la mayor parte de las versiones modernas
de lenguaje BASIC, supera
este problema automticamente.
El cerebro del sistema
PICAXE es el microcontrolador
de
18
pines
PIC16F627. Este PIC posee
un programa que ha sido grabado para convertirlo en un
elemento del sistema PICAXE (se llama PICAXE18).
Aunque los microcontroladores son relativamente baratos (algunos microcontroladores cuestan menos de 2 dlares), los mismos son dispositivos muy
complejos que contienen miles de transistores, resistencias y otros componentes electrnicos.
El microcontrolador PICAXE almacena sus programas (firmware) en su memoria FLASH no voltil. La ventaja de esta memoria es que no pierde el
programa descargado cuando la fuente de alimentacin (bateras) es desconectada del circuito (cuando
las bateras son reconectadas el programa se inicia
nuevamente). Sin embargo, cuando desee reprogramar el PICAXE, puede descargar un nuevo programa; esta accin borra el viejo programa almacenado
en la memoria y almacena el nuevo programa en la
memoria de programa. La memoria slo permite el
almacenamiento de un programa a la vez.
Tome en cuenta que no es posible sacar el programa fuera de la memoria del PicaXe para
leerlo; por ende, si desea guardar el cdigo de un
programa para utilizarlo posteriormente debe
guardarlo en su computadora antes de descargarlo
al PicaXe. esto es una restriccin que el operador
debe tener en cuenta, dado que en un Pic s es posible leer el programa grabado en la memoria.
El microcontrolador contiene adems de la memoria ROM (Read Only Memory - Memoria de slo lectura), memoria temporal RAM (Random Access Memory - Memoria de Acceso Aleatorio).
La memoria RAM es una memoria temporal
utilizada para almacenar informacin mientras el

46 Club Saber eleCtrniCa

PiCaXe

Figura 9

programa es ejecutado. La misma es utilizada normalmente para almacenar respuestas de sumas matemticas que el microcontrolador hace mientras est
trabajando. Esta memoria es voltil, lo cual significa que tan pronto las bateras son desconectadas, la
informacin almacenada en la misma se pierde.
Hay 14 bytes de memoria temporal disponibles y
los mismos son denominados desde b0 a b13 dentro
de los programas.

el circuito del entrenador PicaXe-18


La figura 9 muestra el circuito bsico PICAXE-18.
El resistor de 4k7 (4700), conectado en el pin 4, se
usa como resistencia de pull-up para quitar al micro
del estado de reset. Si desea colocar un sistema de reset, debe conectar un interruptor o pulsador entre el pin
4 y masa (tierra, gnd) de modo que al ser presionado se
produzca el estado de reset del micro.
Tome en cuenta que el microcontrolador PicaXe no es un microcontrolador en blanco... ya
tiene un programa interno para que pueda ser usado con el utilitario Programming editor!
El microcontrolador PICAXE est preprogramado con un firmware de carga que permite la descarga directa de programas con el cable suministrado de
slo tres terminales. Los microcontroladores PIC comunes no tienen este programa y por ende no pueden ser programados mediante el sistema PICAXE.
El microcontrolador PICAXE-18A es casi idntico al microcontrolador PICAXE-18 estndar, pero es
ligeramente ms costoso ya que tiene el doble de ca-

t rabajando

Con

m iCroControladoreS PiCaXe

de

18 P ineS

pacidad de memoria (aproxiTABLA2


madamente 80 lneas de programacin BASIC en vez de symbol counter = b0
definir la variable counter como b0
40) y salidas analgicas de alta symbol dp = 7
asignar al pin 7 con el dp
resolucin (en vez de baja remain:
for counter = 1 to 15 iniciar un bucle for.....next
solucin).
high dp
encender pin 7
El sistema PICAXE utiliza
pause 500
esperar 0,5 segundos
una interface al puerto serie de
next counter
siguiente counter (b0)
la computadora muy simple (es
end
fin del programa
un cable de tres hilos). Aunque
esta interface no utiliza verdaFigura 10
deros voltajes RS232, es de muy
bajo costo y ha tenido un desempeo confiable en casi todas
las computadoras modernas.
Vea en la figura 10 cmo se conecta este cable en la placa del
entrenador.
Es altamente recomendable
utilizar esta interface, ya que cada vez que quiere programar el
chip no debe quitarlo de la placa
de circuito impreso, slo debe conectar el cable en- mero de veces que el cdigo debe ser repetido es altre la placa y la computadora, ejecutar el programa macenado, usando la variable b0 (el PICAXE tiene
Editor Programming y hacer la descarga corres- 14 variables de 1 byte para uso general, nombradas
de b0 a b13), en la memoria RAM del chip PICAXE.
pondiente... asi de simple!
Nota:La mayor parte de las computadoras mo- Estas variables pueden ser renombradas usando el
dernas tienen dos puertos serie, normalmente deno- comando symbol con el fin de hacerlas ms fcil de
minados COM1 y COM2. El software Editor de recordar.
Note nuevamente cmo los espacios en blanco
Programacin (Programming Editor) debe ser configurado con el puerto al cual el microcontrolador es- han sido utilizados para mostrar claramente todos los
t conectado, para ello, en el men desplegable se- comandos contenidos entre los comandos for y next.
leccione Ver -> opciones -> Puerto serie, para elegir el puerto serie correspondiente en su computadora.
controlando la
Si ya compr un cable de sistema PICAXE armaVelocidad de un motor
do y utiliza una computadora que posee el antiguo conectador de puerto serie de 25 pines, utilice un adapDebido a que el sistema PICAXE opera muy rtador 9-25 para poder conectar el cable PICAXE de 9
pines. Estos adaptadores pueden ser comprados en pidamente, es posible controlar la velocidad de mocualquier tienda (casa) especializada en computado- tores, encendindolos y apagndolos muy rpidaras. Pero tambin, Ud. puede armar el cable siguien- mente. Este tipo de control se conoce como PWM
(Pulse Width Modulation, Modulacin por ancho del
do las instrucciones que le daremos oportunamente.
impulso). La PWM es una buena tcnica de control
ya que permite a los motores operar a bajas velocidades manteniendo un alto torque (fuerza de giro). La
Utilizando bucles Fornext
PWM es utilizada frecuentemente en muchas aplicaCon frecuencia, es til repetir una parte de un ciones, por ejemplo, para controlar la velocidad de
programa varias veces, por ejemplo al encender/apa- taladros y destornilladores elctricos. Para que la
gar sucesivamente un diodo LED (Light Emitting PWM funcione correctamente se necesita de motores
Diode, Diodo emisor de luz). En estos casos un bu- de alta calidad. Los programas aqu mostrados estn
diseados para motores solares y puede que no
cle fornext puede ser utilizado.
El programa de la tabla 2 enciende y apaga 15 ve- funcionen correctamente si se utilizan como motores
ces el diodo LED conectado al pin de salida 7. El n- de juguete baratos. Para la conexin del motor en

Club Saber eleCtrniCa

47

P royeCtoS C omPletoS
nuestro entrenador, vea
la figura 11. El programa
se muestra en la tabla 3.
Intente seguir el programa para ver si puede
comprenderlo, si no lo
logra.... no se preocupe,
recin estamos empezando.

Uso de Timbres y
Zumbadores
electrnicos en el
sistema PicaXe

Con

m iCroControladoreS PiC

PiCaXe

TABLA3
symbol mark1 = b6
symbol space1 = b7
symbol mark2 = b8
symbol space2 = b9

renombrar variables

let mark1 = 2
let space1 = 10

precargar mark1/space1 con relacin de 2:10 (1:5)

let mark2 = 20
let space2 = 10

precargar mark2/space2 con relacin de 20:10 (2:1)

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

Los timbres emiten


un sonido cuando estn
conectados a una fuente
de alimentacin.
Este sonido, usualmente, est fijo a una
frecuencia determinada;
as, los timbres pueden
emitir un solo tono.
Los zumbadores electrnicos usan un tipo de sistema y pueden ser utilizados para emitir sonidos en
diferentes tonos al proveerlos con una salida de diferentes frecuencias.
El sistema PICAXE puede crear automticamente sonidos de diferentes frecuencias utilizando
el comando sound (ver tabla 4).
Para probar este programa se debe instalar un
zumbador electrnico en el tablero tutorial (entrenador). Para hacer esto, ubique los conectores del
zumbador, marcados con la palabra PIEZO (figuras
12 y 13). Luego suelde el cable rojo al agujero marcado + y el cable negro al agujero marcado -.
En el programa, el primer nmero indica el nmero de pin (en el tablero tutorial el pin de salida 6
es utilizado). El siguiente nmero es el tono, seguido por la duracin del sonido (longitud). Mientras
ms alto sea el nmero de tono, mayor ser la altura tonal del sonido (frecuencia, note que algunos
zumbadores no pueden producir tonos muy altos y por lo tanto nmeros de tono mayores de main:
127 puede que no sean escusound 6, (50,100)
chados).
sound 6, (100,100)
El siguiente programa que
sound 6, (120,100)
vemos en la tabla 5 utiliza un
pause 1000
bucle fornext para producir
goto main

48 Club Saber eleCtrniCa

iniciar un bucle for...next


encender motor
esperar tiempo indicado por mark1
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

Figura 11

Figura 12

TABLA4
emitir un sonido en salida 6 con frecuencia 50 y longitud 100
emitir un sonido en salida 6
emitir un sonido en salida 6
esperar 1 segundo
saltar al inicio del programa (main)

t rabajando
Figura 13

Con

m iCroControladoreS PiCaXe

de

18 P ineS

TABLA5
main:
for b0 = 1 to 120 iniciar un bucle for....next
sound 6, (b0,50) emitir sonido en salida 6 con frecuencia b0 y longitud 50
Next b0
siguiente b0
end
TABLA6
main:
for b0 = 120 to 1 step -1 iniciar un bucle for.....next (en cuenta regresiva)
sound 6, (b0, 50)
emitir sonido en salida 6 con frec. b0 y longitud 50
next b0
siguiente b0
end

120 sonidos diferentes. El nmero almacenado en la variable b0 aumenta 1


unidad en cada bucle (1-2-3, etc.). Por
consiguiente, al utilizar la variable b0
TABLA7
para asignar el tono, el mismo puede main:
ser cambiado en cada bucle.
sound 6, (b0, 50)
emitir sonido en salida 6
En la tabla 6 se ve el programa que
let b0 = b0 + 1
sumar 1 al valor de la variable b0
realiza la misma funcin pero cambiangoto main
ir a inicio del programa (main)
do el tono en orden descendente, es decir de 120 a 1.
TABLA8
En la tabla 7 vemos el programa que main:
hacer etiqueta llamada main
emite todos los 256 sonidos posibles.
if input6 is on then flash si la entrada 6 (Input 6) est encendida ir
En este ltimo caso el programa es
a flash sino ir a main
ejecutado indefinidamente. Sin embargoto main
go, es importante comprender cmo el flash:
hacer etiqueta llamada flash
PICAXE ejecuta las operaciones matehigh 7
encender salida 7 (output 7)
mticas.
pause 2000
esperar 2 segundos
El PICAXE slo interpreta nmeros
low 7
apagar salida7
en byte, o sea nmeros enteros del 0
goto main
ir a main
al 255. No puede interpretar fracciones,
ni nmeros negativos, ni nmeros mayores de 255. terruptores de botn de presin conectados a las enAs, si se trata de sumar 1 a 255, el PICAXE saltar tradas 6 y 7 (figura 14). Adicionalmente se pueden
de nuevo a 0. Por consiguiente, en el programa ante- conectar otros dos interruptores a las entradas 0 y 1.
En la tabla 8 vemos el programa que indica al PIrior, el valor de la variable b0 se comportar de la siCAXE cmo reaccionar cuando los interruptores de
guiente manera mientras el programa se ejecuta:
botn de presin son presionados. En el programa el
pin de salida 7 se ilumina cada vez que el interruptor
252-253-254-255-0-1-2- etc.
de botn de la entrada 6 es presionado.
En este programa las tres primeras lneas forman
un bucle continuo. Si la entrada est apagada el proUso de entradas con sensores digitales
grama se reiniciar una y otra vez.
Un sensor digital es un simple sensor del tipo interruptor que slo puede estar en dos posiciones: Figura 14
encendido apagado. Algunos ejemplos de sensores
digitales comunes son:
microinterruptores
interruptores de botn de presin e interruptores oscilantes
interruptores de lengeta
El tablero del entrenador propuesto tiene dos in-

Club Saber eleCtrniCa

49

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Una vez que el interruptor es presionado, el programa salta a la etiqueta llamada flash. El programa luego activa la salida 7 por dos segundos antes
de regresar nuevamente a main.
Note cuidadosamente la ortografa en la lnea del
comando ifthen entrada6 (input6) es una sola
palabra (sin espacios en blanco). Note tambin que
nicamente se debe escribir la etiqueta posterior al
comando then no se permite ninguna otra palabra
aparte de la etiqueta.

Uso de entradas con sensores analgicos


Los sensores analgicos miden seales continuas
tales como luz, temperatura o posicin.
El sensor analgico provee una seal que consisFigura 15

PiCaXe

sistencia montada en el mismo, la cual est conectada a la entrada 2 (input2).


La fotorresistencia es un componente cuya resistencia cambia al variar la intensidad de luz que incide sobre la misma, es decir, su resistencia cambia segn el nivel de luz.
Bajo luz brillante su resistencia es baja (tpicamente alrededor de 1k) mientras que en la oscuridad, su reFigura 17
sistencia es muy alta (tpicamente alrededor de 1M).
En la figura 16 se muestra el
smbolo y la curva tpica de resistencia contra intensidad de
luz para la fotorresistencia. La
fotorresistencia est conectada
a la entrada 2 en configuracin
de divisor de voltaje. Tal como
se muestra en la figura 17.

cmo se leen las entradas analgicas

te en un voltaje variable (figura 15). Este voltaje


puede luego ser representado con un nmero del 0 al
255 (Por ejemplo muy oscuro = 0, luz muy brillante
= 255). Ejemplos tpicos de sensores analgicos son:
Fotorresistencias LDRs (Light Dependent Resistors - Resistencias variables con la luz ).
Termistores
Resistencias variables (potencimetros)
El tablero tutorial (entrenador) posee una fotorreFigura 16

50 Club Saber eleCtrniCa

El valor de una entrada analgica puede ser fcilmente copiado dentro de una variable utilizando el
comando readadc. Luego, se puede probar el valor
de la variable (0 a 160). El programa de la tabla 9 enciende un diodo LED si el valor es mayor que 120 y
otro diodo LED, si el valor es menor de 70. Si el valor est entre 70 y 120, ambos diodos LED permanecen apagados.
Note que el microcontrolador PICAXE-18 tiene
tres canales o entradas analgicas nombradas del 0 al
2. En el tablero de nuestro entrenador la fotorresistencia est conectada permanentemente al pin 2, pero los otros dos canales (0 y 1) estn libres para conectar otros sensores.
Frecuentemente, al utilizar sensores anlogos es
necesario calcular el valor
de umbral necesario para
el programa (esto es, los valores 70 y 120 en el programa anterior). El comando
debug permite ver fcilmente el valor en tiempo real
de un sensor, permitiendo
calcular el valor umbral experimentalmente.
Al ejecutar el programa de
la tabla 10 aparecer una
ventana de depuracin (debug) en la pantalla de la
computadora, indicando el

t rabajando

Con

m iCroControladoreS PiCaXe

de

18 P ineS

serie de la computadora. Recuerde tomar nota del puerto serie al cual conecta el cable (normalmente COM1
main:
hacer etiqueta llamada main
COM2).
readadc 2,b0
leer seal de canal 2 en variables b0
2. Inicie el software Editor de Proif b0 > 120 then stop
si b0 >120 ir a stop
gramacin
if b0 < 70 the bot
si b0 <70 ir a bot
3. En el men desplegable seleccione
low 1
sino apagar 1
Ver -> Opciones para acceder a la
low 2
y apagar 2
pantalla de opciones (sta puede que
goto main
ir a main
aparezca automticamente).
4. Haga click en la lengeta Modo
top:
hacer una etiqueta llamada top
y seleccione PICAXE-18.
high 1
encender 1
5. Haga click en la lengeta Puerto
low 2
apagar 2
Serie y seleccione el puerto serie al
goto main
ir a main
cual ha conectado el cable PICAXE.
Haga click en OK
bot:
hacer una etiqueta llamado bot
6. Cree un nuevo organigrama hahigh 2
encender 2
ciendo click en el men Archivo ->
low 1
apagar 1
Nuevo Organigrama.
goto main
ir a main
7. Dibuje el organigrama mostrado
abajo arrastrando los bloques requeridos a la pantalla y luego utilizando
TABLA10
el ratn para dibujar las flechas para
conectar los bloques.
main:
hacer etiqueta llamada main
8. Cuando termine de dibujar el orgareadadc 2,b0
leer seal de canal 2 en variable b0
nigrama, puede convertirlo en un prodebug b0
transmitir valor a la pantalla del ordenador
grama BASIC seleccionando el men
pause 100
pausa corta
Organigrama -> Convertir Organigoto main
ir a main
grama a BASIC. Luego el programa
BASIC puede ser descargado al PICAvalor de la variable b0. A medida que el sensor es XE de la manera usual.
probado con la variable, la ventana va indicando la
9. Para imprimir o salvar el organigrama, use el
lectura actual del sensor.
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 orProgramacin por organigramas ganigrama a una pgina web use el archivo tipo
GIF.
TABLA9

o diagramas de Flujo

Los diagramas de flujo u organigramas son herramientas muy tiles que permiten representar programas grficamente, para hacerlos ms fciles de entender. El software Programming Editor incluye un
editor de organigramas que permite dibujar los mismos en la pantalla de la computadora. Estos organigramas pueden luego ser convertidos en cdigo BASIC para descargarlos en el PICAXE. Los organigramas pueden tambin ser impresos o exportados como
figuras para incluirlos en reportes de proyectos.
A continuacin damos las instrucciones detalladas para la construccin de organigaramas:
1. Conecte el cable PICAXE a uno de los puertos

El Editor de Organigramas permite dibujar y simular organigramas en la pantalla. El organigrama


puede luego ser convertido automticamente en un
programa BASIC para ser descargado en el microcontrolador (vea la figura 18).
Los comandos de la pantalla de Editor de Organigramas son los siguientes (figura 19):
Select = Seleccionar
Zoom = Zoom
Zoom In/Out = Acercar/Alejar
Pan = Mover
Line = Lnea
Edit bar = barra editora

Club Saber eleCtrniCa

51

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe
Zoom
Utilice para acercar una parte del diagrama. Use el click derecho para alejar.
Acercar/Alejar
Para acercar haga click y mueva el
ratn hacia arriba. Para alejar haga
click y mueva el ratn hacia abajo.
Mover
Utilice este comando para mover el
organigrama completo alrededor de
la pantalla.

Figura 18

Lnea
Utilice este comando para dibujar lneas entre los bloques. Se pueden hacer quiebres en las lneas haciendo
click una vez. Cuando la lnea est cerca de un bloque, sta se pegar al punto de conexin del mismo.
Etiqueta
Utilice este comando para aadirle
etiquetas o ttulos a los elementos del
organigrama.
Figura 19

Out/If/Delay/Sub/Other
Haga click en estos botones para ir al
submen de estos comandos y seleccionar el comando deseado.

dibujando organigramas

Seleccionar
Utilice este comando para seleccionar y mover
bloques. Cuando un slo bloque es seleccionado, su
cdigo BASIC puede ser editado en la barra editora
en la parte inferior de la ventana.

52 Club Saber eleCtrniCa

Para dibujar un organigrama haga


click en uno de los botones de menes
de comandos (Salida/Si/ Retardo/Sub/Otro) de la barra de herramientas
para ir al submen de comandos requerido. Seleccione el comando deseado y luego haga click en la pantalla, en el lugar donde desea situar al
comando. No trate de colocar el bloque exactamente en posicin en primera instancia pngalo en la pantalla en las cercanas del rea donde desea ubicarlo y luego use el comando Seleccionar para
mover el bloque a la posicin correcta.
Una vez que el bloque est en posicin, haga
click en l de manera que sea resaltado. El cdigo
BASIC del objeto aparecer en la barra editora en la

t rabajando

Con

m iCroControladoreS PiCaXe

parte inferior de la pantalla. Edite el cdigo si lo requiere y luego presione el botn de tic para salvar los
cambios. Para informacin adicional acerca de cada
comando vea los archivos de ayuda Comandos
BASIC. Note que algunos comandos nicos (por
ejemplo servo para el PICAXE28) slo aparecern
cuando el software est en el modo apropiado (men
Ver -> Opciones).

Uniendo bloques
Para unir bloques, debe acercarlos uno al otro
hasta que se junten. Alternativamente, se pueden dibujar lneas entre los mismos usando el comando lnea en la barra de herramientas. Note que slo es posible unir la parte inferior de un bloque nicamente
con la parte superior de otro. Adems, slo se permite sacar una lnea de la parte inferior de conexin de
cada bloque.
Para hacer diagramas ordenados, se pueden agregar quiebres a las lneas haciendo click en las mismas. Cuando una lnea es movida cerca de un punto
de conexin, la misma se pegar a ste; para terminar la lnea haga click una vez ms y la misma quedar en posicin.
Las lneas no pueden ser movidas. Si trata de mover una lnea la misma ser borrada y tendr que
crear una nueva lnea.

de

18 P ineS

tando en rojo. Las ventanas de Entradas/Salidas y


Variables tambin aparecern mientras se ejecuta la
simulacin. Para cambiar los valores de las entradas,
haga click en el respectivo interruptor en pantalla o
utilice la barra deslizadora de entradas analgicas.
El tiempo de retardo entre un objeto y otro puede
ser ajustado en las Opciones del Organigrama (men
Ver -> Opciones -> Organigrama).
Note que algunos comandos representan acciones que no pueden ser simuladas en pantalla. En estos casos el comando es simplemente ignorado al
ejecutar el organigrama.

convirtiendo organigramas
Los organigramas no son descargados directamente al microcontrolador. Primero el organigrama
es convertido en un programa BASIC, el cual luego
es descargado. Para convertir un organigrama seleccione Convertir en el men Organigrama; el programa BASIC del organigrama ser creado.
Aquellos bloques que no estn conectados a los
bloques inicio sub en el organigrama, sern ignorados al momento de hacer la conversin. La conversin se detendr si se encuentra un bloque no conectado; por lo tanto, utilice siempre un bloque detener para terminar el diagrama antes de iniciar una
simulacin o de convertir el diagrama.
Note que es posible convertir y descargar un organigrama presionando dos veces la tecla F5.

simulacin de Pantalla
Para simular el organigrama, haga click en Simular en el men Organigrama. El programa comenzar a ejecutarse en pantalla (figura 20).
Mientras el programa se ejecuta, los bloques cuyos comandos estn siendo ejecutados se irn resal-

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

Guardando e imprimiendo organigramas

Figura 20

Los organigramas pueden ser guardados, impresos y exportados como figuras (para ser insertados
en documentos de procesadores de palabras) utilizando el men Archivo. Los organigramas pueden
tambin ser copiados al portapapeles de Windows
(para pegarlos luego a otras aplicaciones) mediante
el men Editar.

Club Saber eleCtrniCa

53

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

sistemas de nmeros
Los microcontroladores operan realizando un
gran nmero de comandos en un espacio de tiempo
muy corto procesando seales electrnicas. Estas seales estn codificadas en sistema binario; la seal
puede ser high (1) o low (0).
El sistema numrico utilizado diariamente es el
sistema decimal. Este sistema numrico utiliza diez
dgitos (del 0 al 9) para explicar qu tan grande o pequeo es el nmero. Sin embargo, al trabajar con microcontroladores es muchas veces ms fcil trabajar
en cdigo binario; especialmente al tratar de controlar mltiples salidas al mismo tiempo. Un slo dgito
binario es conocido como un bit (binary digit dgito binario). El sistema PICAXE utiliza 8 bits (1 byte) por cada palabra de datos, teniendo al dgito menos significativo en el extremo derecho y al dgito
ms significativo en el extremo izquierdo. Por consiguiente, el nmero binario %11001000 pone a los
bits 7,6,3 en high (1) y al resto en low (0). El smbolo % indica a la computadora que est trabajando en
sistema binario y no en decimal.
La utilizacin del cdigo binario permite controlar las ocho salidas al mismo tiempo, en vez de slo
utilizar los comandos high y low. El programa que
vemos en la tabla 11 demuestra cmo hacer que la
pantalla de siete barras del tablero tutorial cuente del
0 al 9.

PiCaXe

Cada lnea let pins = cambia el nmero de barras encendidas en la pantalla de siete segmentos.
Esto es mucho ms rpido que utilizar, muchsimas
veces, los comandos high y low para hacer lo mismo.

Visualizando cifras analgicas en el


display de 7 segmentos
El programa de la tabla 12 lee la cantidad de
luz detectada por la fotorresistencia en la entrada 2 y
TABLA12
main:

readadc 2,b1
if b1 > 150 then show9

leer seal analgica 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

dgito 0

let pins = %00000110


goto main

dgito 1

let pins = %01011011


goto main

dgito 2

let pins = %01001111


goto main

dgito 3

let pins = %01100110


goto main

dgito 4

let pins = %01101101


goto main

dgito 5

let pins = %01111101


goto main

dgito 6

let pins = %00000111


goto main

dgito 7

let pins = %01111111


goto main

dgito 8

let pins = %01101111


goto main

dgito 9

show1:

TABLA11
show2:
main:
let pins = %00111111
pause 250
let pins = %00000110
pause 250
let pins = %01011011
pause 250
let pins = %01001111
pause 250
let pins = %01100110
pause 250
let pins = %01101101
pause 250
let pins = %01111101
pause 250
let pins = %00000111
pause 250
let pins = %01111111
pause 250
let pins = %01101111
pause 250
goto main

dgito 0
esperar 0,25 segundos
dgito 1
esperar 0,25 segundos
dgito 2
esperar 0,25 segundos
dgito 3
esperar 0,25 segundos
dgito 4
esperar 0,25 segundos
dgito 5
esperar 0,25 segundos
dgito 6
esperar 0,25 segundos
dgito 7
esperar 0,25 segundos
dgito 8
esperar 0,25 segundos
dgito 9
esperar 0,25 segundos

54 Club Saber eleCtrniCa

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

t rabajando

Con

m iCroControladoreS PiCaXe

de

18 P ineS

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
precisin comnmente utilizados en unidades de
disco, impresoras, plotters y relojes de computadoras. A diferencia de los motores de CC, los
cuales giran libremente al aplicarles potencia, los
motores paso a paso requieren que su fuente de
alimentacin sea continuamente impulsada en
cuatro patrones diferentes. Por cada impulso, el
motor se mueve un paso, tpicamente 7.5 (requiriendo por lo tanto 48 pasos para una revolucin completa), figura 21.
Los motores paso a paso tienen algunas limitaciones. Primero, el consumo de potencia es
mayor cuando el motor est detenido (debido a
que todas las bobinas requieren estar energizadas). Segundo, la velocidad de operacin est limitada a aproximadamente 100 pasos por segundo, lo cual equivale a 2 revoluciones por segundo 120 RPM.
El motor paso a paso contiene una serie de
electroimanes fijos a la armadura central y cuatro bobinas ubicadas alrededor de la carcasa del
motor. Cuando corriente elctrica pasa por estas
bobinas, las mismas generan un campo magntico el cual atrae o repele a los electroimanes permanentes en la armadura, provocando que la armadura gire un paso hasta que los campos
magnticos estn alineados.
Luego, las bobinas son energizadas con un
patrn diferente para crear un campo magntico
diferente y provocar que la armadura gire otro
paso, figura 22.
Para hacer que la armadura gire continuamente, las cuatro bobinas internas del motor paso a paso deben ser encendidas y apagadas continuamente en cierto orden. El chip controlador
ULN2003A del tablero tutorial (nuestro entrenador) provee del mtodo necesario para interrelacionar a estas cuatro bobinas (figura 23).
El motor paso a paso debe ser conectado a los
agujeros en el tablero tutorial de la siguiente manera:
Cable Negro:
Cable Blanco:
Cable Amarillo:
Cable Rojo:
Cable Naranja:
Cable Marrn:

2+
3+
0
1
2
3

Figura 21
Figura 22

Figura 23

La tabla 13 muestra los cuatro pasos distintos


requeridos para hacer girar el motor.
Para hacer girar al motor en direccin contraria,
los pasos deben ser invertidos (4-3-2-1-4-etc. en vez
de 1-2-3-4-1-etc.)
Nota:La configuracin del alambrado de los motores paso a paso puede variar segn el fabricante. Por
lo tanto, 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 di-

Club Saber eleCtrniCa

55

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

TABLA13
Paso

Bobina 4
(Output 3)
1
1
0
0
1

1
2
3
4
1

Bobina 3
(Output 2)
0
0
1
1
0

Bobina 2
(Output 1)
1
0
0
1
1

TABLA14
symbol delay = b0
let delay = 100

definir variable
fijar el retardo (delay) en 0,1 segundos

main:

primer paso
pausa de 0,1 segundos (valor asignado al retardo)
siguiente paso
pausa de 0,1 seg.
siguiente paso
pausa de 0,1 seg.
siguiente paso
pausa de 0,1 seg.
ir a main (bucle perpetuo)

let pins = %00001010


pause delay
let pins = %00001001
pause delay
let pins = %00000101
pause delay
let pins = %00000110
pause delay
goto main

TABLA15
symbol dp = 7renombrar salida7 dp
symbol buzzer = 6
renombrar salida6 buzzer
symbol counter = b0
definir a la variable counter como b0
main:
gosub flash
gosub noise
goto main
end

hacer etiqueta llamada main


ir al sub-procedimiento flash
ir al sub-procedimiento noise
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:

56 Club Saber eleCtrniCa

Bobina 1
(Output 0)
0
1
1
0
0
reccin y otra en vez de girar
continuamente. La mayora de
los motores paso a paso estn
diseados para trabajar a 12V,
pero generalmente pueden trabajar sin problemas (aunque
con un torque reducido) a 6V.
El siguiente programa tambin
puede utilizar un nmero binario para encender y apagar todas las lneas de salida al mismo tiempo. La siguiente tabla
muestra el nmero binario de
salida para cada paso:
Paso
1
2
3
4
1

Salidabinaria
%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 14.

subrutinas
Una subrutina es un sub-procedimiento o mini-programa
separado, el cual puede ser llamado desde el programa principal. Una vez que se ejecuta
la subrutina, el programa principal contina.
Las subrutinas son frecuentemente utilizadas para separar
el programa principal en pequeas secciones, para hacerlo
ms fcil de comprender. Subrutinas que realizan tareas

t rabajando

Con

m iCroControladoreS PiCaXe

TABLA16
symbol dp = 7
symbol counter = b0

renombrar salida7 dp
definir a la variable counter como b0

main:
let b2 = 5
gosub flash
pause 500
let b2 = 15
gosub flash
pause 500
goto main

hacer una etiqueta llamada main


precargar a b2 con el nmero 5
ir al sub-procedimiento flash
esperar 0,5 segundos
precargar a b2 con el nmero 5
ir al sub-procedimiento flash
esperar 0,5 segundos
ir a main

end

fin del programa principal

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

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

flash:

de

18 P ineS

comunes pueden tambin ser copiadas de programa a programa


para ahorrar tiempo.
El programa de la tabla 15 utiliza
dos subrutinas para separar las dos
secciones principales del programa
(flash y noise).
El programa que podemos ver en
la tabla 16, muestra como una variable puede ser utilizada para
transferir informacin hacia una
subrutina. En este caso, la variable
b2 es utilizada para indicar al controlador que debe ejecutarla subrutina flash, primero cinco y luego
quince veces.

el circuito del entrenador


En este captulo hemos mencionado que precisamos un entrenador
para corroborar los diferentes conceptos que presentamos. Dijimos
que hay varios circuitos (de hecho

Figura 24

Club Saber eleCtrniCa

57

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

mencionamos
tres). La em- Fig. 25
presa Education Revolution, ofrece
cada uno de
estos circuitos
en forma de
kits, sin embargo,
Ud.
puede armar
su propio entrenador.
En la figura 24 se brinda el circuito
de un entrenador para que Ud. realice
sus propias experiencias.
El entrenador incluye un circuito
integrado ULN2803A para que pueda
manejar pequeos motores, pero no se
ha incluido la fotorresistencia y el display de 7 segmentos; sin embargo, no
tendr problemas en conectarlos si sigue las instrucciones que se brindan
en la explicacin de cada programa.
LK es un puente de conexin (un jumper o simplemente un cable).
Hemos hecho referencia al PICAXE-18 porque en otras secciones trabajaremos con el PICAXE-08. En la
figura 25 se reproduce el esquema de
circuito impreso para que monte su
propio entrenador.
En la figura 26 se muestra el detalle de armado del cable que sirve como interface entre el entrenador y la
computadora.

58 Club Saber eleCtrniCa

Fig. 26

PiCaXe

P royectos c omPletos
m icrocontroladores

con

PicaXe
armado y Programacin de una
mascota Virtual
Hoy en da, en la mayora de las jugueteras, se
pueden conseguir juguetes inteligentes. Estos juguetes pueden moverse, hacer sonidos y responder al
tacto o al ser movidos a un lugar oscuro. Un ejemplo
tpico de uno de estos juguetes es el Furby fabricado por Tigre Electronics o el conocido osito
Teddy. El Furby utiliza un microcontrolador como
cerebro electrnico y reacciona (al tocarlo o ponerlo
en un lugar oscuro) movindose o emitiendo sonidos. El Furby reacciona al mundo exterior gracias al
uso de sensores e interruptores. Tiene un interruptor
de presin en el frente y otro en la espalda, un microinterruptor en su boca y un sensor de luz (fotorresistencia) entre sus ojos. Tambin tiene un micrfono
en un costado para detectar sonidos. Esta mascota
virtual se mueve mediante el uso de un motor elctrico. Tambin tiene un parlante para generar sonidos
y un LED infrarrojo para enviarle seales a otros
Furbys que puedan estar en las cercanas. El cerebro de la criatura es un microcontrolador. Los microcontroladores son poderosos componentes electrnicos que tienen memoria y pueden programarse
para encender y apagar dispositivos en una secuencia
especial. El microcontrolador del Furby est programado para apagar el motor y el parlante cuando el
sensor de luz detecta que est oscuro (El Furby se va
a dormir).
Para que un usuario pueda programar diferentes situaciones a las que se ver sometida su masco-

ta electrnica, es
preciso que dicha
mascota posea un
cerebro, tal como lo es el micro pro ce sa dor
de una computadora. El micro con tro la dor
es, a menudo,
descripto como
una computadora
en un solo
chip. El mismo se puede
utilizar como
cerebro electrnico
para
controlar productos, juguetes o mquinas.
Como ya hemos dicho, el microcontrolador (en este caso un PICAXE-08) es un circuito integrado (chip) que contiene memoria (para
almacenar programas), un procesador o ALU (para
procesar y llevar a cabo los programas) y pines de
entrada/salida (para conectar interruptores, sensores,
y dispositivos de salida tales como motores).
Los microcontroladores se compran en blanco
(vacos) y luego se programan con un archivo especfico de control. Este programa es primero escrito
en un procesador de texto (como el Word, por ejemplo), posteriormente es traducido a un lenguaje
apropiado y luego descargado en el chip
del microcontrolador. Una vez programado,
el microcontrolador se inserta dentro de un
circuito para hacer al producto ms inteligente y fcil de utilizar.

diagrama de Bloques de un
sistema microcontrolado
En la figura 1 podemos apreciar el diagrama
en bloques de un sistema como el que emplearemos para construir nuestra mascota

Club Saber eleCtrniCa

59

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

Figura 1
electrnica. El sensor de luz, el micrfono y los interruptores proveen informacin al microcontrolador;
por lo tanto se los conoce como entradas. Luego el
microcontrolador decide cmo reaccionar y puede,
en determinados casos, operar alguna de las salidas,
por ejemplo hacer girar al motor o generar un sonido
en el parlante. Si hay otro sistema (otra mascota, por
ejemplo) cerca, se pueden comunicar mediante seales infrarrojas transmitidas y recibidas por el microcontrolador. Ahora bien, los sistemas microcontrolados pueden ser difciles de programar, ya que generalmente utilizan un lenguaje de programacin muy
complejo llamado cdigo ensamblador el cual
puede resultar complicado de aprender.
El sistema PICAXE permite una programacin
de microcontroladores mucho ms sencilla. La secuencia de control puede dibujarse (y simularse) en
la computadora como un organigrama o diagrama de
flujo, o escribirse en un sencillo lenguaje de programacin llamado BASIC. Esto hace que la utilizacin
del microcontrolador sea una operacin mucho ms
fcil, ya que no es necesario aprender el complejo
cdigo ensamblador.
En la figura 2 se muestra un ejemplo de progra-

Figura 3

60 Club Saber eleCtrniCa

Figura 2
ma BASIC con su respectivo organigrama (diagrama
de flujo). En este caso, ambos programas hacen la
misma cosa: encender y apagar una luz con una
frecuencia de un segundo. Para que el lector tenga

a rmado

P rogramaCin

de una

m aSCota V irtual

una idea preliminar, Start significa comienzo,


high 0 significa que se coloque en estado alto a la
salida nombrada como 0, wait 1 es una sentencia que dice que el programa debe esperar un segundo (temporizador de un segundo), low 0 significa
que mande a estado bajo (apague la luz) la salida
nombrada como 0, main es el nombre que se le
da a una posicin del programa para hacer referencia
a dicha porcin del programa y goto main significa que el programa debe retornar a la posicin
main (principal) y as dar comienzo nuevamente,
al ciclo de prendido y apagado.
La cyber-mascota debe programarse con su propia personalidad, de manera que reaccione en una
forma nica. Las especificaciones del diseo deben
ser las siguientes:
1. El diseo utilizar un microcontrolador PICAXE-08 como su cerebro.
2. Incluir ojos (LEDs), boca (un zumbador electrnico para generar sonidos) y opcionalmente tambin utilizar un motor para darle movimiento.
3. El diseo ser capaz de reaccionar al tacto y
a cambios en el nivel de luz.
4. La ciber-mascota puede disearse como un
panel bidimensional plano o como una criatura tridimensional.
El diagrama de bloque para la ciber-mascota se
muestra en la figura 3.
Su cyber-mascota puede ser de cualquier forma o
tamao que escoja. Ya sea que usted quiera disear la
cara de su mascota utilizando un programa editor
de grficos o dibujndola a mano; o si desea puede
escanear la foto de un animal, disear un animal
robot completamente nuevo.
Los componentes electrnicos deben montarse
dentro (o debajo) de su ciber-mascota. Los LEDs y
fotorresistencias debern hacerse pasar a travs de
agujeros (normalmente estos dispositivos son de 5
mm de ancho, aunque hay LEDs disponibles en otros
tamaos). Tambin debe pensar cuidadosamente la posicin en la que va a colocar las
bateras y en donde va a conectar los cables.
En la figura 4 se muestran
los componentes principales
que podra necesitar para su
ciber-mascota. Como dijimos, los microcontroladores
se utilizan como cerebro en
los circuitos electrnicos. Estos circuitos electrnicos se
Figura 5

Fig. 4
representan a menudo grficamente como diagramas de bloques. Por ejemplo, para un horno de microonda, se podra dibujar un diagrama de bloques
como el mostrado en la figura 5.
El microcontrolador PICAXE-08 se programa
conectando un cable desde el puerto serie de la computadora, a un conector en el circuito impreso (PCB)
que est a un lado del microcontrolador. Este conector (el cual se parece a los conectores de audfonos
utilizados en los reproductores porttiles de CD) se
conecta a dos patas del microcontrolador y a la conexin de 0V desde la batera. Esto permite que la PC
y el microcontrolador hablen para permitir la descarga de un nuevo programa en la memoria del mi-

Club Saber eleCtrniCa

61

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

so para poder utilizar el Sistema PICAXE deber comprar un adaptador USB a serie.

crocontrolador, para lo cual utilizamos un cable de 3


hilos, tal como ya hemos visto (figura 6).
Normalmente, la empresa Education Revolution,
propietaria de los sistemas PICAXE, incluyen en todos sus proyectos el conector para insertar el cable
de programacin, pero si Ud. quiere hacer su propio
diseo, le comentamos que iremos explicando paso a
paso qu es lo que debe hacer.
La inclusin del conector y el circuito de interface en todo circuito impreso diseado para utilizarse
con el microcontrolador PICAXE-08, permite reprogramar al microcontrolador PICAXE sin sacar el
chip del circuito impreso simplemente debe conectar el cable cada vez que desee descargar un nuevo
programa!
A menudo, los diagramas de los circuitos PICAXE no incluyen los componentes mencionados en la
figura 6 para hacer ms fcil la comprensin de las
conexiones de entradas/salidas. Sin embargo, las dos
resistencias y el conector estn incluidos en todo circuito impreso que opere con el sistema PICAXE.
Nota: Recuerde que en el sistema PICAXE-08 la
pata 7 tiene dos funciones; cuando se est ejecutando un programa, la pata se denomina salida 0 y
puede controlar dispositivos tales como LEDs y motores. En cambio, cuando se est descargando un
programa, la misma pata acta como pin de salida
serie, comunicndose con la computadora. Por lo
tanto, si durante esta operacin tambin tiene conectada a la pata una salida tal como un LED, deber
percatarse de que el mismo se encender y apagar
continuamente mientras se descarga el programa (lo
que indica que hay transferencia de informacin).
Ahora bien, la mayor parte de las computadoras
tienen dos puertos serie, usualmente denominados
COM1 y COM2. El software Editor de Programacin (que en este texto tambin llamamos Editor de
Programas o Programming Editor) utilizado para
cargar los programas debe configurarse con el puerto serie correcto. Seleccione Ver -> Opciones >Puerto Serie para elegir el puerto serie correcto en
su mquina.
Si usted est utilizando una PC porttil puede que
sta slo tenga un conector del tipo USB. En este ca-

62 Club Saber eleCtrniCa

Recuerde tambin que los


microcontroladores del sistema PICAXE son virtualmenFigura 6
te similares a los PIC de Microchip (hasta la matrcula
coincide) pero han sido construidos con un programita interno que permite que su programacin y manejo sea muy sencilla. El costo de estos chips es muy
similar al de los PICs de iguales caractersticas, por
ejemplo, un PICAXE 08 tiene un costo de venta al
pblico de unos $15 (aproximadamente 5 dlares) y
en Amrica Latina recin se estn comenzando a conocer. Si Ud. desea saber dnde conseguir estos integrados, puede buscar las casas de electrnica en
su pas que los trabajan, en nuestra web: www.webelectronica.com.ar. Tambin puede llamar a nuestras oficinas y con gusto lo asesoraremos para que
pueda conseguir estos chips.

cmo Programar
el sistema PicaXe
Los organigramas o diagramas de flujo son herramientas muy tiles que permiten representar grficamente (dibujar) los programas para hacerlos ms
fciles de entender. El software Editor de Programacin (que Ud. puede bajar gratuitamente de nuestra
web: www.webelectronica.com.ar, haciendo click en
el cono password e introduciendo la clave picaxepro) incluye un editor de organigramas que permite
dibujar diagramas de flujo en la pantalla de la computadora. Estos organigramas se pueden convertir
luego en cdigo BASIC para descargarlos en el PICAXE. Los organigramas tambin pueden imprimirse y exportarse como figuras para incluirlos dentro
de reportes de proyectos. Si bien en el captulo 2 dimos las instrucciones para descargar el programa y
explicamos los primeros pasos para su uso, creemos
conveniente repetir los pasos a seguir para trabajar
con el Editor de Programacin:
1. Conecte el cable PICAXE a uno de los puertos
serie de la computadora. Recuerde tomar nota del
puerto serie al cual conecta el cable (normalmente
COM1 COM2) (si an no va a cargar el programa en el interior del chip, puede obviar este paso).

a rmado

P rogramaCin

Figura 7

2. Inicie el software Editor de Programacin


3. En el men desplegable seleccione Ver ->opciones para acceder a la pantalla de opciones (sta
puede que aparezca automticamente).
4. Haga click en la lengeta modo y seleccione PICAXE-08.
5. Haga click en la lengeta Puerto serie y seleccione el puerto serie al cual ha conectado el cable PICAXE. Haga click en oK (Obvie este paso
si slo va a hacer el programa y an no lo va a cargar en el chip).
6. Cree un nuevo organigrama haciendo click en
el men archivo -> nuevo organigrama.
7. Dibuje el organigrama arrastrando los bloques requeridos a la pantalla y luego utilizando el
ratn para dibujar 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
descargarse en el PICAXE seleccionando en el men PicaXe -> ejecutar.
9. Para imprimir o salvar el organigrama, utilice las opciones en el men de archivo.
Para exportar el organigrama como figura, utilice
el men archivo -> exportar. Para exportar la imagen a un documento de Word, seleccione el archivo
tipo EMF. Para exportar el organigrama a una pgina web, use el archivo tipo GIF. Quedar una imagen
como la mostrada en la figura 7.
El Editor de Organigramas permite dibujar y simular organigramas en la pantalla. El organigrama
puede luego convertirse automticamente, en un programa BASIC para descargarlo en el microcontrolador.
Para dibujar un organigrama haga click en uno de
los botones de menes de comandos (salida/si/retardo/sub/otro) de la barra de herramientas para ir

de una

m aSCota V irtual

al submen de comandos requerido. Seleccione el


comando deseado y luego haga click en la pantalla,
en el lugar donde desea situar al comando. No trate
de colocar el bloque exactamente en posicin en primera instancia, pngalo en la pantalla en las cercanas del rea donde desea ubicarlo y luego use el comando Seleccionar para mover el bloque a la posicin correcta.
Una vez que el bloque est en posicin, haga
click en l de manera que sea resaltado. El cdigo
BASIC del objeto aparecer en la barra editora en la
parte inferior de la pantalla.
A modo de gua recuerde que para unir bloques, debe acercarlos uno al otro hasta que se junten.
Otra opcin es dibujar lneas entre los mismos usando el comando lnea en la barra de herramientas. Note que slo es posible unir la parte inferior de un bloque nicamente con la parte superior de otro (no se
pueden conectar lneas con lneas). Adems, slo se
permite sacar una lnea de la parte inferior de conexin de cada bloque.
Para hacer diagramas ordenados, se pueden agregar quiebres a las lneas haciendo click en las mismas. Al mover una lnea cerca de un punto de conexin, la misma se pegar a ste; para terminar la lnea, haga click una vez ms y la misma quedar en
posicin.
Las lneas no pueden moverse. Si trata de mover
una lnea la misma ser borrada y tendr que crear
una nueva lnea.
los organigramas pueden guardarse, imprimirse y exportarse como figuras (para insertarlos en
documentos de procesadores de palabras) utilizando el men archivo. los organigramas pueden
tambin copiarse en el portapapeles de Windows
(para pegarlos luego a otras aplicaciones) utilizando el men editar.
La programacin en BASIC es una herramienta
de programacin ms poderosa que la utilizacin de
organigramas y es el lenguaje preferido para la
programacin de los microcontroladores PICAXE.
Esto se debe a que BASIC permite la utilizacin
de ms comandos - por ejemplo bucles for...next; los
cuales no se pueden utilizar con el mtodo grfico de
los organigramas. Sin embargo, en la programacin
BASIC se requiere ser ms preciso al escribir los
programas, ya que no se permiten errores de ortografa. Ya hemos hecho algunos ejemplos... sin embargo, sabemos que es muy probable que Ud. haya comenzado la lectura de este texto por este captulo y
por tal motivo creemos necesario repetir algunos
programas bsicos, explicados de otra forma para lo-

Club Saber eleCtrniCa

63

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

grar un mejor entendimiento. El siguiente programa


es una muestra de un programa BASIC, el cual enciende y apaga la salida 0 cada segundo. Al descargar este programa el LED conectado a la salida 0 se
encender y apagar cada segundo:
main:
high 0
pause 1000
low 0
wait 1
goto main
Este programa utiliza los comandos high y low
para controlar el pin de salida 0, y utiliza los comandos pause y wait para crear un tiempo de retardo. El
comando wait opera con unidades en segundos
enteros mientras que pause utiliza milisegundos
(1000 ms = 1 segundo).
Por lo tanto, en este programa ambos tiempos de
retardo tienen la misma duracin, slo que estn escritos de maneras distintas. El comando goto hace
que el programa salte a la etiqueta main: al inicio
del programa. Esto significa que el programa se ejecutar continuamente una y otra vez. Note que la primera vez que se utiliza la etiqueta, la misma debe estar seguida de un smbolo de dos puntos (:). Esto indica a la computadora que la palabra es una nueva
etiqueta.
Hecho este ejemplo, veamos cmo realizar la
programacin del chip en forma detallada:
1. Conecte el cable PICAXE a un puerto serie de
la computadora y tome nota a cul de los puertos lo
conecta (normalmente COM1 COM2).
2. Ejecute el Software Programming Editor.
3. En el men desplegable escoja Ver -> opciones para acceder la pantalla de opciones (sta puede que aparezca automticamente).
4. Haga click en modo y seleccione PICAXE08.
5. Haga click en Puerto Serie y seleccione el
puerto serie al cual el cable PICAXE est conectado. Haga click en OK.
6. Escriba el siguiente programa:
main:
high 0
pause 1000
low 0
wait 1
goto main
(No olvide el smbolo de dos puntos (:) directa-

64 Club Saber eleCtrniCa

PiCaXe

mente despus de la etiqueta main y los espacios


entre los comandos y los nmeros).
7. Asegrese que el circuito PICAXE est conectado al cable serie y a las bateras, y que las bateras estn conectadas. Al respecto, para probar este
programa puede colocar el circuito del entrenador
propuesto captulos atrs o bien montar la mascota
que estamos describiendo.
8. Seleccione PicaXe -> ejecutar. Una barra
de descarga de programa deber aparecer mientras
el programa es descargado. Al terminar la descarga,
el programa debe comenzar a ejecutarse automticamente; el LED de la salida 0 deber encenderse y
apagarse cada segundo.

el diagrama y el
circuito impreso de la mascota
El proyecto de la mascota virtual utiliza un microcontrolador PICAXE-08 con dos LEDs que simulan los ojos de la mascota y un zumbador que simula la voz. El proyecto tambin utiliza un interruptor que permite a la mascota responder al tacto, y una fotorresistencia que permite a la mascota
detectar si su alrededor est claro u oscuro.
Para la construccin de nuestra mascota, tomamos en cuenta las siguientes entradas y salidas:
Salida A - Las patas out0 (pata 7) y out4 (pata
3) estn conectadas a los LEDs
Salida B - El pin out2 (pata 5) est conectado al
zumbador electrnico
Entrada A - La entrada in1 (pata 6) est conectado a la fotorresistencia
Entrada B - La entrada in3 (pata 4) est conectado al interruptor de botn de presin
El diagrama de la mascota se muestra en la figura 8. En la figura 9 se da el diagrama de la placa de
circuito impreso.

Probando el circuito
Paso 1: Verificacin de componentes. Una vez
armado el circuito y verificado que todos los componentes estn en su lugar, conecte la caja de bateras
al cable de bateras y ponga su dedo sobre el microcontrolador PICAXE. Si comienza a calentarse desconecte la batera inmediatamente ya que debe haber
algn problema (lo ms seguro es que el chip o los
cables de la batera estn conectados en sentido inverso).

a rmado

P rogramaCin

de una

Figura 8

m aSCota V irtual

Paso 3: Pruebe el otro


LED. Repita el programa del
paso 4, pero utilice high 4 y
low 4, en vez de high 0 y low
0. Esto probar al otro LED.
Paso 4: Pruebe el zumbador. Escriba y descargue el
siguiente programa (vea la figura 10):
main:
sound 2, (65,100)
sound 2, (78,100)
sound 2, (88,100)
sound 2, (119,100)
goto main

Paso 2: Descargue un programa para probar el LED 0. Conecte el cable a su computadora y


al conector PICAXE en el PCB.
Asegrese que el enchufe del cable quede completamente dentro
del conector del PCB. Compruebe
que el software est en el modo PICAXE-08 y que haya elegido el
puerto serie correcto (para mayor
informacin lea los pasos bajo el
ttulo: descargando programas).
Escriba y descargue el programa de encendido y apagado del led
que explicamos hace un momento.
El LED debe titilar a medida que
se descarga el programa. Al terminar la descarga el LED deber encenderse y apagarse cada segundo.
Si el LED no hace esto, verifique
que est conectado correctamente
y que las resistencias de 330 estn en la posicin correcta en el
PCB.
Si el programa no se descarga,
verifique que la resistencia de
22k, la de 10k y el zcalo del
circuito integrado estn soldados
correctamente. Utilice un voltmetro para verificar si hay 4.5V entre
las patas superiores (1 y 8) del microcontrolador. Verifique que el
cable est firmemente conectado
al conector y que dentro del software se haya elegido el puerto serie correcto.

Fig. 9

El zumbador debe emitir 4


sonidos diferentes. Si no hace
esto, asegrese que los cables
del zumbador estn soldados
correctamente, que el lado de
bronce est firmemente pegado
al PCB con una cinta adhesiva
de doble contacto (no trabajar
si est flojo) y que los terminales sobre las letras PX estn debidamente unidos mediante un
cable soldado.
Paso 5: Pruebe el Interruptor. Para verificar que el interruptor est funcionando correctamente, escriba y ejecute el
programa mostrado en la figura
11. El LED de la salida 0 debe-

Fig. 10

Club Saber eleCtrniCa

65

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC
Figura 11

PiCaXe

distintos cuando usted cubre y descubre la


fotorresistencia con su mano (de manera
que incidan sobre la fotorresistencia distintos niveles de luz). Si esto no ocurre, verifique que la fotorresistencia y la resistencia
de 1k estn soldadas correctamente.
Si ha ejecutado todas estas pruebas correctamente lo felicitamos, ya que ha construido
y ensamblado correctamente su Ciber-mascota!
Ahora que ha ensamblado y probado su
mascota virtual, es el momento de darle una
personalidad desarrollando sus propios
programas. Estos programas pueden hacer
que la mascota reaccione de diversas maneras al toque de los interruptores de presin y
a los niveles de luz.
Daremos dos ejemplos de programas. Estos
estn diseados para darle un punto de partida para la creacin de su programa. Usted
puede modificarlos o comenzar a hacer un
programa completamente nuevo si as lo
prefiere.
Sea creativo!
Programa 1

r encenderse cada vez que se presione el interruptor.


Si no lo hace, verifique que el interruptor y que las
resistencias de 10k estn soldadas correctamente.
Paso 6 - Pruebe la fotorresistencia. Escriba y
descargue el programa de la figura 12.
Ambos LEDs debern encenderse en patrones

Este programa tiene un bucle principal, el cual


enciende y apaga los ojos LED, y tambin verifica el
estado del sensor de luz y del interruptor de presin.
Cuando se presiona el botn del interruptor, el zumbador emite un sonido. Tome en cuenta que debe
mantener el interruptor presionado hasta que escuche el sonido, si presiona brevemente el interruptor, no funcionar.
Figura 12
Si la fotorresistencia se
cubre, la mascota se ir
a dormir hasta que el
nivel de luz suba nuevamente. El programa se
muestra en la figura 13.

Programa 2
Este programa es mucho
ms avanzado. Tiene un
bucle principal, el cual
enciende y apaga los
ojos LED atenundolos;

66 Club Saber eleCtrniCa

a rmado

P rogramaCin

de una

m aSCota V irtual

Figura 13

Figura 14

Club Saber eleCtrniCa

67

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

tambin verifica el estado del sensor de luz y del interruptor (figura 14). Cuando se presiona el botn
del interruptor, el zumbador emite un sonido mediante el uso del comando sound. Si se presiona el
botn tres veces (contadas por una variable llamada
b3), la mascota pone una meloda. Tome en cuenta
que debe mantener el interruptor presionado hasta
que escuche el sonido. Si la fotorresistencia se cubre,
la mascota se ir a dormir. Este programa utiliza
una tcnica llamada PWM (Pulse Width Modulation
- Modulacin por ancho de pulso) para permitir la
atenuacin de los ojos (LEDs), en vez de simplemente apagarlos o encenderlos inmediatamente utilizando los comandos high y low. La PWM funciona
encendiendo y apagando la salida muy rpidamente,
ms rpido que lo que el ojo humano puede ver. Variando el tiempo que la salida est encendida (llamado mark) con respecto al tiempo que la misma est
apagada (llamado space), el brillo del LED puede alterarse.

armado y Programacin de una


central de alarma
Hoy en da, casi todos los edificios modernos tienen algn tipo de alarma. Por ejemplo, un sistema
contra incendios puede tener una serie de detectores
de humo para actuar a tiempo, si se observa el humo
de un incendio.
Sin embargo,
muchos sistemas de alarmas son tambin sistemas
de seguridad,
por ejemplo
el sistema de
alarma
de
una plataforma de perforacin puede
monitorear la
temperatura y presin del petrleo crudo a medida
que es extrado y puede automticamente apagar el
sistema si se detecta una falla. Esto favorece a la seguridad, tanto de los trabajadores como del medio
ambiente alrededor de la plataforma.
Todos estos sistemas estn compuestos por dispositivos de entrada y salida. A menudo estos dispositivos estn conectados a un microcontrolador, el

68 Club Saber eleCtrniCa

PiCaXe

cual interpreta la informacin suministrada por los


sensores y luego enciende o apaga las salidas en el
momento correcto.
Proponemos el armado de un sistema de alarma
de mltiples usos, desde una central domiciliaria de
4 zonas (una demorada y tres instantneas) hasta
un sistema de seguridad para automvil. el lmite
de las aplicaciones queda restringida slo por su
imaginacin.
En el caso de un sistema de alarma contra incendios, las entradas podran ser los sensores de humo y
el teclado numrico del frente del panel de control.
Los dispositivos de salida seran la pantalla del panel
de control, la sirena externa y luces estroboscpicas.
El microcontrolador es el cerebro del sistema.

diagramas de Bloques del


sistema de alarma
El diagrama de bloques, puede ser como se ve
a continuacin. Utilizamos un PICAXE-08. La traduccin de las palabras que empleamos es:
Input = entrada
Process = procedimiento
Output = salida
Smoke = detector de humo
Strobe = luz estroboscpica
Keypad = teclado numrico
Siren = sirena
Microcontroller = microcontrolador
LCD = pantalla o display LCD

El esquema electrnico que forma al sistema de


alarma puede se muestra en la figura 15.
El detector de humo y el teclado numrico proveen informacin al microcontrolador; por lo tanto
se les conoce como entradas. Luego el microcontrolador decide cmo reaccionar y puede, en determinados casos, operar algunas de las salidas, por
ejemplo encender la sirena y la luz estroboscpica
mostrar un mensaje en la pantalla de cristal lquido
(LCD).

a rmado

P rogramaCin

Disear y construir un sistema de alarma puede


resultar muy fcil si Ud. sabe perfectamente qu es
lo que quiere que haga el circuito. La alarma debe
programarse de manera que reaccione a las entradas
y a las seales de los sensores.
Las especificaciones del diseo son:
1. El diseo utilizar un microcontrolador PICAXE-08 como su cerebro.
2. El diseo incluir una luz indicadora LED, un
zumbador para generar ruidos y una alarma que podra ser una sirena un motor.
3. El diseo ser capaz tambin de reaccionar a
seales de sensores analgicos tales como sensores
de luz.
Su alarma puede servir para cualquier propsito
que usted elija. A continuacin se mencionan algunos ejemplos:
1) Una alarma contra incendios. Se utiliza un
sensor de luz para detectar humo. Al detectar humo
se activa una sirena.
2) Una alarma contra robos. Al activar el cable
de una trampa se activa una luz estroboscpica. Sin
embargo, durante el da la alarma es desactivada
por un sensor de luz.
3) La caja fuerte de un banco. Al activar el interruptor de una alarma de pnico, un cerrojo solenoide electrnico cierra la caja fuerte del banco.
4) Una alarma para monitorear la recmara de
un beb. Cuando no se detectan movimientos o sonidos se activa un timbre de advertencia.

de una

C entral

de

a larma

de un nuevo programa en la memoria del microcontrolador.


El conector y el circuito de interface se incluyen
en todo circuito impreso diseado para utilizarse
con el microcontrolador PICAXE-08. Esto permite
reprogramar al microcontrolador PICAXE sin sacar
el chip del circuito impreso - Simplemente conecte
el cable cada vez que desee descargar un nuevo programa!
Cmo era eso de la salida 0 y la programacin
del micro?
En el sistema PICAXE-08 la pata 7 tiene dos funciones, cuando se est ejecutando un programa, la
pata se denomina salida 0 y puede controlar salidas
tales como LEDs y motores.
En cambio, cuando se est descargando un programa la misma pata acta como pin de salida serie
de datos, comunicndose con la PC. Por lo tanto, si
durante esta operacin tambin tiene conectada a la
pata una salida tal como un LED, se percatar que el
mismo se encender y apagar continuamente mientras se descarga el programa.
nota: La mayor parte de las computadoras modernas tienen dos puertos serie, usualmente denominados COM1 y COM2. El software Editor de Programacin utilizado para crear los programas debe
configurarse con el puerto serie correcto seleccione Ver -> opciones -> Puerto serie para elegir el
puerto serie correcto en su mquina.
Si usted est utilizando una nueva PC porttil
puede que sta slo tenga un conector del tipo USB.
En este caso para poder utilizar el Sistema PICAXE
deber comprar un adaptador USB a serie.

algunos conceptos para recordar


Como se escriben los programas?
Los programas se dibujan como organigramas o
se escriben como listados de comandos BASIC. Programar en BASIC es fcil, ya hemos dado varios
ejemplos y continuaremos hacindolo.
Cmo se transfiere el programa al microcontrolador?
El microcontrolador PICAXE-08 se programa
conectando un cable desde el puerto serie de la computadora a un conector en el circuito impreso (PCB)
a un lado del microcontrolador. Este conector (el
cual se parece a los conectores de audfonos utilizados en los reproductores porttiles de CD) se conecta a dos patas del microcontrolador y a la conexin
de 0V desde la batera. Esto permite que la PC y el
microcontrolador hablen para permitir la descarga

Prueba y Uso de transistores


En captulos anteriores vimos cmo se prueban
algunos componentes por medio del sistema PICAXE. Aprovechando que la alarma posee un transistor,
veremos cmo se lo puede probar.
Un transistor es un componente electrnico que
controla el flujo de corriente en un circuito. El transistor acta como un
interruptor electrnico de manera que una
pequea corriente de
emisor pueda controlar a una gran corriente. Esto permite
que dispositivos de poca corriente, como el

Club Saber eleCtrniCa

69

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

microcontrolador, controlen dispositivos de grandes


corrientes (como motores).
Los transistores se utilizan en radios, en juguetes
electrnicos y en casi todos los dispositivos electrnicos.
Un transistor tiene tres patas. Estas se denominan
base, colector y emisor. La base es la pata que se encarga de activar el interruptor electrnico. Cuando
se pasa una pequea corriente por la pata base, la
misma permite el flujo de una corriente mucho mayor entre el colector y el emisor. Esta corriente se
puede utilizar para encender dispositivos tales como
motores, lmparas y timbres.

PiCaXe

elctrica). Al conectar el diodo asegrese que la


banda est conectada en el sentido correcto.

Output device = dispositivo de salida


Otra buena idea es conectar un condensador electroltico de 100F a travs del suministro de las bateras para ayudar a suprimir el ruido elctrico.
Para probar un transistor con el sistema PICAXE, se puede conectar un timbre como dispositivo
de salida. La base del transistor recibir una seal
desde la salida 4 (pata 3) del microcontrolador.
Small current into base = pequea corriente por
la base
Large current across collector/emitter = grandes
corrientes a travs del colector y emisor
Uno de los transistores ms comunes es el tipo
BC548B.
El transistor est contenido en un encapsulado
plstico con un extremo plano. Este extremo plano
permite identificar correctamente la base, el colector
y el emisor.
Los motores pueden generar ruido elctrico
cuando estn funcionando. Esto ocurre debido a que
los imanes y las bobinas elctricas que estn dentro
del motor generan seales elctricas a medida que el
motor rota. Estas seales (ruido elctrico) pueden
afectar la operacin del microcontrolador. Algunos
motores, como los motores solares, producen muy
poco ruido mientras que otros producen mucho ruido.
Para evitar que el ruido elctrico afecte al circuito del microcontrolador, se debe instalar siempre un
condensador de 220nF entre los terminales del motor antes de utilizarlo.
Adicionalmente, se debe conectar un diodo (por
ejemplo un diodo 1N4001) a un lado del motor. Este se utiliza para prevenir daos al transistor cuando
el motor comienza a desacelerarse luego de haber
apagado el transistor (por un corto perodo de tiempo (mientras se desacelera y finalmente se detiene) el
motor acta como un dnamo y genera corriente

70 Club Saber eleCtrniCa

Despus de conectar el timbre lo podemos probar


utilizando un simple programa como el que se muestra a continuacin:
main:
high 4
wait 1
low 4
wait 1
goto main
Este programa enciende y apaga cada segundo, el
timbre conectado al pin de salida 4.
Para descargar el programa, siga los pasos que
hemos explicado en varias oportunidades a lo largo
de este texto, empleando cualquiera de los circuitos
(entrenador para PICAXE-08, mascota o la alarma
que estamos describiendo y cuyo circuito daremos
ms adelante). Si el timbre no funciona verifique
que:
1) el diodo est conectado en el sentido correcto

a rmado

P rogramaCin

de una

C entral

de

a larma

Figura 15

2) se estn utilizando las resistencias correctas


3) el transistor est conectado en el sentido correcto
4) el cable rojo del timbre est conectado en el
sentido correcto
Figura 16

5) se est utilizando el nmero de pin de salida


correcto en el programa
6) todas las uniones estn bien soldadas
Entre los dispositivos de salida que se pueden conectar mediante un transistor estn los timbres, motores, solenoides, sirenas y luces estroboscpicas.
Sin embargo, algunos dispositivos puede que requieran transistores de alta potencia. En estos casos se
puede utilizar el transistor Darlington BCX38B en
vez del transistor estndar BC548B.

el circuito de la alarma
El proyecto de alarma utiliza un microcontrolador PICAXE-08, un LED y un zumbador como dispositivos de retroalimentacin, y un dispositivo de
salida adicional elegido por el usuario (sirena o luz
estroboscpica).
Este proyecto tambin puede reaccionar a seales
de sensores digitales y/o analgicos (por ejemplo a
fotorresistencias).
El diagrama electrnico se muestra en la figura
15. De dicho circuito debemos hacer las siguientes
observaciones:
Salida de la pata 7: el pin0 est conectado al LED.
Salida de la pata 5: el pin2 est conectado al
zumbador.
Salida de la pata 3: el pin4 controla a los dispositivos de salida.

Club Saber eleCtrniCa

71

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Entrada de la pata 6: el pin1 est conectado a la


fotorresistencia.
Entrada de la pata 4: el pin3 est conectado al
interruptor de botn de presin.
recuerde no confundir el nmero de pata del
chip con el nmero de pin de salida/entrada!
La lista de materiales para la construccin de la
alarma (figura 16) es la siguiente:
R1 y R2: resistencias de 10k (marrn negro naranja dorado)
R3: resistencia de 22k (rojo rojo naranja dorado)
R4 : resistencia de 330 (naranja naranja marrn dorado)
R5 y R6: resistencia de 1k (marrn negro rojo
dorado)
LED1 : LEDs rojos de 5 mm
TR1: transistor BC548B
D1: diodo 1N4001
C1: condensador electroltico de 100uF
IC1: conector de 8 pines para circuito integrado
PX: microcontrolador PICAXE-08
CT1: conector de descarga PICAXE de 3.5 mm
BT1: conector de batera
BT1: caja de bateras de 4.5V (3 x AA)
PCB: tablero o placa de circuito impreso
Cables y sensores (por ejemplo interruptores y
fotorresistencias)

algunas consideraciones para Principiantes


La empresa Education Revolution ofrece la placa
de circuito impreso, fabricada especialmente con una
pelcula resistente a la soldadura, para hacer el proceso de soldadura ms sencillo. Esta pelcula es la
cubierta verde que cubre las pistas de manera que la
soldadura no se pegue a las mismas. Para una construccin correcta, el PCB se debe ensamblar y soldar
muy cuidadosamente.
Al soldar asegrese que la punta del soldador est caliente y limpia. Para verificar si est lo suficientemente caliente, trate de derretir un trozo de soldadura sobre la punta. La soldadura debe derretirse casi instantneamente. Luego limpie la soldadura pasando la punta del soldador por una esponja hmeda.
Recuerde que la soldadura slo se pega a superficies calientes. Por lo tanto nunca derrita la soldadura sobre la punta y luego trate de tirar la misma sobre la unin a soldar, esto no funcionar ya que la
unin estar fra y la soldadura no se pegar.

72 Club Saber eleCtrniCa

PiCaXe

Para soldar correctamente debe sostener en una


mano el soldador y en la otra la soldadura. Por lo
tanto, asegrese que el tablero est fijo a la mesa de
manera que no se mueva (utilice una prensa o pida
alguien que lo sujete). Siga los siguientes pasos:
1) Limpie la punta de la soldadura sobre la esponja hmeda.
2) Presione la punta del soldador contra el terminal sobre el PCB y la pata del componente a soldar. Cuente hasta 3 para darle tiempo de calentarse
a la unin.
3) Mantenga el soldador en posicin y presione
la soldadura contra la unin. Permita que se derrita
suficiente soldadura para cubrir toda la unin.
4) Retire primero la soldadura y luego el soldador.
5) Permita que la soldadura se enfre durante 5
segundos antes de mover el tablero o placa de circuito impreso.
Despus de terminar una unin asegrese que la
misma no est haciendo puente con otras juntas.
Sin embargo, tome en cuenta que algunas juntas soldadas (por ejemplo a ambos lados del conector de
descarga PICAXE) tienen dos alambres muy cerca el
uno del otro que se encuentran conectados mediante
una pista (lnea) sobre el PCB. En estos casos no importa que la soldadura las una.
6) Comience siempre con los componentes ms
pequeos, como por ejemplo resistencias. Luego
contine con componentes ms grandes como el conector del circuito integrado y termine con componentes altos tales como condensadores y transistores. No intente fijar todos los componentes a la vez,
fije solamente dos o tres a la vez.
7) Asegrese siempre que los componentes estn
bien montados (planos) sobre el tablero antes de soldarlos. Al utilizar componentes de patas largas tales
como resistencias y LEDs, doble las patas de manera que el componente quede firmemente en posicin
antes de soldarlo.
8) Asegrese que el conector estreo de descarga
PICAXE quede firme y acomodado en posicin antes de soldarlo.
9) Asegrese que aquellos componentes que slo
operan en un solo sentido (LEDs, diodos, transistores y condensadores) estn correctamente alineados
antes de soldarlos (vea las marcas sobre el PCB).
10) Los cables (alambres) del zumbador son muy
delgados. Tenga cuidado de no sobrecalentarlos o
de lo contrario puede que se derritan.
11) Haga pasar siempre los cables de la caja de
bateras por arriba y abajo de los agujeros antes de

a rmado

P rogramaCin

de una

C entral

de

a larma

soldarlos. Esto ayuda a hacer una unin ms fuerte


la cual es mucho menos propensa a soltarse.
Estas instrucciones asumen que usted est soldando todos los componentes directamente sobre el
tablero. Si utiliza cables para unir algunos componentes (por ejemplo el LED) las instrucciones son
idnticas, aunque deber ser an ms cuidadoso de
colocar los cables para el LED en la direccin correcta.
12) Coloque en posicin las dos resistencias de
1k (marrn negro rojo dorado) y la resistencia de
22k (marrn negro marrn dorado). Dbleles las
patas para fijarlas en su posicin y suelde.
13) Coloque en posicin las dos resistencias de
10k (rojo rojo naranja dorado) y la resistencia de
330 (naranja naranja marrn dorado). Dbleles
las patas para fijarlas en su posicin y suelde.
14) Utilizando alguno de los alambres cortados
de las patas de las resistencias, haga un puente sobre las letras PX marcadas a un lado de las resistencias de 330 y luego suelde. (Ignore el agujero sobre los agujeros marcados CF).
15) Suelde el diodo 1N4001 en la posicin D1,
asegrese que la barra plateada apunte hacia el lado derecho del PCB.
16) Coloque y presione en su posicin el conector estreo de descarga PICAXE sobre el tablero y
asegrese que quede fijo (Debe escuchar un click)
de manera que quede nivelado sobre el tablero. Suelde los cinco contactos cuadrados metlicos (los cinco soportes plsticos redondos no tienen que soldarse). No se preocupe si la soldadura une dos mas
contactos en cualquiera de los dos lados del conector, ya que supuestamente stos deben estar unidos
de todas maneras.
17) Coloque y presione en posicin el conector
IC. Asegrese que la muesca de uno de los extremos
apunte hacia el conector. Dblele las patas para fijarlo en posicin y suelde.
18) Suelde el LED en su respectiva posicin. Asegrese que el lado plano de uno de los lados del LED
est alineado con el lado plano marcado en el PCB.
19) Suelde en su posicin al transistor BC548B,
asegrese que el lado plano del mismo quede alineado con la marca en el PCB.
20) Suelde en su posicin al condensador de
100F, asegrese de soldar en el sentido correcto las
patas + y -.
23) Pase los cables de la batera hacia abajo a
travs del agujero grande cerca de las letras DER y
luego pselos hacia arriba a travs del agujero
grande cerca de las letras ORD. Luego suelde el ca-

Figura 17

ble negro en el agujero marcado 0V y el cable rojo


en el agujero marcado V+.
24) Con una cinta adhesiva de doble contacto pegue el zumbador (por el lado de bronce) al PCB. Pase los cables del mismo hacia abajo por el agujero
bajo LED1 y luego hacia arriba a travs del agujero
marcado PZ. Suelde el cable rojo en el agujero inferior y el cable negro en el agujero superior.
No importa si la junta soldada del cable rojo se
une con el pin5 del conector IC, ya que stas se supone que deben unirse de todas maneras. Sin embargo, el cable negro NO debe tocar el pin6 del conector IC.

Club Saber eleCtrniCa

73

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

25) Suelde cables a las conexiones OUTPUT,


DIG, ANA y INPUT.
26) Revise cuidadosamente el tablero para verificar que se hayan hecho todas las uniones y que no
haya hecho accidentalmente puentes.
27) Inserte el microcontrolador en el conector,
asegurndose que el pin1 est de frente al conector
estreo.

PiCaXe

Paso 4 Descargue un programa


para probar el LED 0
Conecte el cable a su computadora y al conector
PICAXE en el PCB. Vea que el conector del cable
quede completamente dentro del conector del PCB.
Asegrese que el software est en el modo PICAXE-08 y que haya elegido el puerto serie correcto.
Escriba y descargue el siguiente programa:

En la figura 17 se reproduce el diseo de la placa de circuito impreso. Una vez armado el circuito
realice las siguientes verificaciones:
Paso 1 Verifique las uniones soldadas.
Verifique que todas las uniones estn conectadas
tanto al terminal como al cable, y que el cable est
sujeto firmemente.
Tambin verifique que la soldadura no haga accidentalmente puentes entre terminales adyacentes.
Esto es mucho ms probable en el LED y en el zumbador.
En el conector estreo los terminales cuadrados a
cada lado pueden unirse sin ninguna consecuencia
ya que de todas formas estn unidos por una pista en
el tablero. Sin embargo, stos no deben unirse al
agujero redondo central.
Paso 2 Verifique los componentes.
1) Verifique que el cable negro de la batera est
en el agujero marcado 0V y que el cable rojo est en
el agujero marcado V+.
2) Verifique que el chip PICAXE-08 est insertado correctamente en el conector, con la muesca (que
muestra el pin1) apuntando hacia el conector estreo.
3) Verifique el lado plano del LED est conectado al agujero correcto del PCB.
4) Asegrese de no haber olvidado unir, mediante un alambre, los agujeros marcados PX en el extremo inferior izquierdo del tablero.
5) Asegrese de pegar el lado de bronce del zumbador al tablero con cinta adhesiva de doble contacto.
6) Verifique que el conector est soldado correctamente, incluyendo el terminal cuadrado central, el
cual a menudo, es olvidado por equivocacin.
Paso 3 Conecte la batera.
Verifique que las 3 pilas AA estn colocadas correctamente dentro de la caja de bateras. Conecte la
caja de bateras al cable de bateras y ponga su dedo
sobre el microcontrolador PICAXE. Si comienza a
calentarse desconecte la batera inmediatamente, ya
que debe haber algn problema (lo ms seguro es
que el chip o los cables de la batera estn conectados en sentido inverso).

74 Club Saber eleCtrniCa

main:
high 0
wait 1
low 0
wait 1
goto main
El LED debe titilar a
medida que se descarga el
programa. Al terminar la
descarga el LED deber
encenderse y apagarse cada
segundo. Si el LED no hace esto verifique que est
conectado correctamente y
Fig. 18
que las resistencias de
330 estn en la posicin correcta en el PCB.
Si el programa no se descarga verifique que la resistencia de 22k, la de 10k y el conector IC estn
soldados correctamente. Utilice un voltmetro para
verificar si hay 4.5V entre las patas superiores (1 y
8) del microcontrolador. Verifique que el cable est
firmemente conectado al conector y que dentro del
software se haya elegido el puerto serie correcto.
Paso 5 Pruebe la salida
Conecte un dispositivo de salida (por ejemplo un
timbre) a los cables de salida y luego escriba y descargue el siguiente programa:
Fig. 19
main:
high 4
wait 1
low 4
wait 1
goto main
El timbre deber sonar cada segundo. Si no
lo hace, verifique que los
cables del transistor, del
diodo y del timbre estn
conectados en la direccin correcta.

a rmado

P rogramaCin

Paso 6 Pruebe el zumbador


Escriba y descargue el siguiente programa:
Fig. 20
main:
sound 2, (65,100)
sound 2, (78, 100)
sound 2, (88, 100)
sound 2, (119, 100)
goto main
El zumbador debe emitir
4 sonidos diferentes. Si no
hace esto asegrese que los
alambres estn soldados correctamente, que el lado de
bronce est firmemente pegado al PCB con una cinta
adhesiva de doble contacto
(no trabajar si est flojo) y
que los terminales sobre las letras PX estn debidamente unidos mediante un alambre soldado.
Paso 7 - Pruebe el Interruptor
Conecte un interruptor a la entrada digital. Escriba y descargue el siguiente programa (figura 21):
main:
if input3 is on then flash
goto main

'hacer una etiqueta llamada main


'salta a flash si la entrada est encendida
'sino regresar a inicio

high 0
wait 2
low 0
goto main

' hacer una etiqueta llamada flash


' encender salida 0
' esperar 2 segundos
' apagar salida 0
' regresar al inicio

flash:

de una

C entral

de

a larma

El LED de la salida 0 deber encenderse cada


vez que se presione el interruptor. Si no lo hace verifique que el interruptor y que las resistencias de
10k estn soldadas correctamente.
Paso 8 Pruebe la Fotorresistencia
Conecte una fotorresistencia a la entrada analgica. Escriba y descargue el siguiente programa (figura 22):
main:
readadc 1,b1
if b1 > 100 then do4
if b1 > 50 then do0
low 0
low 4
goto main
do4:
high 4
low 0
goto main
do0:
high 0
low 4
goto main
Ambos LEDs debern encenderse en momentos
distintos cuando usted cubre y descubre la fotorresis-

Figura 22

Figura 21

Club Saber eleCtrniCa

75

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

tencia con su mano (de manera que incidan sobre la


fotorresistencia distintos niveles de luz). Si esto no
ocurre verifique que la fotorresistencia y la resistencia de 1k estn soldadas correctamente.

` apagar LED y verificar nuevamente el estado


` de los sensores
low 0
readadc 1,b1

Si ha ejecutado todas estas pruebas correctamente lo felicitamos ya que ha construido y ensamblado correctamente su alarma! Ahora es el momento de desarrollar y probar sus propios programas para operar su sistema de alarma!

` emitir un sonido si el valor analgico es bajo


if b1 < 80 then beep

ideas de Programacin
Ahora que ha ensamblado y probado su alarma,
es el momento de desarrollar su propio programa.
Este puede hacer que la alarma reaccione de diferentes maneras a los sensores analgicos y digitales.
Veremos ahora dos ejemplos de programas. Estos
estn diseados para darle un punto de partida para
la creacin de su programa. Usted puede modificarlos o comenzar a hacer un programa completamente
nuevo si as lo prefiere.

` hacer una pausa


pause 500

Programa 1
Este programa de uso general contiene un bucle
principal el cual enciende y apaga el LED, y tambin
verifica el estado del sensor analgico (fotorresistencia) y de la entrada digital (interruptor). Cuando se
presiona el interruptor suena una alarma por dos segundos.
Si la fotorresistencia se cubre, el zumbador emitir un pip de advertencia hasta que el nivel de luz
vuelva a subir.
_________________________________________
` Programa 1
` ***** bucle principal *****
` enciende y apaga el LED
` y verifica el estado de los sensores
main:
` encender LED y leer el valor de luz
high 0
readadc 1,b1
` emitir un sonido si el valor analgico es bajo
if b1 < 80 then beep
` si el interruptor es presionado ir a alarm
if pin3 = 1 then alarm
` hacer una pausa
pause 500

76 Club Saber eleCtrniCa

` si el interruptor es presionado ir a alarm


if pin3 = 1 then alarm

goto main

` ***** emitir sonido *****


beep:
sound 2,(120,50,80,50,120,50)
pause 200
goto main
` ***** encender alarma *****
alarm:
high 4
pause 2000
low 4
goto main
_________________________________________
Programa 2
Este programa est diseado como si fuera un
sistema de alarma contra incendios. En el mismo, la
alarma se activa una vez que se detecta humo sobre
el sensor de luz (cuando el sensor de luz indica un
valor de luz menor de lo normal). Una vez que la
alarma se ha activado, la misma se mantiene encendida y slo es posible apagarla desconectando la alimentacin del sistema. La entrada digital se utiliza
como dispositivo anti-vandalismo. Mientras la caja
de la alarma est cerrada, el interruptor se mantendr
encendido (sta es la condicin normal). Si se abre la
caja, el interruptor se abrir y activar la alarma del
zumbador hasta que la caja vuelva a cerrarse.
_________________________________________
` Programa 2
` ***** bucle principal *****
` verificar estado de los sensores
main:
` LED apagado
low 0

a rmado

P rogramaCin

de un

S iStema

de

l uCeS

de

S eguridad

` leer valor de luz


readadc 1, b1
` activar la alarma si el valor analgico es bajo
if b1 < 80 then alarm
` si el interruptor se apaga ir a tamper
if pin3 = 0 then tamper
goto main
` ***** activar alarma anti-vandalismo hasta
` que el interruptor vuelva a cerrarse*****
tamper:
high 0
sound 2, (120,100)
if pin3 = 1 then main
goto tamper
` ***** alarma encendida eternamente *****
alarm:
high 4
goto alarm
_________________________________________
Estos son simplemente dos de los muchos ejemplos que pueden utilizarse para la programacin de
su alarma.

armado y Programacin de un
sistema de luces de seguridad
Es posible hacer circuitos secuenciales con microcontroladores PICAXE de modo que stos realicen diferentes motivos. Uno de los sistemas de luces
ms requeridos
es, sin dudas,
aqul que puede
emplearse como
sistema de seguridad o baliza, ya
sea cuando un vehculo est en
emergencia
o
cuando una persona se decide a correr.
La figura 23
muestra un juego

Figura 23
de luces triangular de seguridad que puede acoplarse
a un cinturn o a un bolso. La misma puede ser utilizada por personas que estn caminando o montando bicicleta en carreteras oscuras para advertir a los
conductores sobre su presencia.
La luz de seguridad funciona mediante el encendido y apagado de LEDs de alta intensidad de luz. El
microcontrolador es el cerebro de la luz de seguridad.
Disear y construir una luz de seguridad para
peatones ciclistas resulta muy fcil si se siguen los
pasos que damos a continuacin. La luz de seguridad
debe programarse para encender y apagar LEDs de
alta intensidad. Las especificaciones del diseo son
las siguientes:
1. El diseo utilizar un microcontrolador PICAXE-08 como su cerebro controlador.
2. El diseo incluir 3 LEDs de alta intensidad.
3. El diseo ser capaz de opcionalmente reaccionar a cambios en los niveles de luz.
El diagrama en bloques para su luz de seguridad
puede ser como el que vemos en la figura 24.
El asunto ms importante que debe pensar al disear su luz de seguridad, es el tipo de estuche que
va a utilizar para la misma. Va a usar el estuche
triangular del fabricante o va a hacer su propio estuche?
Otros puntos importantes a considerar antes de

Figura 24

Club Saber eleCtrniCa

77

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Figura 25

PiCaXe

ms tiempo que una bombilla elctrica). Si se pasa


demasiada corriente por un LED el mismo se puede
daar, es por esto que los LEDs normalmente se utilizan junto con una resistencia en serie, para protegerlos de corrientes excesivas.
El valor de la resistencia requerida depende del
voltaje de la batera utilizada. Para una batera de
4.5V se puede utilizar una resistencia de 330 y para una batera de 3V lo apropiado es una resistencia
de 120.
Debido a que el LED slo requiere una pequea
cantidad de corriente para operar, el mismo se puede
conectar directamente entre el pin de salida del microcontrolador y 0V (sin olvidar incluir la resistencia
en serie para proteccin).
Puede probar el LED muy fcil (vea el captulo
2), mediante el siguiente programa:

encarar el diseo del sistema de luces de seguridad


son los siguientes:
1. Qu color, forma y tamao de LEDs va a utilizar?
2. Qu tipo de batera es la ms adecuada?
3. Cmo va a encender y apagar su luz de seguridad?
4. Necesita su luz de seguridad ser resistente al
agua, de manera que pueda utilizarla bajo la lluvia?
En la figura 25 podemos observar los componentes principales que podra necesitar para su luz de seguridad. Precisar un microcontrolador PICAXE-08,
diodo emisor de luz (LED), fotorresistencia, interruptor de encendido/apagado, caja para dos pilas
AAA, y tambin necesitar un conector picaxe para
descarga y algunas resistencias.
Utilizando leds
Tal como hemos visto en este mismo texto, los
LEDs slo necesitan una pequea cantidad de corriente para operar, esto los hace mucho ms eficientes que las lamparitas (bombillas) elctricas (esto
significa, por ejemplo, que si se tuviera una alimentacin por bateras un LED alumbrara por mucho

78 Club Saber eleCtrniCa

Este programa debe encender y apagar el LED


(conectado al pin de salida 0) cada segundo. Si no
sabe cmo se debe conectar el Led, a dnde conectarlo y qu pasos debe seguir, le aconsejamos que comience a leer este captulo desde el inicio. Si ha seguido todos los pasos correctos y el LED no funciona verifique:
1. que el LED est conectado en sentido correcto
2. que se est utilizando la resistencia correcta
3. que se est utilizando el nmero de pin correcto dentro del programa
4. que todas las juntas estn bien soldadas
Algunas veces es til poder encender y apagar
ms de un LED al mismo tiempo. Utilizando mltiples comandos high y low, esto tomara mucho tiempo.
El comando let pins = permite hacer esto en
una manera mucho ms prctica.

a rmado

P rogramaCin

de un

Despus del smbolo de igual (=) se incluye un


nmero. A cada pin de salida se le asigna un valor,
y el nmero utilizado en el programa corresponde a
la suma de estos valores. Vea la siguiente tabla:
Pin
Valor

2
4

1
2

0
1

Por lo tanto, el siguiente programa enciende todas las salidas, luego las apaga todas, y luego enciende una a la vez en secuencia:
start:

low 0
low 1
low 2

` apagar todas las salidas

let pins = 7
pause 100
let pins = 0
pause 100
let pins = 1
pause 100
let pins = 2
pause 100
let pins = 4
pause 100
let pins = 0
goto main

` encender todas las salidas (4+2+1)


` pausa por 0.1 segundos
` apagar todas las salidas
` pausa por 0.1 segundos
` encender pin 0, todos las dems apagados
` pausa por 0.1 segundos
` encender pin 1, todos las dems apagados
` pausa por 0.1 segundos
` encender pin 2, todos las dems apagados
` pausa por 0.1 segundos
` apagar todas las salidas
` regresar a inicio (start)

main:

IMPORTANTE! El comando let pins slo funciona luego de que los pines han sido configurados
como salidas. Para hacer esto usted debe utilizar el
comando low en cada pin al inicio del programa.

S iStema

de

l uCeS

de

S eguridad

La lista de materiales para construir este circuito


es la siguiente:
R1, R2, R3: resistencias de 120, (marrn rojo marrn dorado)
R4: resistencia de 1k, (marrn negro rojo dorado)
R5: resistencia de 22k, (rojo rojo naranja dorado)
R6: resistencia de 10k, (marrn negro naranja
dorado)
LED1, 2, 3: LEDs de alta intensidad de 5 mm
SW1: interruptor deslizante de encendido/apagado
IC1: conector de 8 pines para circuito integrado
PX: microcontrolador PICAXE-08
CT1: conector de descarga PICAXE de 3.5 mm
BT1: caja de pilas elctricas de 3 V (2 x AAA)
PCB: tablero de circuito impreso
Cables sencillos para conectar los LEDs y la caja
de pilas
opcional: LDR: fotorresistencia miniatura
Estuche
1 estuche triangular con clip de cinturn
2 tornillos de rosca cortante No. 4 de 6 mm
1 tornillo de rosca cortante No. 4 de 16 mm
Soldando Componentes Sobre el PCB:
El PCB que provee la empresa Education Revolution est fabricado especialmente con una pelcula
resistente a la soldadura para hacer el proceso de soldadura ms sencillo. Esta pelcula es la cubierta verde que cubre las pistas de manera que la soldadura no
se pegue a las mismas. Para una construccin correcta el PCB se debe ensamblar y soldar muy cuidadosamente.
Al soldar asegrese que la punta del soldador est caliente y limpia. Para verificar si est lo suficien-

el circuito del Juego de


luces de seguridad
El proyecto de luz de seguridad utiliza un microcontrolador PICAXE-08 con
tres salidas LED. Este proyecto tambin utiliza un interruptor para encender y
apagar el circuito, y puede
opcionalmente utilizar una
fotorresistencia de manera
que la luz de seguridad sepa
cuando est claro y cuando
oscurece.
El diagrama de circuito
para el proyecto de luz de
seguridad, es el que vemos
en la figura 26.

Figura 26

Club Saber eleCtrniCa

79

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

temente caliente, trate de


derretir un trozo de soldadura sobre la punta. La
soldadura debe derretirse
casi instantneamente.
Luego limpie la soldadura pasando la punta del
soldador por una esponja
hmeda.
Recuerde que la soldadura slo se pega a superficies calientes. Por lo
tanto nunca derrita la soldadura sobre la punta y luego trate de tirar la misma sobre la unin a soldar
esto no funcionar ya que la unin estar fra y la
soldadura no se pegar.
Para soldar correctamente debe sostener en una
mano el soldador y en la otra la soldadura. Por lo
tanto, asegrese que el tablero est fijo a la mesa de
manera que no se mueva (utilice una prensa pida
alguien que lo sujete).
Damos a continuacin los pasos aconsejados para realizar la soldadura:
1) Limpie la punta de la soldadura sobre la esponja hmeda.
2) Presione la punta del soldador contra el terminal sobre el PCB y la pata del componente a soldar. Cuente hasta 3 para darle tiempo de calentarse
a la unin.
3) Mantenga el soldador en posicin y presione
la soldadura contra la unin. Permita que se derrita
suficiente soldadura para cubrir toda la unin.
4) Retire primero la soldadura y luego el soldador.
5) Permita que la soldadura se enfri durante 5
segundos antes de mover el tablero.

PiCaXe

Figura 27

7) Asegrese siempre que los componentes estn


bien montados (planos) sobre el tablero antes de soldarlos. Al utilizar componentes de patas largas tales
como resistencias y LEDs, doble las patas de manera que el componente quede firmemente en posicin
antes de soldarlo.
8) Asegrese que el conector estreo de descarga
PICAXE quede firme y acomodado en posicin antes de soldarlo.
9) Asegrese que aquellos componentes que slo
operan en un solo sentido (LEDs, diodos, transistores y condensadores) estn correctamente alineados
antes de soldarlos (vea las marcas sobre el PCB).
10) Los cables (alambres) del zumbador son muy
delgados. Tenga cuidado de no sobrecalentarlos o
de lo contrario puede que se derritan.
11) Haga pasar siempre los cables de la caja de
bateras por arriba y abajo de los agujeros antes de
soldarlos. Esto ayuda a hacer una unin ms fuerte
la cual es mucho menos propensa a soltarse.

Despus de terminar una unin asegrese que la


misma no est haciendo puente con otras juntas.
Sin embargo, tome en cuenta que algunas juntas soldadas (por ejemplo a ambos lados del conector de
descarga PICAXE) tienen dos alambres muy cerca el
uno del otro que se encuentran conectados mediante
una pista (lnea) sobre el PCB. En estos casos no importa que la soldadura las una.

En el proyecto de la luz de seguridad todos los


componentes electrnicos se sueldan al tablero o
placa de circuito impreso, excepto el LED2 y el
LED3 si usted est utilizando el estuche triangular al
conectar con cables estos dos LEDs.
El LED1 se suelda arriba del PCB mediante cables largos. Luego se dobla hacia atrs por el borde
del PCB de manera que apunte hacia abajo en vez de
hacia arriba.
Vea en la figura 27 el diseo de la placa de circuito impreso de este proyecto.
La fotorresistencia opcional, si se utiliza, se suelda en el tablero del lado de las pistas.

6) Comience siempre con los componentes ms


pequeos, como por ejemplo resistencias. Luego
contine con componentes ms grandes como el conector del circuito integrado y termine con componentes altos tales como condensadores y transistores. No intente fijar todos los componentes a la vez,
fije solamente dos o tres a la vez.

12) Coloque las tres resistencias de 120 (marrn rojo marrn dorado) en las posiciones R1, R2 y
R3 y la resistencia de 10k (marrn negro naranja
dorado) en la posicin R6. Dbleles las patas para
fijarlas en su posicin y suelde.
13) Coloque la resistencia de 22k (rojo rojo naranja dorado) en la posicin R5 y la resistencia de

80 Club Saber eleCtrniCa

a rmado

P rogramaCin

de un

1k (marrn negro rojo dorado) en la posicin R4.


Dbleles las patas para fijarlas en su posicin y
suelde.
14) Coloque y presione en su posicin el conector estreo de descarga PICAXE sobre el tablero y
asegrese que quede fijo (Debe escuchar un click)
de manera que quede nivelado sobre el tablero. Suelde los cinco contactos cuadrados metlicos (los cinco soportes plsticos redondos no tienen que soldarse).
No se preocupe si la soldadura une dos ms
contactos en cualquiera de los dos lados del conector ya que supuestamente stos deben estar unidos
de todas maneras.
15) Coloque y presione en posicin el conector
IC. Asegrese que la muesca de uno de los extremos
apunte hacia el conector.
Dblele las terminales para fijarlo en posicin y
suelde.
16) Suelde el interruptor deslizante en su respectiva posicin.
17) Ponga en su posicin al LED1. Asegrese
que la parte inferior del LED est nivelada con la
parte superior del interruptor (o sea que el LED est aproximadamente 6 mm por arriba del PCB).
Suelde.
18) Suelde cables al LED2, al LED3 y a los agujeros BT de la batera. Note que todos los cables
pueden enhebrarse a travs de los agujeros para
crear una unin ms fuerte. Los cables deben ser de
por lo menos 60 mm de largo.
19) Suelde los cables de batera a la caja de pilas, asegurndose de tener la polaridad correcta
(conexiones + y - correctas). Tenga cuidado de no
calentar demasiado los contactos metlicos de la caja de pilas o de lo contrario puede que derritan la
cubierta plstica y se caigan.
20) Suelde los cables de LEDs a los LEDs, asegurndose de soldar las patitas en el sentido correcto. Antes de hacer esto doble las patitas de los LEDs
a la mitad y suelde en la parte inferior de la mitad de
las patitas. Esto asegurar que los LEDs quepan correctamente en el estuche que haya elegido para alojar al circuito.
21) Si lo desea, suelde la fotorresistencia opcional miniatura al tablero del lado de las PISTAS. Debe soldarse parada sobre sus patas a unos 5 mm por
encima del tablero
22) Revise cuidadosamente el tablero para verificar que se hayan hecho todas las uniones y que no
haya hecho accidentalmente puentes.
23) Inserte el microcontrolador en el zcalo (base o zoquet), asegurndose que el pin1 est de frente al conector estreo.

S iStema

de

l uCeS

de

S eguridad

Una vez que haya montado todos los componentes, puede verificar el funcionamiento de las distintas
partes, para ello, haga lo siguiente:
Paso 1 Verifique las uniones soldadas.
Verifique que todas las uniones estn conectadas
tanto al terminal como al cable, y que el cable est
sujeto firmemente. Tambin verifique que la soldadura no haga accidentalmente puentes entre terminales adyacentes. Esto es mucho ms probable en los
LEDs y en la fotorresistencia.
En el conector estreo los terminales cuadrados a
cada lado pueden unirse sin ninguna consecuencia ya
que de todas formas estn unidos por una pista en el
tablero. Sin embargo, stos no deben unirse al agujero redondo central.
Paso 2 Verifique los componentes.
1) Verifique que el cable negro de la batera est
en el agujero marcado 0V y que el cable rojo est en
el agujero marcado V+.
2) Verifique que el chip PICAXE-08 est insertado correctamente en el conector, con la muesca (que
muestra el pin1) apuntando hacia el conector estreo.
3) Verifique el lado plano del LED est conectado al agujero correcto del PCB.
4) Verifique que el conector est soldado correctamente, incluyendo el terminal cuadrado central el
cual a menudo, es olvidado por equivocacin.
Paso 3 Conecte la batera.
Verifique que las 2 pilas AAA estn colocadas
correctamente dentro de la caja de bateras. Encienda el interruptor y ponga su dedo sobre el microcontrolador PICAXE. Si comienza a calentarse apague
el interruptor inmediatamente ya que esto indica que
hay un problema lo ms seguro es que el chip o los
cables de la batera estn conectados en sentido inverso.
Paso 4 Descargue un programa
para probar el LED 0
Conecte el cable a su ordenador y al conector PICAXE en el PCB. Asegrese que el enchufe del cable quede completamente dentro del conector del
PCB.
Si Ud. no sabe de lo que estamos hablando entonces debe comenzar a leer este tema desde el comienzo de este captulo ya que hemos explicado una
serie de conceptos importantes tales como qu es un
PICAXE, cmo se lo usa, cmo se lo programa, qu
utilitarios se emplean para su programacin, cmo se
lo conecta a una computadora, etc.
Escriba y descargue el siguiente programa:

Club Saber eleCtrniCa

81

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

PiCaXe

goto main
LEDon:
high 0
goto main
EL LED deber encenderse cuando usted cubre y
descubre la fotorresistencia con su mano (de manera
que incidan sobre la fotorresistencia distintos niveles
de luz). Si esto no ocurre verifique que la fotorresistencia y la resistencia de 1k estn soldadas correctamente.
Si ha ejecutado todas estas pruebas correctamente lo felicitamos ya que ha construido y ensamblado correctamente su luz de seguridad! Ahora es
el momento de desarrollar y probar sus propios programas!

El LED debe titilar a medida que se descarga el


programa. Al terminar la descarga el LED deber encenderse y apagarse cada segundo. Si el LED no hace esto, verifique que est conectado correctamente
y que las resistencias de 120 estn la posicin correcta en el PCB.
Nota: Esta experiencia la hemos repetido varias
veces a lo largo de este texto pero tenga en cuenta
que cada vez ha sido en una forma ligeramente diferente para que comprenda plenamente la forma de
trabajar con el sistema PICAXE.
Si el programa no se descarga verifique que la resistencia de 22k, la de 10k y el conector IC estn
soldados correctamente. Utilice un voltmetro para
verificar si hay 3V entre las patas superiores (1 y 8)
del microcontrolador. Verifique que el cable est firmemente conectado al conector y que dentro del
software se haya elegido el puerto serie correcto.
Paso 5 Pruebe el LED 1
Repita el programa del paso 4, pero utilice high
1 y low 1 en vez de high 0 y low 0. Esto verificar
el funcionamiento del LED 1 cuando monte el circuito en la placa de la figuira 27.
Paso 6 Pruebe el LED 2
Repita el programa del paso 4, pero utilice high
4 y low 4 en vez de high 0 y low 0. Esto verificar
el funcionamiento del LED 2.
Paso 7 Pruebe la fotorresistencia (opcional)
Escriba y descargue el siguiente programa:
main:
if pin3 = 1 then LEDon
low 0

82 Club Saber eleCtrniCa

Ahora que ha ensamblado y probado su luz de seguridad, es el momento de desarrollar su propio programa. Este programa crea diferentes patrones de encendido de los LEDs de la luz de seguridad.
Analizaremos dos ejemplos de programas. Estos
estn diseados para darle un punto de partida para
la creacin de su programa. Usted puede modificarlos o comenzar a hacer un programa completamente
nuevo si as lo prefiere.
Sea creativo, intente crear tantos patrones de
encendido de luces como pueda!

Programa 1
Este programa tiene un bucle principal el cual enciende y apaga los LEDs de una manera relativamente lenta. Si la fotorresistencia est a oscuras, los
LEDs se encendern y apagarn muchsimo ms rpido.
_________________________________________
` Programa 1
` ***** bucle lento *****
slow:
high 0
` encender LEDs
high 1
high 2
pause 500
` esperar 0.5 segundos
` si el valor de luz es bajo (low) entonces ir a fast
if pin3 = 0 then fast
low 0
low 1
low 2
pause 500

` apagar LEDs

` esperar 0.5 segundos

a rmado

P rogramaCin

` si el valor de luz es bajo (low) entonces ir a fast


if pin3 = 0 then fast
goto slow
` ***** bucle rpido *****
fast:
high 0
` encender LEDs
high 1
high 2
pause 100
` esperar 0.1 segundos
` si el valor de luz es alto (high) entonces ir a slow
if pin3 = 1 then slow
low 0
low 1
low 2
pause 100

` apagar LEDs

` esperar 0.1 segundos

` si el valor de luz es alto (high) entonces ir a slow


if pin3 = 1 then slow
goto fast
_________________________________________
Programa 2
Este programa es mucho ms avanzado. Utiliza
mltiples veces bucles for...next para crear una variedad de patrones de encendido distintos.
_________________________________________
` Programa 2
start:
` convertir en salidas a los pines 0, 1 y 2
low 0
low 1
low 2
main:
` todos encendidos - todos apagados 20 veces
for b1 = 1 to 20
let pins = 7
pause 100
let pins = 0
pause 100
next b1
` encendido en crculos 20 veces
for b1 = 1 to 20
let pins = 1
pause 100
let pins = 2

de un

J uego e leCtrniCo

pause 100
let pins = 4
pause 100
next b1
` destellando en crculos 20 veces
for b1 = 1 to 20
let pins = 1
pause 100
let pins = 0
pause 100
let pins = 2
pause 100
let pins = 0
pause 100
let pins = 4
pause 100
let pins = 0
pause 100
let pins = 2
pause 100
let pins = 0
pause 100
next b1
` regresar al inicio
goto main
_________________________________________
Hemos dado dos de los muchos ejemplos que
pueden utilizarse para la programacin de un juego
de luces de seguridad.

armado y Programacin de un
Juego electrnico
El
Simon,
fue uno de los
primeros juegos
electrnicos portables, hecho por
la compaa MB
en 1978. Era tan
pesado que necesitaba una pila
de 1.5V y una
batera de 9V
PP3 para hacerlos funcionar!

Club Saber eleCtrniCa

83

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

La idea detrs
de Simon era bastante simple. Estaba basado en el
viejo juego Simon Dice. El
juego estaba hecho de una caja de
plstico redonda
con cuatro paneles
de colores- debajo
de cada panel haba un interruptor y una lamparita.
Al comenzar el juego el microprocesador encenda
uno de los cuatro paneles y dara un tono. El juego
consista, entonces, presionar el panel que se encenda. Demasiado Simple! Entonces Simon repetira
el panel encendido y agregara otro. Ahora su trabajo era presionar dos paneles en el orden correcto. El
nmero de paneles continuara aumentando hasta
que usted no pudiera recordar la secuencia, momento en el cual Simon haca un sonido y finalizaba el
juego.
En 1979 MB lanz el Super Simon, el cual tena
dos sets de paneles, de manera que dos personas pudieran jugar una contra la otra. En 1980 se lanz
Pocket simon, una versin ms pequea del juego
original. Tambin haba un Simon con su caja transparente, de manera que se pudiera ver su electrnica
por dentro.
Simon era muy caro, debido a que utilizaba un
circuito complicado controlado por un microprocesador, y necesitaba bateras grandes que proveyeran
energa a las lamparitas.
Ahora es posible reproducir el juego Simon, utilizando 4 LEDs y un microcontrolador de muy bajo
costo, y slo utiliza dos pequeas pilas de 1.5V.
El juego propuesto puede tener 4 o 5 LEDs indicadores y un largo interruptor. Tambin utiliza un resistor preset para proveer una entrada ajustable (por
ejemplo: tiempo). Puede incluir otros sensores como: ms interruptores, luces o sensores de temperatura. Puede agregar un buzzer piezoelctrico para generar sonidos. Las caractersticas sobresalientes son:
1) El diseo utilizar un microcontrolador PICAXE como su controlador
2) Incluir LEDs de salida, un interruptor de entrada y un resistor de entrada preset
3) Ser programado con el juego que usted disee
Algunas cosas para tener en cuenta
1- Cmo va a funcionar su juego?
Podra ser un simple reloj (timing) o un disposi-

84 Club Saber eleCtrniCa

PiCaXe

Figura 28

tivo dice utilizado como parte de un gran juego, o


un juego completo por s mismo.
2- Qu color y tamao de LEDs debe utilizar?
Los LEDS ms comunes son los rojos, pero tambin puede usar otros colores y tamaos (por ejemplo: azul)
3- Cmo activa el juego?
Normalmente, se utiliza un interruptor colocado
en la caja, pero tambin podra conectar otros interrutptores sobre plomos. Podra elegir utilizar otro tipo de sensores, por ejemplo, un sensor de luz (LDR)
que pueda detectar cambios en el nivel de luz cuando usted coloque la mano sobre l.
Algunas veces, es til encender o apagar ms de
un LED al mismo tiempo. Esto ahorra tiempo cuando utiliza comandos altos y bajos. El comando que
hace esto, se llama let pin= tal como hemos visto
en la descripcin del proyecto anterior.

el circuito del Juego electrnico


El proyecto del juego electrnico utiliza un microcontrolador PICAXE-18 con LED. Tambin utiliza un interruptor para activar el LED.
En la figura 28 se describe el diagrama de bloques electrnico. Si desea puede agregar dos interruptores extras o sensores conectados a las salidas 6
y 7 (patas 11 y 12 del PICAXE-18).
En la figura 29 se describe el diagrama del juego
electrnico. La lista de materiales para este proyecto
es la siguiente:
1 LED de alto rendimiento color rojo
1 LED de alto rendimiento color amarillo
1 LED de alto rendimiento color verde
1 LED de alto rendimiento color azul (o naranja)
1 LED de 5mm color rojo
1 Pulsador normal abierto
1 PICAXE-18 (marcado como PIC16F627 -pero
tenga en cuenta que no es un PIC16F627 comn)
4 Resistores de 10k

a rmado

P rogramaCin

de un

J uego e leCtrniCo

Figura 29

1 Resistor de 120
1 Resistor de 47k
1 Pre-set de 100k
1 Resistor de 120
1 cristal piezoelctrico de 4MHz
1 LDR (resistencia variable con la luz)
Opcional: El LED1 puede seer reemplazado por
un LDR en miniatura si lo desea. Esto da una entrada extra en lugar de la salida del LED.
Si prefiere una batera de 9V, se requiere un regulador de voltaje en la posicin RG1. Si utiliza una caja de batera de 3V (recomendado) simplemente utilice un wire link (puente) que atraviese los dos orificios de salida de la posicin RG1. Herramientas:
Soldador-Cutters
El PCB propuesto por la empresa propietaria de
PICAXE est fabricado especialmente con una pelcula resistente a la soldadura para hacer el proceso
Figura 30

de soldadura ms sencillo. Esta pelcula es la cubierta verde que cubre las pistas de manera que la soldadura no se pegue a las mismas. Para una construccin correcta el PCB se debe ensamblar y soldar muy
cuidadosamente.
En la figura 30 se puede observar el diseo de la
placa de circuito impreso
consejos Utiles para el Principiante
Al soldar asegrese que la punta del soldador este caliente y limpia. Para verificar si est lo suficientemente caliente, trate de derretir un trozo de soldadura (estao) sobre la punta. La soldadura debe derretirse casi instantneamente. Luego limpie la soldadura pasando la punta del soldador por una esponja hmeda.
Recuerde que la soldadura slo se pega a superficies calientes. Por lo tanto nunca derrita la soldadura sobre la punta y luego trate de tirar la misma sobre la unin a
soldar, esto no
funcionar ya
que la unin
estar fra y la
soldadura no
se pegar.
Para soldar
correctamente
debe sostener
en una mano
el soldador y
en la otra la
soldadura. Por
lo tanto, asegrese que el

Club Saber eleCtrniCa

85

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

tablero est fijo a la mesa de manera que no se mueva (utilice una prensa pida alguien que lo sujete).
Para soldar recuerde:
1) Limpie la punta de la soldadura sobre la esponja hmeda.
2) Presione la punta del soldador contra el terminal sobre el PCB y la pata del componente a soldar. Cuente hasta 3 para darle tiempo de calentarse
a la unin.
3) Mantenga el soldador en posicin y presione
la soldadura contra la unin. Permita que se derrita
suficiente soldadura para cubrir toda la unin.
4) Retire primero la soldadura y luego el soldador.
5) Permita que la soldadura se enfre durante 5
segundos antes de mover el tablero.
Luego, tal como hemos dicho en cada uno de los
proyectos descriptos en este texto, se deben tener en
cuenta una serie de consideraciones entre las que podemos mencionar:
1) Comience siempre con los componentes ms
pequeos, como por ejemplo resistencias. Luego
contine con componentes ms grandes como el conector del circuito integrado y termine con componentes altos tales como condensadores y transistores. No intente fijar todos los componentes a la vez,
fije solamente dos o tres a la vez.
2) Asegrese siempre que los componentes estn
bien montados (planos) sobre el tablero antes de soldarlos. Al utilizar componentes de patas largas tales como resistencias y LEDs, doble las patas de manera que el componente quede firmemente en posicin antes de soldarlo.
3) Asegrese que el conector estreo de descarga
PICAXE quede firme y acomodado en posicin antes de soldarlo.
4) Asegrese que todos aquellos componentes
que slo operan en un solo sentido (LEDs, diodos,
transistores y condensadores) estn correctamente
alineados antes de soldarlos (vea las marcas sobre
el PCB).
5) Los cables (alambres) del zumbador son muy
delgados. Tenga cuidado de no sobrecalentarlos o
de lo contrario puede que se derritan.
6) Haga pasar siempre los cables de la caja de
bateras por arriba y abajo de los agujeros antes de
soldarlos. Esto ayuda a hacer una unin ms fuerte
la cual es mucho menos propensa a soltarse.
7) Con el juego electrnico los LEDs se deben
montar levemente sobre el PCB de manera que quepan en la caja. Pruebe las posiciones antes de soldar.

86 Club Saber eleCtrniCa

PiCaXe

8) Coloque el resistor de 2k (rojo rojo naranja


dorado) y los cinco resistores de 10k en su posicin (marrn negro naranja dorado). Dbleles las
patas para fijarlos en su posicin y suelde.
9) Coloque los cinco resistores de 120 (marrn
rojo marrn dorado) y el resistor de 47k (amarillo
violeta naranja dorado) y suelde. Doble las patas
para fijar los resistores y suelde. Observe que si utiliza el microcontroaldor PICAXE-18 A, no se requiere el resistor de 47k, y debera seer reemplazado
por un wire link (puente).
10) Use una pata del resistor off-cut para hacer
un puente en las posiciones LINK1 y LINK 2.
11) Si est utilizando una batera 9V PP3, suelde
un regulador 78L05 en la posicin RG1. Si est utilizando una batera de 3V, no necesitar el regulador.
En este caso use un puente para soldar los dos contactos en la posicin RG1 (como se indica en el PCB).
12) Utilizando alguno de los alambres cortados
de las patas de las resistencias, haga un puente sobre las letras PX marcadas a un lado de las resistencias de 330 y luego suelde. (Ignore el agujero sobre los agujeros marcados CF)
13) Coloque y presione en su posicin el conector estreo de descarga PICAXE sobre el tablero y
asegrese que quede fijo (Debe escuchar un click)
de manera que quede nivelado sobre el tablero.
Suelde los cinco contactos cuadrados metlicos (los
cinco soportes plsticos redondos no tienen que soldarse). No se preocupe si la soldadura une dos
mas contactos en cualquiera de los dos lados del conector ya que supuestamente estos deben estar unidos de todas maneras.
14) Coloque y presione en posicin el conector
IC. Asegrese que la muesca de uno de los extremos
apunte hacia el conector. Dblele las patas para fijarlo en posicin y suelde.
15) Suelde la fotorresistencia y los dos LEDs en
sus respectivas posiciones. Asegrese que el lado
plano de uno de los lados del LED est alineado con
el lado plano marcado en el PCB.
16) Suelde en su posicin el interruptor (note que
slo encaja en un sentido). Si est utilizando cables,
suelde uno de los cables en uno de los dos agujeros
inferiores y el otro cable en uno de los dos agujeros
superiores.
17) Pase los cables de la batera hacia abajo a
travs del agujero grande cerca de las letras AXE y
luego pselos hacia arriba a travs del agujero
grande cerca del nmero.
18) Suelde el cable negro en el agujero marcado
0V y el cable rojo en el agujero marcado V+.
19) Con una cinta adhesiva de doble contacto
pegue el zumbador (por el lado de bronce) al PCB.

a rmado

P rogramaCin

Pase los cables del mismo hacia abajo por el agujero bajo LED1 y luego hacia arriba a travs del agujero marcado PZ. Suelde el cable rojo en el agujero
inferior y el cable negro en el agujero superior. No
importa si la junta soldada del cable rojo se une con
el pin5 del conector IC ya que estas se supone que
deben unirse de todas maneras. Sin embargo, el cable negro NO debe tocar el pin6 del conector IC.
20) Revise cuidadosamente el tablero para comprobar que todas las uniones soldadas estn bien hechas y que no hay ningn puente de soldadura creado accidentalmente.
21) Inserte el microcontrolador en el conector,
asegurndose que el pin1 est de frente al conector
estreo.
Cuando haya armado el circuito, utilizando la
placa PCB mostrada en la figura 30, debe realizar las
siguientes verificaciones:
Paso 1 Verifique las uniones soldadas
Verifique que todas las uniones estn conectadas
tanto al terminal como al cable, y que el cable est
sujeto firmemente. Tambin verifique que la soldadura no haga accidentalmente puentes entre terminales adyacentes. Esto es mucho ms probable en los
LEDs, la fotorresistencia y el zumbador. En el conector estreo los terminales cuadrados a cada lado
pueden unirse sin ninguna consecuencia ya que de
todas formas estn unidos por una pista en el tablero. Sin embargo, stos no deben unirse al agujero redondo central.
Paso 2 Verifique los componentes
1) Verifique que el cable negro de la batera est
en el agujero marcado 0V y que el cable rojo est en
el agujero marcado V+.
2) Verifique que el chip PICAXE-08 est insertado correctamente en el conector o base, con la muesca (que muestra el pin1) apuntando hacia el conector
estreo.
3) Verifique el lado plano del LED est conectado al agujero correcto del PCB.
4) Asegrese de no haber olvidado unir mediante
un alambre los agujeros marcados PX en el extremo
inferior izquierdo del tablero.
5) Asegrese de pegar el lado de bronce del zumbador al tablero con cinta adhesiva de doble contacto.
6) Verifique que el conector est soldado correctamente, incluyendo el terminal cuadrado central el
cual a menudo es olvidado por equivocacin.
Paso 3 Conecte la batera.
Verifique que las 3 pilas AA estn colocadas co-

de un

J uego e leCtrniCo

rrectamente dentro de la caja de bateras. Conecte la


caja de bateras al cable de bateras y ponga su dedo
sobre el microcontrolador PICAXE. Si comienza a
calentarse desconecte la batera inmediatamente ya
que debe haber algn problema, lo ms seguro es que
el chip o los cables de la batera estn conectados en
sentido inverso.
Paso 4 Descargue un programa
para probar el LED 0
Conecte el cable a su ordenador y al conector PICAXE en el PCB.
Asegrese que el conector del cable quede completamente dentro del conector del PCB.
Debe asegurarse que el software est en el modo
PICAXE-08 y que haya elegido el puerto serie correcto.
Puede probar el funcionamiento de cada LED,
para ello dibuje el organigrama de la figura 31 y
obtenga el cdigo BASIC
Figura 31

El LED debe titilar a medida que se descarga el


programa. Al terminar la descarga el LED deber encenderse y apagarse cada segundo. Si el LED no hace esto verifique que est conectado correctamente y
que las resistencias de 330 estn la posicin correcta en el PCB.
Si el programa no se descarga verifique que la resistencia de 22k, la de 10k y el conector IC estn
soldados correctamente. Utilice un voltmetro para
verificar si hay 4.5V entre las patas superiores (1 y 8)
del microcontrolador. Verifique que el cable est firmemente conectado al conector y que dentro del
software se haya elegido el puerto serie correcto.
Paso 5 Pruebe el otro LED
Repita el programa del paso 4, pero utilice high
1 y low 1 en vez de high 0 y low 0. Luego reptalo
en la salida 2, 3 y 4. Esto probar cada LED.

Club Saber eleCtrniCa

87

P royeCtoS C omPletoS

Con

m iCroControladoreS PiC

Paso 6 - Pruebe el Interruptor


El Led debe encender cuando se
presiona el interruptor. Si no lo hace,
verifique el interruptor y si el resistor
de 10k est correctamente soldado.
main:
if pin2 = 1 then LEDon
low 0
goto main

PiCaXe
Figura 32

LED0n:
high 0
goto main
Paso 7 - Prueba del preset
El LED debe encender y apagar cuando se gira el
preset hacia adelante o hacia atrs si realiza la programacin con la rutina que mostramos en la figura
32.
Si pas todas estas pruebas con xito, felicitaciones ya que ha construido y ensamblado correctamente su juego electrnico. Ya est en condiciones de de-

88 Club Saber eleCtrniCa

sarrollar sus propios programas para su juego electrnico.


Le recomendamos que realice sus propios programas y se divierta en la medida que va aprendiendo nuevas rutinas de programacin.
Hasta la prxima!

r eSumen

Club Saber eleCtrniCa

89

P royeCtoS C omPletoS

Con

90 Club Saber eleCtrniCa

m iCroControladoreS PiC

PiCaXe

P reguntaS F reCuenteS

Club Saber eleCtrniCa

91

P royeCtoS C omPletoS

Con

92 Club Saber eleCtrniCa

m iCroControladoreS PiC

PiCaXe

Vous aimerez peut-être aussi