P. 1
Revista 291

Revista 291

|Views: 3.547|Likes:
Revista saber electrónica #291
Revista saber electrónica #291

More info:

Published by: Miguel Morán Rivera on Jul 07, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/10/2014

pdf

text

original

Sections

Mont - proximidad 26/9/11 11:58 Página 27

En la figura 2 se tiene la placa de circuito
impreso sugerida para este montaje y en la figura
3 una imagen de un prototipo sugerido en
www.electgpl.blogspot.com.
Si no consigue transductores de ultrasonido
(comunes, de pequeña potencia), puede
emplear un micrófono de electret (Tx) y un buzzer
pequeño (Rx) con lo cual se pueden detectar

objetos con distancias desde 2mm hasta un par
de centímetros, dependiendo de los componen-
tes empleados.
El segundo circuito además de detectar la pro-
ximidad de un objeto puede ser usado como
detector de movimiento que puede ser emple-
ado tanto en sistemas de alarma como en apli-
caciones de robótica por ser muy económico y

Saber Electrónica

2288

Montaje

Figura 1 - Circuito detector de proximidad por ultrasonidos.

Figura 2 - Circuito impreso detector de proximidad por ultrasonidos.

Mont - proximidad 26/9/11 11:58 Página 28

fácil de adaptar. Tenga en cuenta que la mayoría
de los circuitos que detectan el paso de una per-
sona emplean sensores piezoeléctricos, pirométri-
cos, Leds, etc. y todos ellos suelen poseer un ajuste

complicado cuando forman parte de un sistema
de alarma. Basándonos en un proyecto anterior,
adaptamos el circuito para un mejor desempeño
que produce la conmutación de un relé y da un
aviso sonoro cuando se detecta un desequilibrio
de luz.

No se confunda… ¡no es un simple detector de
cambio de intensidad lumínica!
Si el espacio que se está monitoreando para
establecer el pasaje de una persona es interrum-
pido, aunque sea por un escaso tiempo, el circuito
de detección lo percibe y la alarma se acciona.
En ocasiones la instalación y calibración de los
dispositivos se tornan un tanto complicadas, ya
que se necesita un perfecto ajuste óptico entre el
emisor y el receptor. También habrá que tomar en

Saber Electrónica

2299

Detectores de Proximidad

Lista de materiales del circuito de la figura 1

Q1, Q2, Q3 - 2N3904 - transistores NPN de uso
general. Pueden ser reemplazados por BC548B.
D1, D2, D5 - 1N4148 - Diodos de uso general
D3 - Diodo Led de 5mm color verde
D4 - Diodo Led de 5mm color rojo
R1 - 470kΩ
R2 - 4,7kΩ
R3 - 220Ω
R4 - 470kΩ
R5 - 2,2kΩ
R6 - 150kΩ

R7 - 470Ω
R8 - 1kΩ
C1 - 330pF - Cerámico
C2, C3 - 100nF - Cerámico
C4 - 10nF - Cerámico
Tx - Transductor de ultrasonido o buzzer
Piezoeléctrico

Rx - Transductor de ultrasonido o micrófono de electret

SW1 - Interruptor simple

Varios

Placa de circuito impreso, batería de 9V, conector
para batería, cables, estaño, etc.

Figura 3 - Detalle de una placa armada del detector

de proximidad con transductores de ultrasonido

Figura 4 - Detector de proximidad o de presencia con LDR.

Mont - proximidad 26/9/11 11:58 Página 29

cuenta la cantidad de luz que el ambiente tiene,
para realizar la calibración conforme con el nivel
de luz que haya en el lugar. Un tercer problema
radica en que el circuito suele ser caro y hasta
complicado de armar.
El circuito que proponemos puede ser usado en
ambientes cerrados o al aire libre, sin necesidad
de tener que calibrar un transmisor, funciona con
cualquier nivel de luminosidad, y dispara un sis-
tema sonoro cuando se detecta el pasaje de un
objeto. Además el circuito es fácil de armar y
posee un consumo muy bajo.
El principio de funcionamiento es sencillo, dado
que detecta cambios en la iluminación del
ambiente.

Utiliza dos sensores ópticos que detectan el
“contraste” de los niveles luminosos vistos por esos
dos ojos, lo que le brinda una sensibilidad bastante
alta.

Una ventaja del equipo consiste en que se
requieren solamente dos ajustes, luego de los cua-
les puede funcionar en cualquier ambiente.
En la figura 4 vemos el esquema de nuestro
detector, que emplea dos circuitos integrados: un
operacional 741 y un temporizador 555.
El operacional funciona como comparador,
recibe las dos entradas y las señales procedentes
de los sensores ópticos.
La calibración del sistema de detección se rea-
liza por la regulación de una red simple de resis-
tencias.

Si se detectara alguna modificación, aparece
un pulso en la salida del operacional (pata 6), el
que se envía a un oscilador monoestable formado
por el clásico 555, cuya salida se aplica a un buz-
zer piezo-eléctrico de alta eficacia sonora durante
el período de temporización (10 segundos aproxi-
madamente, de acuerdo con los valores dados
en el circuito). Al mismo tiempo, el transistor Q1 se
satura y produce el cambio de estado de un relé
que podría activar el cierre de una puerta, el movi-
miento de un micromotor, etc.
El buzzer es un resonador de estado sólido con
terminales polarizados, funcionará con una ali-

mentación de 3 a 30V con corrientes muy peque-
ñas.

Para un buen funcionamiento, conviene colocar
los LDR en sendos tubos opacos de 5 mm de diá-

Saber Electrónica

3300

Montaje

Figura 5 - Circuito impreso del detector de proximidad (pre-

sencia) con LDR.

Mont - proximidad 26/9/11 11:58 Página 30

