Académique Documents
Professionnel Documents
Culture Documents
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
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
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
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
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
Figura 4
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
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
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-
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.
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-
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-
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.
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
PiCaXe
11
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
Figura 11
Figura 13
13
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
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-
15
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
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.
PiCaXe
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
Figura 16
17
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
Figura 18
Figura 19
Figura 20
*Elcableestincluidoenelkitarmadooparaarmar.
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-
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
Figura 5
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
23
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
Figura 9
PiCaXe
el sistema PicaXe
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-
l oS m iCroControladoreS PiCaXe
25
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
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
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.
PiCaXe
Figura 27
Figura 28
Figura 29
Figura 30
l oS m iCroControladoreS PiCaXe
Figura 31
Figura 32
Figura 33
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
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
Figura 35
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
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.
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
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.
33
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
Figura 39
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
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
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
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:
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.
37
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
l oS m iCroControladoreS PiCaXe
Figura 47
Figura 48
39
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.
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).
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
Figura 5
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
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.
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.
Figura 8
t rabajando
Con
m iCroControladoreS PiCaXe
continuamos aprendiendo a
Hacer Programas en basic
18 P ineS
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
45
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
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.
t rabajando
Con
m iCroControladoreS PiCaXe
de
18 P ineS
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
let mark2 = 20
let space2 = 10
main:
for b2 = 1 to 200
high 0
pause mark1
low 0
pause space1
next b2
pause 2000
for b2 = 1 to 200
high 0
pause mark2
low 0
pause space 2
next b2
pause 2000
goto main
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
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.
PiCaXe
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
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.
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
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.
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.
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.
readadc 2,b1
if b1 > 150 then show9
dgito 0
dgito 1
dgito 2
dgito 3
dgito 4
dgito 5
dgito 6
dgito 7
dgito 8
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
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.
2+
3+
0
1
2
3
Figura 21
Figura 22
Figura 23
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)
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
flash
for counter = 1 to 25
high dp
pause 50
low dp
pause 50
next counter
return
high buzzer
pause 2000
low buzzer
return
noise:
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
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
end
for counter = 1 to b2
high dp
pause 250
low dp
pause 250
next counter
return
flash:
de
18 P ineS
Figura 24
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.
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
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
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
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-
61
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
so para poder utilizar el Sistema PICAXE deber comprar un adaptador USB a serie.
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
de una
m aSCota V irtual
63
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
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
Fig. 9
Fig. 10
65
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
Figura 11
PiCaXe
Programa 2
Este programa es mucho
ms avanzado. Tiene un
bucle principal, el cual
enciende y apaga los
ojos LED atenundolos;
a rmado
P rogramaCin
de una
m aSCota V irtual
Figura 13
Figura 14
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.
PiCaXe
a rmado
P rogramaCin
de una
C entral
de
a larma
69
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
a rmado
P rogramaCin
de una
C entral
de
a larma
Figura 15
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.
71
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
a rmado
P rogramaCin
de una
C entral
de
a larma
Figura 17
73
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
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).
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
high 0
wait 2
low 0
goto main
flash:
de una
C entral
de
a larma
Figura 22
Figura 21
75
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
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!
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.
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
goto main
a rmado
P rogramaCin
de un
S iStema
de
l uCeS
de
S eguridad
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
77
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
Figura 25
PiCaXe
a rmado
P rogramaCin
de un
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
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
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
Figura 26
79
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
Figura 27
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
a rmado
P rogramaCin
de un
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:
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!
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
a rmado
P rogramaCin
` apagar LEDs
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!
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-
PiCaXe
Figura 28
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
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.
PiCaXe
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
87
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
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-
r eSumen
89
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe
P reguntaS F reCuenteS
91
P royeCtoS C omPletoS
Con
m iCroControladoreS PiC
PiCaXe