metro por 3 cm de largo, los cuales se deben
enfocar en la dirección en la que se desee detec-
tar el movimiento.
El montaje se puede realizar en una placa de
circuito impreso como la mostrada en la figura 5.
Para ajustar el equipo debe colocar los dos trim-
pots en posición central, conecte la alimentación
y espere 5 segundos para que la alarma sonora
dispare.

Recuerde que el funcionamiento se basa en la
comparación entre dos niveles, si hay necesidad
la alarma funcionará con dos tubos que estén
centrados en dos direcciones diferentes.

Para controlar varios ambientes al mismo
tiempo, bastará con colocar varios conjuntos sen-
sores en paralelo, conectarlos mediante cables
blindados.

Cuando todo está ajustado y equilibrado, cual-
quiera de los pares de ojos hará funcionar la
alarma.

Por último, en la figura 6 se reproduce el circuito
de un detector de proximidad con fotodiodo y
fototransistor por infrarrojos. El par detector-transmi-
sor se puede reemplazar por un acoplador óptico
como el CYN70.
El CNY70 es un sensor óptico reflexivo que tiene

Saber Electrónica

3311

Detectores de Proximidad

Lista de materiales del circuito de la figura 4

CI1 - Circuito Integrado TL071, o cualquier operacio-
nal con entrada Fet.
CI2 - Circuito Integrado temporizador 555
R1, R2 - LDRs de cualquier tipo.
R3, R4 - 10kΩ
R5 - 470kΩ
R6 - 1kΩ
VR1 - Trimpot de 25kΩ

VR2 - Trimpot de 250kΩ
C1, C3 - 0,1µF - Cerámico
C2 - 10µF x 25V - Electrolítico.
Buzzer - Buzzer piezoeléctrico.

Varios:
Placa de circuito impreso, gabinetes para montaje,
batería de 9V y conector, tubos opacos para los sen-
sores, interruptor simple, etc.

Figura 6 - Detector de proximidad con sensores infrarrojos.

Mont - proximidad 26/9/11 11:58 Página 31

una construcción compacta donde el emi-
sor de luz y el receptor se colocan en la
misma dirección para detectar la presencia
de un objeto utilizando la reflexión del infra-
rrojo sobre el objeto.
Es uno de los sensores que más se suele
usarse para los robots seguidores de línea.
El fotodiodo se encarga de emitir luz, cuya
intensidad es función de la resistencia que se
ponga en serie con él y la tensión a la que se
alimente. El fototransistor se encarga de reci-
bir esta luz cuando se refleja sobre alguna
superficie, y dependiendo de la cantidad de
luz recibida trabaja en sus distintas regiones y
pasa más o menos intensidad por él. Por lo
cual, se puede detectar distintas superficies
en función de la luz que reflejen, y así es
como seguimos una línea negra sobre un
fondo blanco, o viceversa.
Cuando el sensor se encuentre sobre la
parte negra (la línea) esta absorberá gran
parte de la luz emitida por el diodo, por lo
que nuestro transistor estará en corte y ape-
nas tendremos intensidad a través de éste;
cuando el sensor se sitúa sobre una superficie
blanca, gran parte de la luz emitida por el
diodo será reflejada al fototransistor, pasando
éste de su región de corte a la activa o satu-
ración y teniendo una intensidad bastante
mayor.

En la figura 7 se muestra el principio de funciona-
miento en un robot sigue líneas, el led infrarrojo ilu-
mina la pista, si lo hace sobre una zona blanca el

reflejo hace que el fototransistor se sature, mientras
que si el fotodiodo ilumina a una zona negra no
habrá reflejo y el fototransistor estará cortado. ☺

Saber Electrónica

3322

Montaje

Figura 7 - El sensor infrarrojo CNY70.

EDICION ARGENTINA
Nº 141 FEBRERO 2012

Director

Ing. Horacio D. Vallejo

Redacción

Grupo Quark SRL

Jefe de Producción

José Maria Nieves (Grupo Quark SRL)

Staff

Alejandro Vallejo
Liliana Vallejo
Fabian Alejandro Nieves
Grupo Quark SRL

Publicidad

Alejandro Vallejo
Editorial Quark SRL(4301-8804)

Web Manager - Club SE

luisleguizamon@webelectronica.com.ar

Distribución:
Capital:
Carlos Cancellaro e Hijos SH, Guten-

berg 3258 - Cap. Interior: Distribuidora Bertrán

S.A.C., Av. Vélez Sársfield 1950 - Cap.Fed.
Uruguay:RODESOL: Ciudadela 1416 -

Montevideo.

Impresión:Impresiones Barracas . Cap. Fed. Bs. As.

La Editorial no se responsabiliza por el contenido de las notas firma-

das. Todos los productos o marcas que se mencionan son a los efec-

tos de prestar un servicio al lector, y no entrañan responsabilidad de

nuestra parte. Está prohibida la reproducción total o parcial del mate-

rial contenido en esta revista, así como la industrialización y/o comer-

cialización de los aparatos o ideas que aparecen en los mencionados

textos, bajo pena de sanciones legales, salvo mediante autorización

por escrito de la Editorial.

EDITORIALQUARK S.R.L.

Propietaria de los derechos en

castellano de la publicación mensual

SABER ELECTRÓNICA

Grupo Quark SRLSan Ricardo 2072, Capital Fe-

deral (1273) TEL. (005411) 4301-8804

Mont - proximidad 26/9/11 11:58 Página 32

Saber Electrónica

3333

“PICAXE”es un sistema de microcon-
troladores fácil de programar, ya sea
usando diagramas de flujo o empleando
lenguaje BASIC, el cual la mayoría de las
personas puede aprender rápidamente. En
Saber Electrónica Nº 211 comenzamos a
publicar artículos sobre estos microcontro-
ladores y, desde entonces, se han vuelto
componentes muy importantes para
muchos de los proyectos que presentamos.
En los tomos 7, 16 y 29 de la colección Club Saber Electrónicahablamos sobre PICAXEy dimos
varios proyectos comentados utilizando el Programming Editor pero hasta ahora no hemos
programado en BASIC, tema que abordaremos en este manual y en el próximo. En forma sin-
tética, el lenguaje que se implementa, es un sencillo diálogo muy intuitivo, que da órdenes
muy precisas empleando un juego de comandos limitados.

INTRODUCCIÓN

El microcontrolador PIC, es un circuito integrado que contiene memoria, unidades procesadoras y circui-
tos de entrada/salida, en una sola unidad. Digamos que es muy similar a un ordenador o computadora
PC, pero en formato pequeño. El microcontrolador PICAXE, es un sencillo microcontrolador PIC, que tiene
por característica, tener alojado dentro de su memoria, un pequeño firmware que permite ser progra-
mado bajo lenguajes más sencillos que el Assembly. Como ya sabrán, los microcontroladores son com-
prados en “blanco” y luego son programados con un programa específico de control. Una vez progra-
mado, este microcontrolador es introducido en algún producto para cumplir el rol de trabajo de contro-
lador. Es sabido, que estos diminutos circuitos integrados, tienen una inteligencia limitada por nosotros mis-
mos a la hora de ejecutar una acción; pues, según se lo programe, se delega solo la responsabilidad de
la orden impartida. Por ejemplo, si nosotros programamos a este microcontrolador para que ejecute la
tarea de monitorear y administrar el funcionamiento de un motor a explosión como lo que podemos ver
en un automóvil, éste sólo hará lo que le dijimos por intermedio de las instrucciones de programación, y
no esperen que este haga otra cosa que no le hallamos enseñado en su rutina de control. Hoy en día, se
suele aplicar microcontroladores en los desarrollos electrónicos, por que estos pueden reemplazar a un
gran número de partes separadas, o incluso a un circuito electrónico completo. Algunas de las ventajas
obtenidas con el uso de microcontroladores en el diseño de productos son:

MMANUAL

ANUALTTÉCNICO
ÉCNICO

TTRAB

RABAJ

AJANDO

ANDO CON

CON MMICR

ICROCONTR
OCONTROLADORES

OLADORES

PICAXE

PICAXE 1

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 33

o Aumento en la confiabilidad debido al menor número de partes.
o Reducción en los niveles de existencia ya que un microcontrolador reemplaza varias partes.
o Simplificación del ensamblaje del producto y productos finales más pequeños.
o Gran flexibilidad y adaptabilidad del producto ya que las funciones del producto están programadas
en el microcontrolador y no incorporadas en el hardware electrónico.
o Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del micro-
controlador, y no en el hardware electrónico.

En la Industria, los microcontroladores son usualmente programados utilizando programación en len-
guaje C. Sin embargo, debido a la complejidad de este lenguaje, es muy difícil el aprendizaje de dichos
lenguajes de programación en personas adultas que nunca tuvieron formación alguna, inclusive, tam-
bién podríamos incluir a los estudiantes muy jóvenes de bachillerato, que por lo general, su ansiedad los
lleva a buscar formas prÁcticas y rápidas de inserción a los microcontroladores. No voy hacer mucho
énfasis sobre si deben o no tratar de aprender una manera de programación o no, solo les voy a men-
cionar, que es preferible estudiar lenguajes de programación que contengan un nivel de lenguaje de
programación mas alto que el que podemos encontrar con estos microcontroladores.

ELSISTEMAPICAXE

El sistema “PICAXE” es un sistema de microcontrolador fácil de programar que utiliza un lenguaje BASIC
muy simple, el cual la mayoría de las personas pueden aprender rápidamente dado su nivel de inter-
accionar con su lenguaje. Ya hemos dado las características sobresalientes de este sistema en capítu-
los anteriores de esta obra pero no está demás resumir los rasgos sobresalientes del sistema PICAXE.
En forma sintética, el lenguaje que se implementa, es un sencillo diálogo muy intuitivo, que da órdenes
muy precisas… como ejemplo, podría
darles este ejemplo citado en la figura 1.
En la rutina de dicha figura, lo único que
hice, fue programar el microcontrolador
con un diálogo sencillo, en inglés, pero
muy deducible para aquellos que estén
flojos con este idioma.
Prácticamente, lo único que le ordené al
microcontrolador, es que monitoree la
entrada número cero (input cero), y en
caso de tener algún estado definido (un
alto o un bajo, o sea, un 1 o un 0 lógico),
éste actúe dando como resultado una
acción determinada. Internamente, estas
líneas de programación, funcionan de la
siguiente manera dentro del microcontro-
lador:
Siempre, la rutina se lee y se ejecuta
desde la primer línea para abajo, salvo

Trabajando con PICAXE

Saber Electrónica

3344

FIGURA 1 - RUTINA EN BASICPARA PROGRAMAR UN PICAXE

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 34

que halla un salto
en el camino,
figura 2. En este
caso en particular,
arranca el ciclo en
la etiqueta “main”,
pasa por la primera
instrucción

que
indica que visua-
lice y compare el
estado de la
entrada cero con el valor pre establecido y en caso de ser positivo el
resultado tiene que saltar e ir al sub programa “encendido”, figura 3.
En el caso de que la comparación de “cero”, el microcontrolador
sigue líneas abajo leyendo las instrucciones. Como pueden observar,
la siguiente instrucción es similar, compara el estado de la señal en la
entrada cero, y si la comparación es positiva, salta al subprograma
“apagado”. En caso de ser nula la comparación, el programa sigue
leyendo las siguientes líneas hasta llegar al fin del programa o bien, hasta llegar a una bifurcación. En
nuestro caso, llega hasta la instrucción “goto”, lo cual, hace repetir el programa una y otra vez sin tener
fin. Se observa entonces que este sistema implementa un diálogo de instrucción muy fácil de aprender,
de manera que en tan sólo unos pasos Ud. podrá aprender rápidamente a realizar sus propios proyectos
microcontrolados.
Este sistema explota las características únicas de la nueva generación de microcontroladores de bajo
costo FLASH. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un
costoso programador.
El poder del sistema PICAXE radica en su sencillez. No necesita de ningún programador, borrador o com-
plejo sistema electrónico. El microcontrolador es programado mediante una conexión de tres cables
conectada al puerto serie de una PC (con un simple programa en BASIC o un diagrama de flujo).
El circuito operacional PICAXE utiliza únicamente tres componentes y puede ser ensamblado fácilmente
en una placa experimental para componentes electrónicos, en una placa corriente o en una placa PCB.
EL sistema PICAXE está disponible en varias versiones (8 pines, 18 pines, 28 pines, 40 pines). El controlador
PICAXE-28 provee 22 pines de entrada/salida (8 salidas digitales, 8 entradas digitales y 4 entradas analó-
gicas). El sistema PICAXE-18 provee 8 salidas y 5 entradas.
Las características principales del sistema PICAXE son las siguientes:

o Bajo costo, circuito de fácil construcción.
o Hasta 8 entradas, 8 salidas y 4 canales analógicos en la versión intermedia.
o Rápida operación de descarga mediante el cable serial.
o Software “Editor de Programación” gratuito y de fácil uso.
o Lenguaje BASIC simple y fácil de aprender.
o Editor de diagramas de flujo incluido.
o Puede ser programado también mediante el software “Crocodile Technology” o “Programming Editor”.
o Extenso número de manuales gratuitos y foro de apoyo en línea.

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

3355

FIGURA 2 - EL PROGRAMA CON-

SISTE EN UN JUEGO DE INSTRUC-

CIONES QUE SE ESCRIBE EN EL
PROGRAMING EDITOR.

FIGURA 3 - UNA INSTRUCCIÓN PUEDE INDICAR QUE,

SI SE CUMPLE ALGUNA CONDICIÓN,EL PROGRAMA
“SALTE” A OTRA INSTRUCCIÓN O SUBRUTINA.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 35

o Circuito experimental, manejo y tutoriales incluidos en la página del fabricante (gratuitos).
o Paquete de control remoto infrarrojo disponible.
o Paquete de servo controlador disponible.

Estas son sólo algunas de las funciones y utilidades disponibles.

COMENZANDOLASPRÁCTICAS

Esta obra está diseñada para que el lector pueda realizar sus prácticas tanto con la placa entrenadora
y sus módulos correspondientes, como así también poder realizar simulaciones en el laboratorio virtual
Proteus, con sus librerías y diagramas de circuitos del laboratorio para que puedan saber cómo se va a
comportar el circuito casi como si lo efectuáramos con nuestra placa entrenadora física. Si bien este
laboratorio virtual es una gran herramienta virtual; debemos remarcar que posee algunos errores meno-
res que pueden complicarnos algunos diseños y o simulaciones.
Los errores encontrados hasta el momento son:

o No tolera mas de 16gosub
o No reconoce #REM-#ENDREM
o No reconoce #setfreq
o No reconoce #Picaxe08/18
o Genera algún que otro error cuando al terminar nuestro código de programación, no se implementa
un espacio después de la última línea de programación.

La figura 4 muestra imágenes de un laboratorio de prácticas microcontroladas (varias placas de circuito
impreso) para trabajar y aprender con PICAXE.

USANDOCOMENTARIOS

Usar comentarios en un programa, aunque sea perfectamente obvio para todos ustedes, puede ser una
herramienta extra que el día de mañana, le puede ayudar a comprender por qué implementó una
acción en su rutina, además, hay que tener en cuenta que si lo compartimos, alguien más puede leerlo
y puede no tener idea de lo que Ud. ha querido hacer.
Cabe aclarar que los comentarios usan espacio en el archivo fuente (.bas) pero no lo hacen en la
memoria del PICAXE, ya que éstos no son subidos junto a la rutina de programación.
Implementar un bloque de comentarios en el comienzo del programa y antes de cada sección del
código, puede describir cuál es la función de la rutina que tenemos, o bien, podemos describir con más
detalles cada línea de nuestro programa.
Para reconocer los comentarios, podemos dirigirnos a nuestra sección configuración del software, y en
la pestaña “editor” seleccionamos preferencias de colores en la sintaxis.
Con esta ultima acción, podremos diferenciar en nuestras rutinas los comandos, los comentarios con un
color distinto. Los comentarios en el programa comienzan con un apóstrofe () o punto y coma (;) y con-
tinúa hasta el final de la línea. Es decir, en una línea, todo lo que está después del apóstrofe () o punto

Trabajando con PICAXE

Saber Electrónica

3366

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 36

y coma (;) es simplemente un comentario y
no es tenido en cuenta en la ejecución del
programa por parte del PICAXE.
También es muy común que las personas de
habla inglesa y con viejas mañas del anti-
guo basic, implementen la palabra clave
REM”. Esta palabra también puede ser
usada para comentarios, pero yo personal-
mente no la aconsejo, ya que un error en la
escritura, por ejemplo REN, nos daría errores
en la compilación y o simulación.
En la figura 4 tenemos un ejemplo; configu-
ramos el software (programa) como men-
cionamos anteriormente y mostramos las
diferentes formas de hacer comentarios.

USODESYMBOL

Los símbolos en nuestras rutinas, son pala-
bras clave que identifican constantes, varia-
bles y direcciones en el programa.
La asignación del símbolo se realiza
poniendo el comando “symbol + nombre del símbolo” y seguido de éste implementamos el signo igual
(=). Posterior a estas líneas, agregamos la variable o constante.
Los símbolos pueden ser cualquier palabra que no sea la relativa a un comando.
Los símbolos pueden contener caracteres numéricos (por ejemplo: ucontrol1, salida2, etc.) pero el primer
carácter no puede ser uno numérico, es decir, no podría ser “1salida”, por dar un ejemplo.
El uso de símbolos no aumentan la longitud del programa. O sea, esta función no tiene peso alguno en
lo que refiere al programa. Por lo general se implementa este comando para renombrar las entradas y
salidas del microcontrolador lo que ayuda a recordar cuál es la función de cada terminal I/O a la hora
de leer y o modificar un programa.
Las direcciones del programa configuradas con el comando symbol, siempre tienen que ir sobre la pri-
mer instrucción o, mejor dicho, al inicio del programa.
En la figura 5 tenemos un ejemplo de programa en el que se han realizado asignaciones de símbolos.

Uso de Constantes

Las llamadas constantes, pueden ser creadas de manera similar a las variables. Puede que sea más con-
veniente usar un nombre para la constante en lugar de implementar un número como constante. Si el
valor u operando de la “constante” necesita ser cambiada, únicamente se modifica en algún lugar del
programa donde se define la constante en lugar de modificar cada parte del programa en la que inter-
viene. Dentro de las constantes, no pueden guardarse datos variables. Las constantes declaradas pue-

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

3377

FIGURA 4 - TODA ESCRITURA EN UNA LÍNEA QUE ESTÁ DES-

PUÉS DE UN APÓSTROFE O UN PUNTO Y COMA ES UN COMEN-

TARIO Y NO FORMA PARTE DEL PROGRAMA.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 37

den ser de cuatro tipos: deci-
mal, hexadecimal, binario y
ASCII.

o Los números decimales se
escriben directamente sin nin-
gún prefijo.
o Los números hexadecimales
se preceden del símbolo
“peso” ($).
o Los números binarios se pre-
ceden del símbolo “tanto por
ciento” (%).
o Los valores ASCII se colocan
entre comillas (“…”).

DESIGNACIÓNDEVARIABLES

Veamos los tipos de variable
según el sistema, ya que éstas
varían en su aplicación según
cada modelo de programa-
ción :

PICAXE es usado al programar
módulos PICAXE.
El BASIC y Extended son usados
al programar módulos Stamp.
El ensamblador es el utilizado
con código de ensamblador.

Veamos entonces que tipos de
variables se pueden emplear
en función del sistema de pro-
gramación que utilizamos:

Las Variables en PICAXE:

El sistema PICAXE da soporte a las siguientes variables:
Words:W0, W1, W2, W3, W4, W5, W6.
Bytes:DIRS, PINS (solo PICAXE-08), INFRA, KEYVALUE B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13.
Bits:PIN0, PIN1, PIN2, PIN3, PIN4, PIN5, PIN6, PIN7 (conjuntamente igual PINS) BIT0, BIT1, BIT2, BIT3, BIT4, BIT4,
BIT5, BIT6, BIT7 (conjuntamente igual B0) BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15 (conjuntamente
igual B1).

Trabajando con PICAXE

Saber Electrónica

3388

FIGURA 5 - EL COMANDO SYMBOL DEFINE EL NOMBRE Y LA ACCIÓN DE

CONSTANTES O VARIABLES.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 38

In/Out: INPUT0, INPUT1, etc. puede usarse en lugar de PIN0, PIN1, etc. OUTPUT0, OUTPUT1, etc. puede
usarse en lugar de 0, 1, 2, etc.

Las variables en BASIC

El modo BASIC da soporte a las siguientes variables:
Words:PORT W0, W1, W2, W3, W4, W5, W6.
Bytes:DIRS, PINS B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13
Bits:DIR0, DIR1, DIR2, DIR3, DIR4, DIR5, DIR6, DIR7, BIT0, BIT1, BIT2, BIT3, BIT4, BIT4, BIT5, BIT6, BIT7, BIT8, BIT9,
BIT10, BIT11, BIT12, BIT13, BIT14, BIT15
Nota:B12 y B13 (W6) es usado dentro de las órdenes GOSUB como una pila. Por consiguiente no debería
utilizarse como un registro de propósito general.

Las Variables en el Modo Extendido (EXTENDED)

El modo extendido da soporte a todas las variables de BASIC. Además: INPUT0, INPUT1, etc. puede usarse
en lugar de pin0, pin1, etc. OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2 etc.
Nota:B12 y B13 (W6) es usado dentro de las órdenes GOSUB como una pila. Por consiguiente no debería
utilizarse como un registro de propósito general.

Las Variables en el Modo Ensamblador

El modo ensamblador soporta los mismos modelos de variables que el modo extendido.

LOSCOMANDOSDEPROGRAMACIÓNBASIC ENPICAXE

La tabla 1 representa un breve resumen de los diferentes comandos disponibles para los microcontrola-
dores PICAXE.
Veremos a continuación la estructura y el significado de algunos de los comandos básicos que se
emplean para programar un PICAXE y
cómo se los emplea.

GOTO

Este comando tiene como función la
ejecución del programa que continua
en la declaración de la etiqueta. Dicho
en otras palabras, este comando tiene
como función dar una dirección donde
saltará el programa y seguirá la lectura
de las instrucciones para continuar eje-
cutando el programa. En la figura 6
tenemos un ejemplo práctico.

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

3399

FIGURA 6 - GOTO SE USA PARA INDICAR A DÓNDE SIGUE EL

PROGRAMA.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 39

GOSUB

Este comando tiene como función saltar a la subrutina indicada en la etiqueta, guardando su dirección
de regreso en la memoria pila (stack). A diferencia del GOTO, cuando se llega a un RETURN, la ejecución
sigue con la declaración siguiente al último GOSUB ejecutado. Se puede usar un número ilimitado de
subrutinas en un programa y pueden estar anidadas. En otras palabras, las subrutinas pueden llamar a
otras subrutinas. Cada anidamiento no debe ser mayor de cuatro niveles. Como ejemplo, cuando no-
sotros ejecutamos GOSUB, salta el programa a una etiqueta, y cuando llega al comando RETURN, vuelve
a la siguiente línea de donde partió con el comando GOSUB. La figura 7 muestra un ejemplo de uso de
este comando.

Trabajando con PICAXE

Saber Electrónica

4400

TABLA 1 - RESUMEN DE COMANDOS USADOS EN PICAXE.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 40

FOR ... NEXT

El bucle FOR … NEXT permite a los programas ejecutar un número de declaraciones tantas veces como
se lo defina, usando una variable como contador. Este comando es ideal para acortar líneas de pro-
gramas repetitivas. Para tener una idea
de su potencial, sea el siguiente pro-
grama que permite el parpadeo de un
Led conectado en una salida del PICAXE
cinco veces:

symbol led1= 7
ejemplo1:
high led1
pause 1000
low led1
pause 1000
high led1
pause 1000
low led1
pause 1000
high led1
pause 1000
low led1
pause 1000
high led1
pause 1000
low led1
pause 1000
high led1
pause 1000
low led1
pause 1000
end

En esta rutina, “high led1” es una instruc-
ción que pone un “1” (prende) en la salida donde estará conectado el led. La instrucción “low led1” pone
un “0” (apaga) en la salida donde estará conectado el led. “pause 1000” es una instrucción que permite
que el micro no haga nada durante mil milisegundos (1 segundo), es decir, es una instrucción de espera.
Como puede observar, tuvimos que prender 5 veces el led, apagarlo otras 5 veces y en cada operación
decirle que espere un segundo. Ahora, veamos este otro modo de realizar la misma acción:

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

4411

FIGURA 7 - GOSUBES SIMILAR A GOTO PERO GUARDA LA

DIRECCIÓN DONDE ESTABA EN EL STACK.

bucle:
for b0 =1 to 5
high 1
pause 1000

low 1 pause 1000
next b0
end

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 41

En este punto le aconsejo que realice
una práctica en su PC. Ejecute el software
“Programming Editor” y copie las líneas de
programación dadas en la figura 8 (con-
figure el programa para usarlo con el
PICAXE18X), revise las sintaxis y luego
haga la simulación mediante el
comando RUN del menú del
“Programming Editor”.
Al iniciarse el programa, cuando la lec-
tura ingresa en el contador (for b0 = 1 to
20), se precarga el valor 1 en un espacio
de memoria determinado (en este caso
b0) y comienza un conteo que finalizará
cuando llegue a 20.
En el caso de la rutina que ejemplifiqué,
luego de pasar por la instrucción de
comenzar con el contador, sigue leyendo
el resto de las líneas y ejecutando toda
acción que conlleven en ellas (high1-
pause-low1-pause) hasta llegar a la línea
donde dice “next b0”. En esta línea, lo
que hace, es decirle al contador que adi-
cione un entero (que le sume uno) en la
memoria que alojamos el conteo (b0)y
luego salta automáticamente a la línea
donde comienza el contador (for b0 =1
to 20) iniciando nuevamente toda la
acción descrita anteriormente hasta lle-
gar a almacenar en la memoria el valor
20 (por que esa fue la instrucción que le
dimos cuando le dijimos que cuente de1
a 20 en la línea de instrucción “for b0 = 1
to 20”).
Note que cuando llega a 20, en vez de
retornar a la línea del contador, sigue
leyendo la siguiente línea. En este caso, la
siguiente línea nos dice con el comando
PAUSE y GOTO que debe hacer un retardo
y volver al programa u etiqueta “bucle”.
Después de esto, como el contador tenía registrado el valor 20, no tendría que seguir contando... pero
no es así, ya que al volver a reiniciarse el programa, el contador vuelve a cero también. Para el caso en
que nosotros quisiéramos que al llegar a determinado conteo, el programa termine, lo que podríamos
hacer, es implementar la rutina mostrada en la figura 9.

Trabajando con PICAXE

Saber Electrónica

4422

FIGURA 8 - FOR...NEXT SE EMPLEA PARA HACER BUCLES DE

FORMA DE REPETIR UN ALGORITMO TANTAS VECES COMO SE

REQUIERA EN UN PROGRAMA.

FIGURA 9 - EJEMPLO DE USO DEL COMANDO FOR...NEXT.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 42

HIGH

A medida que vayamos avanzando en
nuestros proyectos, iremos notando que la
gran mayoría de nuestros desarrollos
microcontrolados requieren de un control
de estados de las entradas y salidas. Hay
dos comandos que definen el estado
lógico de una salida: HIGH y LOW.
El comando HIGH pone a nivel alto (“1”
lógico) un pin determinado del microcon-
trolador.
Se usa este comando para activar una
salida.

LOW

Es el comando contrario a HIGH y se usa para poner una salida en estado bajo (“0” lógico) o desactivar
dicha salida.
Veamos cómo funcionan los comandos high y low en el ejemplo mostrado en la figura 10: Simplemente
se pone un “1” lógico en el PIN 1 del microcontrolador, se detiene el programa durante 5 segundos, luego
se pone un “0” lógico en el PIN 1, nuevamente se tiene una espera de 5 segundos y el programa vuelve
al inicio. Es decir, se trata de un programa que activa y desactiva la pata del micro correspondiente al
PIN1 en períodos de 5 segundos en cada estado.

INPUT

Este comando refiere a un puerto de entrada específico. En cierta manera, convierte una patita de un
puerto (PIN) en una entrada. O, mejor dicho, con esta instrucción se está diciendo que el PIN en cuestión
será una entrada. Aclaremos que para definir nuestra entrada, se puede implementar el comando INPUT,
o bien, podemos adoptar el número de puerto (0 a 7 para el caso de los micros 18x) y definirlo con un
sencillo IN antes del número de puerto de entrada (in7 / input7).
Al usar el comando IMPUT en nuestro programa automáticamente estamos mencionando que vamos a
trabajar con señales digitales entrantes en un puerto definido.

OUTPUT

Este comando refiere a un puerto de salida específico.
En cierta manera, convierte una patita de un puerto (PIN) en una salida. O, mejor dicho, con esta ins-
trucción se está diciendo que el PIN en cuestión será una salida. Como mencionamos anteriormente al
describir el comando input, no es que podemos configurar nuestros puertos como entradas y salidas; a

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

4433

FIGURA 10 - LAS INSTRUCCIONES HIGH Y LOW SE EMPLEAN

PARA ESTABLECER LAS CONDICIONES DE LAS SALIDAS DIGITALES.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 43

lo que me refiero, es que
definimos en una línea qué
acción queremos que
adopte esa salida. Para defi-
nir nuestra salida, se puede
implementar el comando
OUTPUT, o bien, podemos
adoptar el número de puerto
(0 a 7 para el caso de los
micros 18x) y definir la acción
o estado de este puerto (high
7 -low 7 / high output7 -low
output7). Es hora de realizar
una nueva práctica: ejecute
el “Programming Editor” en su
PC y copie las instrucciones
del programa de la figura 11,
nos preparamos para ver
cómo funcionan las instruc-
ciones IMPUT y OUTPUT.
Nota:en este ejemplo, cité
ambas maneras en las que
podemos definir o nombrar
un puerto de entrada o
salida. Cuando simule esta rutina, verá que el software las reconoce a ambas como lo mismo y no
genera ningún conflicto.

END

Este comando tiene como objeto detener la ejecución del proceso y el microcontrolador no sigue eje-
cutando el programa hasta que lo reiniciemos o bien, hasta que no le demos la instrucción manual de
volver a comenzar con su ciclo. Cuando el microcontrolador es detenido por el comando END entra en
modo de bajo consumo. Otra de las característica de este comando es que cuando se ejecuta esta
instrucción todos los datos presentes en los pines de entrada y salida se congelan y permanecen en el
estado en que se encuentran. Para ver mejor cómo funciona este comando, realice una nueva prác-
tica; para ello, ejecute en su PC nuevamente el “Programming Editor” y copie el programa mostrado en
la figura 12, realice la simulación y verifique la estructura del comando.

IF…THEN IF…AND…THEN IF…OR…THEN

Estos comandos son en sí, parte de una estructura de comparación con salto a una dirección determi-
nada (siempre a una etiqueta), en el caso en que se cumpla la función asignada. Las funciones que se

Trabajando con PICAXE

Saber Electrónica

4444

FIGURA 11 - LA CONFIGURACIÓN DE LOS PUERTOS,COMO ENTRADAS O SALI-

DAS,SE PUEDE HACER CON LOS COMANDOS IMPUT Y OUTPUT.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 44

pueden asignar a estas comparaciones
son:

=

(igual que)
>= (mayor o igual que)
>

(mayor que)

<

(menor que)
<= (menor o igual que)
<> (no es igual que)
&

(función lógica AND)

or

(función lógica OR)

Estas son sólo algunas de las comparacio-
nes a las que pueden responder estos
comandos. El principio básico de estos tres
comandos son la de establecer una pre-
gunta (IF...) sobre el estado de un puerto
determinado; compara, lee el estado, eva-
lúa en términos de VERDADERO o FALSO y en
el caso de ser cierto, se ejecuta la opera-
ción a la que refiere el THEN (entonces...).
Si lo considera falso, no se ejecuta la opera-
ción posterior al THEN y prosigue con la lec-
tura de la siguiente línea. Veamos algunos
ejemplos:

if…then

if input1 =1 then action3

Esta sentencia indica que si la entrada 1 es igual a 1, entonces el programa sigue ejecutándose en la
etiqueta “action3”. Si la entrada 1 es igual a cero se sigue ejecutando el programa normalmente.

if…and…then

if input1 =1 and input0= 1 then action2

Aquí se dice que si la entrada 1 es igual a 1 y la entrada 0 es igual a 1, entonces el programa sigue eje-
cutándose en la etiqueta “action2”. Si la entrada 1 y/o la entrada 0 es igual a cero se sigue ejecutando
el programa normalmente.

if…or…then

if input1 =1 or input 0 = 1 then action3

Aquí se dice que si la entrada 1 es igual a 1 o la entrada 0 es igual a 1, entonces el programa sigue eje-
cutándose en la etiqueta “action3”. Si la entrada 1 o la entrada 0 es igual a cero se sigue ejecutando el
programa normalmente.

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

4455

FIGURA 12 - LA INSTRUCCIÓN END SE EMPLEA

PARA DETENER EL PROGRAMA Y QUE EL MICRO

QUEDE EN LA CONDICIÓN DE BAJO CONSUMO.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 45

if…or…then gosub

if input1 =1 then gosub action3 if input2 =0 then actionx

En este caso estamos diciendo que si la entrada
1 es igual a 1, entonces el programa sigue eje-
cutándose en la etiqueta “action3” y cuando ter-
mine, que vuelva y prosiga en la siguiente línea.
En la figura 13 tenemos un ejemplo que Ud.
puede utilizar para realizar una práctica en el
“Programming Editor”.
Es importante destacar que la mejor forma de
“aprender” es practicando, es por ello que suge-
rimos que realice cada ejercicio en la
medida que se lo vamos sugiriendo. Ahora
bien, con los comandos explicados Ud. ya
posee conocimientos suficientes como
para que pueda experimentar con un sis-
tema útil. En la figura 14 tiene el programa
que le permitirá simular el programa de un
sencillo automático para detectar el nivel
de un tanque de agua, de modo que se
ponga en marcha cuando el agua haya
descendido por debajo de cierto nivel y
que la bomba se apague cuando el agua
alcance el nivel superior establecido
como referencia. Note la inclusión de
algunos comandos que aún no hemos
analizado, que ello no lo detenga en su
práctica. Trabaje de la misma manera
que hemos explicado hasta ahora sobre
el “Programming Editor” para simular el
funcionamiento de esta rutina… notará
que “Readadc 2,b2”, por ejemplo, es una
instrucción que lee el estado de una
entrada y que se trata de una entrada
analógica… ¿qué otras cosas nota?
Nuevamente:“La práctica es tanto más
importante que la teoría”, por lo tanto,
“manos a la obra”.

PAUSE

Este comando, es implementado para
generar retardos en los saltos entre líneas y

Trabajando con PICAXE

Saber Electrónica

4466

FIGURA 13 - EJEMPLO DE USO DEL COMANDO IF...THEN

FIGURA 14 - OTRO EJEMPLO DE USO DEL COMANDO IF...THEN.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 46

ejecución del código del programa. Ya lo hemos visto en algunos ejemplos anteriores, pero ahora lo pre-
sentamos “formalmente”. En la siguiente rutina se está indicando que se ponga en “1” el PIN 1, luego que
se mantenga asi durante 5 segundos (5.000 milisegundos), posteriormente se indica que se ponga un “0”
en el PIN 1 durante otros 5 segundos y que vuelva a comenzar el programa:

inicio:
high 1
pause 5000
low 1
pause 5000
goto inicio

Como especificación del tiempo de retardo está dada en “milisegundos”, en una estructura de 16 bits,
los retardos pueden ser de hasta 65635 milisegundos (66 segundos).

WAIT

Este comando, al igual que el anterior, es implementado para generar retardos en los saltos entre líneas y
ejecución del código del programa. La única diferencia es que PAUSE establece unidades expresadas en
milisegundos y WAIT en segundos. Técnicamente decir WAIT 1 o decir PAUSE 1000 es lo mismo. Por lo dicho,
el programa que vimos en la explicación del comando PAUSE se puede expresar de la siguiente manera:

inicio:
high 1
wait 5
low 1
wait 5
goto inicio

Aquí también podemos esta-
blecer un tiempo máximo de
65 segundos, por lo cual
necesitaremos arreglos como
el uso de “for… next” para
poder tener tiempos mayores.

RETURN

Este es un muy buen
comando que si lo sabemos
implementar, podemos hacer
programas más rápidos e inte-
resantes. En si, este comando

Programación Fácil de Microcontroladores PICAXE

Saber Electrónica

4477

FIGURA 15 - RETORNO DE UNA SUBRUTINA POR MEDIO DEL COMANDO
RETURN.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 47

tiene como función volver desde una subru-
tina, retomando la ejecución en la declara-
ción que sigue al GOSUB que llamó a la
subrutina. En la figura 15 tenemos un ejem-
plo sencillo que podremos simular de la
forma acostumbrada.

INFRAIN

Este comando se usa en sistemas de
comunicación por infrarrojos. Se imple-
menta para esperar en el receptor una
señal infrarrojo procedente del transmisor IR.
Este comando, además de poder imple-
mentarlos en nuestros propios proyectos,
podemos usarlo para crear nuestros propios
controles remotos IR o bien repetidores IR
para toda la gama de equipos de la
marca SONY, ya que implementa el mismo
protocolo que esta compañía utiliza en sus
productos. El comando en si, interactúa en
el programa esperando la señal infrarroja y,
una vez recibida esta señal, el valor de ella
se almacena en la variable predefinida
“infra” (es similar a b0,b1,etc., pero de uso
exclusivo para este comando). En la figura
16 tenemos el esquema de conexión de
un receptor IR sobre un PICAXE-08 y en la
figura 17 hemos escrito una rutina que Ud.
puede utilizar para practicar sobre el
manejo de esta instrucción. No hace falta
tener el control remoto (el transmisor), ya
que podemos ejecutar el “Programming
Editor” en nuestra computadora, escribir el
programa de la figura 17 y simularlo;
podemos cambiar los valores desde la
tabla de variables de la derecha y ver
cómo cambia la simulación.

De esta manera damos por concluído
este manual, que es el primero de 2 tomos
que explican cómo programar PICAXE uti-
lizando BASIC. ☺

Trabajando con PICAXE

Saber Electrónica

4488

FIGURA 16 - CONEXIÓN DE UN RECEPTOR INFRARROJO EN UN
PICAXE.

FIGURA 17 - INFRAIN ES UN COMANDO APLICABLE A LÍNEAS

DE ENTRADA QUE POSEEN SENSORES INFRARROJOS Y“LEE” EL

ESTADO DE DICHO SENSOR.

Manual - Trabajando con PICAXE 1 26/9/11 11:48 Página 48

Científicos del Instituto Rothamsted de

Inglaterra descubrieron que algunas
personas nacen con un tipo de olor
que ahuyenta a los mosquitos y concluye-
ron que todos los seres humanos somos
víctimas potenciales de sus picaduras,
pero aquellos que nacieron con la capaci-
dad de fabricar las sustancias pueden
librarse. Ahora, si Ud. no está dentro del
grupo que fabrican naturalmente estos
componentes y quieren salir al
jardín sin que los mosquitos lo
piquen, este pequeño circuito es
la solución. Es pequeño, portátil y
la pila puede durar hasta 50
horas. El transductor es un simple
buzzer piezoeléctrico y, si utiliza
uno grande (2 cm o más) no sólo
no lo picarán a usted sino que lo
mosquitos no se acercarán a 2
metros a la redonda. Por ser tan
pequeño puede llevarlo dentro
de un bolsillo.

¿Usted es de los que no pueden salir al aire
libre sin repelente porque los mosquitos lo per-
siguen? Arme el circuito que proponemos y ten-
drá la solución a este problema...

Por Federico Prado

MMONT

ONTAAJE
JE

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->