Club 124

80

description

electronica 3

Transcript of Club 124

2ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1

Introducción: Qué es PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . .3

Conociendo los microcontroladores de este sistema . . . . . . . . . .4

Utilitario gratuito para hacer programas . . . . . . . . . . . . . . . . . 6

Lección 1: Primeras Experiencias con los PICAXE . . . . . . . . . . . .9

Uso y prueba de leds: primeros programas en BASIC . . . . . . . . .9

Uso y prueba de timbres y zumbadores . . . . . . . . . . . . . . . . . .12

Prueba y uso de sensores digitales . . . . . . . . . . . . . . . . . . . . .13

Prueba y uso de fotorresistencias . . . . . . . . . . . . . . . . . . . . . . .14

Más sobre el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . . . .16

Entrenador PICAXE-18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

Preparando el tablero tutorial . . . . . . . . . . . . . . . . . . . . . . . . .18

El software gratuito para trabajar con PICAXE . . . . . . . . . . . . .18

Ejecutando un programa de muestra . . . . . . . . . . . . . . . . . . . .19

Instrucciones para uso en Windows . . . . . . . . . . . . . . . . . . . . .19

Aprendiendo a hacer programas en BASIC . . . . . . . . . . . . . . .20

Utilizando el comando Symbol . . . . . . . . . . . . . . . . . . . . . . . .20

El circuito del “entrenador” PICAXE-18 . . . . . . . . . . . . . . . . . .21

Utilizando Bucles For...Next . . . . . . . . . . . . . . . . . . . . . . . . . .22

Controlando la velocidad de un motor . . . . . . . . . . . . . . . . . . .22

Uso de timbres y zumbadores electrónicos en

el sistema PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

Uso de entradas con sensores digitales . . . . . . . . . . . . . . . . . .23

Uso de entradas con sensores analógicos . . . . . . . . . . . . . . . .24

Cómo se leen las entradas analógicas . . . . . . . . . . . . . . . . . . .25

Programación por organigramas o diagramas de flujo . . . . . . .25

Dibujando organigramas . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

Uniendo bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

Simulación de pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

Convirtiendo organigramas . . . . . . . . . . . . . . . . . . . . . . . . . .27

Utilizando símbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

Guardando e imprimiendo organigramas . . . . . . . . . . . . . . . .28

Sistemas de números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

Visualizando cifras analógicas en el display de 7 segmentos . . .29

Controlando motores paso a paso . . . . . . . . . . . . . . . . . . . . . .29

Subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

El circuito del entrenador . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

Examen Múltiple choisse Lección 1 . . . . . . . . . . . . . . . . . . . . .33

Lección 2: Diseño y Construcción

de Proyectos con PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

Kit entrenador para PICAXE 08 . . . . . . . . . . . . . . . . . . . . . . . .39

Aprendiendo a programar la tarjeta

entrenadora 08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

Juego de luces tipo auto fantástico . . . . . . . . . . . . . . . . . . . . .44

Alarma para puertas y ventanas empleando

la tarjeta entrenadora PICAXE 08 . . . . . . . . . . . . . . . . . . . . . .47

La Tarjeta entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . .51

Aprendiendo a utilizar el ADC en la tarjeta

entrenadora del PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . . .53

Control de temperatura con la tarjeta entrenadora

PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

Programa para desplegar números BCD con la

tarjeta entrenadora del PICAXE 18 . . . . . . . . . . . . . . . . . . . . .63

Cerradura electrónica empleando la tarjeta

entrenadora PICAXE 18 . . . . . . . . . . . . . . . . . . . . . . . . .........68

Examen Multiple choisse Lección 2 . . . . . . . . . . . . . . . . .........75

N º 1 2 4

Di rec tor de la Colección Club Saber Electrónica

Ing. Ho ra cio D. Va lle jo

Jefe de Redacción

Pablo M. Dodero

Club Saber Electrónica es una publicación de Saber

Internacional SA de CV de México y

Editorial Quark SRL de Argentina

Editor Responsable en Argentina y México: Ing.

Horacio D. Vallejo

Administración México:

Patricia Rivero Rivero

Comercio Exterior México:

Margarita Rivero Rivero

Director Club Saber Electrónica:

José María Nieves

Responsable de Atención al Lector:

Alejandro A. Vallejo

Coordinador Internacional

Luis Alberto Castro Regalado

Publicidad

Argentina: 4301-8804 -

México: 5839-5277

Internet: www.webelectronica.com.ar

Web Manager: Pablo Ábalos

Club Sa ber Elec tró ni ca. Fe cha de pu bli ca ción: julio 2014. Pu bli ca ción

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 con jun to con Sa ber

In ter na cio nal SA de CV, Av. Moc te zu ma Nº 2, Col. Sta. Ague da, Eca -

te pec de Mo re los, Mé xi co (005255-58395277), con Cer ti fi ca do de Li -

ci tud del tí tu lo (en trá mi te). Dis tri bu ción en Mé xi co: REI SA de CV.

Dis tri bu ción en Ar gen ti na: Ca pi tal: Car los Can ce lla ro e Hi jos SH,

Gu ten berg 3258 - Cap. 4301-4942 - In te rior: Dis tri bui do ra Ber trán

S.A.C. Av. Vé lez Sárs field 1950 - Cap. – Dis tri bu ción en Uru guay:

Ro de sol SA Ciu da de la 1416 – Mon te vi deo, 901-1184 – La Edi to rial

no se res pon sa bi li za por el con te ni do de las no tas fir ma das. To dos

los pro duc tos o mar cas que se men cio nan son a los efec tos de pres -

tar un ser vi cio al lec tor, y no en tra ñan res pon sa bi li dad de nues tra

par te. Es tá pro hi bi da la re pro duc ción to tal o par cial del ma te rial

con te ni do en es ta re vis ta, así co mo la in dus tria li za ción y/o co mer -

cia li za ción de los apa ra tos o ideas que apa re cen en los men cio na dos

tex tos, ba jo pe na de san cio nes le ga les, sal vo me dian te au to ri za ción

por es cri to de la Edi to rial.

Revista Club Saber Electrónica, ISSN: 1668-6004

El campo de acción de los microcontroladores ha rebasado sus expectativas originales de aplicación,

ya que en la actua-lidad los podemos encontrar no sólo en aplicaciones industriales (dentro de los

PLCs por ejemplo), sino dentro de nuestras mismas casas. A lo mejor no lo sabemos, pero para pre-

cisar este comentario basta con señalar un aparato electrodoméstico como es una lavadora automática,

que para controlar sus procesos de lavado, secado y pre - planchado, requiere de un microcontrolador.

Y así podemos continuar con más ejemplos, tales como las TV, las consolas de video juego, las PCs, el

refrigerador, etc.

Si los microcontroladores los tenemos en nuestras casas, imaginen en un vehículo, en los aviones, en los

celulares, en resumen, se encuentran en todos aquellos aparatos o juguetes que se controlan por sí mismos.

En un futuro no sería extraño encontrar microcontroladores hasta dentro de nuestros cuerpos, controlan-

do algún órgano o miembro artificial.

Con el transcurso del tiempo los microcontroladores van ganando terreno, y se van incorporando a más

aplicaciones, tanto para el área de diseño como para el de mantenimiento, lo que requiere de más per-

sonas que tengan conocimientos sobre la programación de microcontroladores.

Si buscamos en el mercado microcontroladores de diferentes marcas, vamos a encontrar una gran can-

tidad de fabricantes, además de muchas versiones que nos ofrecen, lo que nos da un volumen de matrícu-

las enorme, dándonos alternativas muy diversas en cuanto a la elección de algún microcontrolador en par-

ticular.

Del universo existente de microcontroladores, vamos a enfocarnos en los PICAXE, porque cuentan con

una herramienta de programación que nos facilita el aprendizaje, y una vez que tengamos la práctica y

habilidad en la programación, podremos emigrar a otro tipo de microcontroladores, porque con los PICAXE

aprendemos a realizar diagramas de flujo, que es una herramienta indispensable en la programación.

Los conocimientos sobre programación, normalmente se adquieren a través de un curso formal ya sea

en universidades o escuelas técnicas, pero ¿qué sucede con aquellas personas que no pueden, por

cualquier razón, incorporarse a estudiar microcontroladores?

Lo importante es que si alguien está interesado(a) en aprender a programar microcontroladores, y no

puede llevar un curso formal, tenga una alternativa de estudio que pueda administrar la misma persona.

El enfoque que tiene la presente obra, es la de llevar un curso comenzando en la primera parte con las

características básicas de los microcontroladores PICAXE, para que de manera genérica el lector pueda

ingresar de forma fácil a la programación de los microcontroladores.

En la segunda parte de la obra, el lector podrá adquirir conocimientos más avanzados en cuanto a téc-

nicas de programación, para ello se abordan los temas nuevamente explicando aspectos básicos para

reafirmar los conocimientos, y además sobre distintos ejemplos se van explicando diferentes situaciones

para ir incorporando diversas herramientas de programación.

Al finalizar cada una de las partes que conforman al libro, el lector se encontrará con un examen, que

le permitirá ir evaluando su nivel de conocimientos, y así pueda reforzar aquellas partes en donde se

encuentre débil.

Pues bien querido lector, en general esta obra es el resultado del impulso que en Club Saber Electrónica,

queremos darles a todas aquellas personas que tengan “ganas” de aprender, y por lo tanto, esperamos

que este libro sea de su total agrado y utilidad, muchas gracias por elegirnos y hasta la próxima.

“Agradezco las facilidades prestadas por el Instituto Politécnico Nacional y en especial a la Escuela

Superior de Cómputo, para la realización de la presente obra,la cual es el resultado de la comprobación

de diversos experimentos en sus laboratorios”

ISBN Nº: 978-987-1116-91-1

CDD 621.381

PRIMERAS EXPERIENCIAS CON PICAXE

CLUB SABER ELECTRONICA 3

PICAXE: La Nueva Forma de Programar un PIC

Desde que el primer microprocesador vio la luzdel mundo (el 4004), y cuya única y principal opera-ción era una suma de 1 bit, se comenzó con una ca-rrera tecnológica en la cual lejos de ver el fin, díatras día se van logrando cosas inimaginables. Tal esel caso de los microcontroladores que vendrían a serel ejemplo resumido y en pequeño de una compu-tadora personal (PC).

Un microcontrolador, que puede ser de 8, 18, 28, 40 ter-minales o más, internamente dentro de su encapsulado poseecomo equipamiento mínimo un microprocesador, memoriaRAM, y distintas versiones de memoria ROM. Los microcontro-ladores más avanzados, aparte de lo mencionado anteriormen-te, también llegan a poseer temporizadores, ADC, DAC, Comu-nicación en paralelo, USAR, etc. En la figura 1 vemos todo lonecesario para programar un PICAXE.

Un microcontrolador, desde el punto de vista de operación,puede considerarse como si fuera una PC, ya que cuenta conel conjunto básico de implementos que necesita realizar sus fun-ciones, esto es, microprocesador, disco duro, memoria RAM,etc. Clásicamente, cuando programamos un microcontrolador,

Figura 1

4 CLUB SABER ELECTRONICA

de forma implícita se tiene que desarrollar un programa quetrabaja a manera del BIOS de una PC, ya que lo primero quedebemos tomar en cuenta es la configuración de sus puertos yasea como de entrada o de salida, configurar sus demás herra-mientas como pueden ser los temporizadores, los ACD, etc.

Han aparecido en el mercado sistemas de desarrollo quepermiten la programación del microcontrolador de una manerarelativamente fácil, en la cual se puede emular el proceso quenos interesa desarrollar. Para la mayoría de estos sistemas dedesarrollo, una vez que se tiene terminada la aplicación, el pa-so siguiente es armar el prototipo e insertar el microcontroladordebidamente programado.

Recientemente ha sido lanzado al mercado un sistema dedesarrollo para programar microcontroladores PIC llamado PI-CAXE, que de por sí quien ha utilizado estos microcontrolado-res puede constatar lo sencillo que resulta su programación. Elsistema de desarrollo PICAXE hace las cosas todavía más sen-cillas para el programador, ya que se cuenta con dos opcio-nes para diseñar una aplicación, una por medio de diagramasde flujo y otra es por medio de “BASIC”, y aunque esto no esninguna novedad, ya que estas herramientas existían con ante-rioridad, lo ventajoso del PICAXE radica en el hecho de que setrata de un microcontrolador PIC el que en un segmento de me-moria ROM interna le ha sido grabado, desde su fabricación,

un firmware a manera de BIOS que simplifica la forma de pro-gramarlo. Al igual que en todos los sistemas de desarrollo, exis-ten ya predefinidas toda una serie de tarjetas de prácticas so-bre las cuales podemos emular las aplicaciones que hemos di-señado, pero gracias al firmware que poseen los microcontro-ladores PICAXE “se puede armar la aplicación completa inclu-yendo al microcontrolador”, y sobre la aplicación programarlosin necesidad del sistema de desarrollo, ni del circuito progra-mador de microcontroladores. Ver figura 2.

De hecho, el sistema PICAXE hace más accesible la progra-mación de microcontroladores a todas aquellas personas quetan sólo cumplan con el único e indispensable requisito que esel de querer aprender. Vea en la figura 3 una pantalla de laaplicación que nos permitirá realizar el programa que vamos acargar dentro del PIC. Aquí no vamos a mencionar las ventajasy desventajas del sistema PICAXE con respecto a otros; lo úni-co que podemos agregar es que se trata de otra manera deprogramar microcontroladores PIC, empleando diagramas deflujo y/o lenguaje BASIC, (figura 4) los cuales ya sea de ma-nera consiente o totalmente implícita recurrimos a ellos paraelaborar un programa.

A lo largo de este libro iremos aprendiendo paso a paso laforma de cómo programar los microcontroladores bajo el siste-ma PICAXE. Para ello, como primer paso, emplearemos una tar-jeta de desarrollo de la cual proporcionaremos su circuiteríapara que ustedes la puedan armar. Posteriormente, después derealizar algunas prácticas, avanzaremos ya sobre aplicacionesen donde se tenga al microcontrolador como elemento princi-pal y al cual programaremos en sitio. Pues bien, los invitamosa que exploren esta nueva forma de programar microcontrola-dores que, estamos seguros, les será de gran utilidad.

Conociendo los Microcontroladores de este Sistema

El PICAXE es un sistema de microcontroladores PIC muy fá-cil de programar ya que utiliza un lenguaje BASIC muy senci-

Figura 2

Figura 3

Figura 4

CLUB SABER ELECTRONICA 5

llo, además de contar también con la posibilidad de progra-marlos con diagramas de flujo. El sistema PICAXE aprovechatodas las características de los microcontroladores de bajo cos-to que incorporan memoria FLASH.

El sistema PICAXE está disponible en tres versiones que sonel de 8 terminales (PICAXE-08), 18 terminales (PI-CAXE-18) y 28 terminales (PICAXE-28). En estos mi-crocontroladores ya se tienen definidas las termina-les que tienen la función de entrada y salida de da-tos, además de las terminales que sirven para pro-gramar al PICAXE en sitio, o en otras palabras, so-bre la misma aplicación. En las figuras 5, 6 y 7 semuestran los circuitos esquemáticos de la disposi-ción de cada uno de los microcontroladores PICA-XE.

En la figura 5 se muestra el circuito esquemáti-co para un PICAXE de 8 terminales, de las cualeslas que están identificadas como Pin1 E/S, Pin2E/S, Pin3 E/S y Pin4 E/S, son terminales que pue-den funcionar como entradas o salidas de datos delexterior hacia el microcontrolador. Las terminales

identificadas como Serial En y Serial Sal, seutilizan para programar al microcontroladora través del puerto serie de una PC, para locual las terminales del conector identificadocomo CON1 se hacen llegar al conectorDB9 de la PC tal como se muestra en la figu-ra 4. Por otra parte, de la misma figura 1 seobserva que la terminal identificada comoSerial Sal, cumple con una doble función, ydependiendo de dónde se ubique un jumperselector en el conector CON2, se podrá pro-gramar al PIC o esa misma terminal. Unavez programado el PIC, tendrá la función deuna terminal de salida de datos.

Del circuito esquemático de la figura 6se observa la forma en que están dispuestaslas terminales de un PICAXE de 18 termina-les, de las cuales las que se encuentran iden-

tificadas como En 0, En 1, En 2, En 6 y En 7 son dedicadas ex-clusivamente a adquirir datos del exterior hacia el microcontro-lador. Las terminales que se encuentran identificadas de la Sal0 a Sal 7 son exclusivamente para enviar datos hacia afueradel microcontrolador, mientras que las terminales identificadas

Figura 5

Figura 6

Figura 7

6 CLUB SABER ELECTRONICA

como Serial Sal y Serial En se utilizan para programar al mi-crocontrolador.

En el circuito de la figura 7 se muestra la forma de conec-tar a un PICAXE de 28 terminales, en donde aparte de las ter-minales de entrada que se encuentran definidas como En 0 aEn 7, también se cuenta con las terminales de salida identifica-das como Sal 0 a Sal 7, además de 4 terminales para entradade datos analógicos, y por último las terminales de programa-ción del microcontrolador.

Ya se ha mencionado que el sistema PICAXE no requiere deprogramador o borrador, ya que utiliza únicamente tres alam-bres conectados al puerto serie de una computadora, tal comose describe en la figura 8.

Una vez que han sido identificadas las terminales a utilizaren el conector del puerto serie de la PC, ahora lo que sigue es

preparar la conexión hacia el PIC, tomando en cuenta las ter-minales tal como se observa en la figura 9.

Como se puede apreciar de la figura 9, se puede emplear(es recomendable) un plug de los utilizados para conectar losaudífonos a la salida de audio de un walkman o discman, y te-ner un cable con un conector DB9 en un extremo y un plug deaudio en el otro, tal como se ilustra en la figura 10.

Por último, diremos que para armar el cable de programa-ción, tal como se muestra en la figura 10, en las figuras 8 y 9se muestra la configuración de las terminales tanto del conectorDB9 como el plug de audio.

Utilitario Gratuito para Hacer Programas

Lo diferente del sistema de microcontroladores PICAXE, conrespecto a la programación tradicional de los microcontrolado-res PIC, radica en la programación basada en un lenguaje BA-SIC y diagramas de flujo. Esto hace que los microcontroladoresdel sistema PICAXE sean muy fáciles de programar, en un am-biente amigable.

Para programar los microcontroladores PICAXE debemos,en primera instancia, instalar el software que contiene el am-

Figura 8

Figura 9

Figura 10

Figura 11 - Carpeta progedit.

Figura 12 - Software de instalación “Programming Editor”.

CLUB SABER ELECTRONICA 7

biente de programación, por lo que describiremos paso a pa-so la forma de hacerlo.

El software lo puede bajar de nuestra página de internetque usted ya conoce www.webelectronica.com.ar; debe hacerclick en el ícono password e ingresar la clave PICAXEPRO. Re-cuerde que para bajar cualquier información, debe ser sociodel club SE, lo cual es gratuito y puede inscribirse por Interneten sólo un par de minutos (siga las instrucciones que dimos pa-ra bajar el programa PICAXEPRO y encontrará cómo hacersesocio si aún no lo es).

Una vez que se tenga el software, se encontrará con unacarpeta con el nombre de “progedit”, a la cual debemos acce-der (observe la figura 11).

Luego debemos ingresar a la carpeta progedit y tenemosque ubicar el programa identificado como “Programming Edi-tor”, al cual debemos de hacerle un doble click con el ratón dela PC para que éste se ejecute y se pueda instalar el programade los PICAXE, tal como se muestra en la figura 12.

Una vez que ejecutamos el programa de instalación Pro-gramming Editor aparecerá la ventana que se muestra en la fi-gura 13, sobre la cual debemos oprimir con el ratón el cuadro

identificado como “next” para que continúe la instalación.Posteriormente será desplegada la ventana donde se mues-

tra la licencia que debemos aceptar, porque de otra manera nopodremos continuar con la instalación del software, por lo quenuevamente oprimiremos el cuadro identificado como “next”;esta acción se indica en la figura 14.

Como paso siguiente, pregunta por el nombre del usuarioque normalmente utilizará el software; aquí podemos instalar laaplicación para que pueda ser utilizada por todas las personasque utilicen la computadora, y después de seleccionar esta ac-ción tenemos que oprimir el cuadro identificado como “next”,tal como se muestra en la figura 15.

Posteriormente debemos decir en dónde se guardará elsoftware de programación, que por lo general, aquí no tene-mos que modificar dato alguno, a menos de que querramosasignar otra localidad, tal como se ilustra en la figura 16. Unavez seleccionada la opción correspondiente, procederemos ahacer click sobre el cuadro identificado como “next”.

Por último, aparecerá una ventana de confirmación paraestar seguros de que los datos que introdujimos se encuentrancorrectos; si es así, debemos oprimir el cuadro identificado co-mo “next” para que continúe la instalación, tal como se apre-cia en la figura 17.

Figura 13 - Ventana de bienvenida para la insta-lación del software de los PICAXE.

Figura 14 - Acuerdo de licencia. Figura 16 - Destino del software.

Figura 15 - Información del usuario.

8 CLUB SABER ELECTRONICA

Cuando se está instalando el software, se indica gráfica-mente tal como se ilustra en la figura 18; aquí debemos espe-rar hasta que se terminen de instalar, tanto el software de pro-gramación como todas las utilerías que serán empleadas porlos PICAXE. En la figura 19 se muestra la ventana que nos in-dica que ya se ha concluido con la instalación, por lo que de-bemos oprimir el cuadro identificado como “finish”.

Una vez instalado el software de programación de los PI-CAXE, en el escritorio de nuestra PC encontraremos un íconode acceso directo identificado como “PICAXE Programming

Editor”, al cual, para comenzar a programar los microcontrola-dores, debemos hacer un doble click con el mouse para que seejecute el programa, tal como se muestra en la figura 20. En lafigura 21 y 22 se observa un ejemplo del ambiente gráfico,tanto en lenguaje BASIC como en diagrama de flujo. ******

Figura 19 - Ventana final.

Figura 20 - Icono de acceso rápido en el escritoriode la PC.

Figura 21 - Lenguaje BASIC para programar losPICAXE.

Figura 22 - Diagrama de flujo para programar los PICAXE.

Figura 18 - Ventana de instalación del software.

Figura 17 - Ventana de confirmación de datos.

CLUB SABER ELECTRONICA 9

Uso y Prueba de Leds:Primeros Programas en BASIC

Para que un microcontrolador desarrolle una tarea median-te la ejecución del programa que tiene grabado en su memo-ria, es preciso que el mismo esté alimentado y posea compo-nentes externos que permitan su funcionamiento. Normalmentese emplean resistencias, diodos emisores de luz, capacitores,buzzers piezoeléctricos (zumbadores), interruptores, etc.

El objetivo de este texto es que Ud. utilice al mi-crocontrolador PICAXE como un elemento multipro-pósito y le saque “el mayor jugo posible”.

Antes de explicar cómo se puede realizar la prueba de loscomponentes que trabajan con el microcontrolador, daremos

algunas consideraciones generales sobre las fuentes de energíaque usaremos para alimentar a nuestro circuito.

¿Qué es una batería?Una batería es una fuente de energía eléctrica (es una fuen-

te de potencia portátil). Las baterías están constituidas por ele-mentos químicos que almacenan energía. Al conectarlas a uncircuito, esta energía química se convierte en energía eléctricaque puede luego alimentar al circuito.

¿Qué tamaño de batería se utilizan en electrónica?Las baterías vienen en todo clase de tipos y tamaños. La

mayoría de las baterías consisten en un grupo de pilas, en don-de cada pila provee cerca de 1.5V (figura 1). Por lo tanto 4 pi-las crean una batería de 6V y 3 pilas una de 4.5V. Como re-gla general, mientras más grande es la batería, más tiempo du-

10 CLUB SABER ELECTRONICA

rará (ya que contiene más químicos y por lo tanto será capazde convertir más energía). Una batería de mayor voltaje no du-ra más que una batería de menor voltaje. Por lo tanto, una ba-tería de 6V formada por 4 pilas AA dura mucho más que unabatería PP3 de 9V (batería de 9V común), ya que por ser físi-camente más grande contiene una mayor cantidad total deenergía química. Por lo tanto, aquellos equipos que requierenmucha potencia para operar (por ejemplo un reproductor por-tátil de CDs, el cual tiene un motor y un láser para leer los CDs)siempre utilizarán pilas AA y no baterías PP3.

Los microcontroladores PICAXE generalmente requieren en-tre 3 a 6V para operar, y por lo tanto es mejor utilizar una ba-tería formada por tres a cuatro pilas AA. Nunca utilice una ba-tería PP3 de 9V ya que la alimentación de 9V puede dañar elmicrocontrolador.

¿Qué tipo de batería debo utilizar?Los distintos tipos de baterías contienen diferentes quími-

cos. Las baterías de carbón-zinc son las más baratas, y sonadecuadas para utilizarse en muchos circuitos de microcontro-ladores. Las baterías alcalinas son más costosas, pero tienenuna vida mucho más larga y se las debe emplear cuando se ne-cesita alimentar dispositivos que requieren mucha corriente ta-les como motores. Las baterías de litio son mucho más costosaspero tienen una larga vida, y por lo tanto se utilizan comúnmen-te en circuitos de computadoras, videocaseteras, etc. Otro tipode baterías son las baterías recargables, las cuales pueden re-cargarse cuando se agotan. Estas están hechas, usualmente, deníquel y cadmio (Ni-cad) ó de hidróxido de metal cadmio(NiMH).

Atención: Nunca haga corto-circuito en los terminales de

una pila o una batería. Las baterías alcalinas y las recargablespueden suministrar corrientes muy grandes, y pueden calentar-se tanto que pueden llegar a “explotar” o derretir la carcasa.Siempre asegúrese de conectar la batería en el sentido correc-to (rojo positivo (V+) y negro negativo -0V ó tierra-). Si las ba-terías se conectan al revés, el microcontrolador corre peligro decalentarse y dañarse.

Los paquetes de baterías se conectan a menudo, al circui-to integrado mediante cables con conectores adecuados. Ase-gúrese siempre que los cables rojo y negro estén conectados enla dirección correcta. También es de mucha utilidad pasar loscables de la batería a través de los agujeros del tablero antesde soldarlos en su lugar (esto proveerá una unión mucho másfuerte, la cual será mucho menos propensa a soltarse).

Nunca use una batería PP3 de 9V para alimentar directa-mente a un microcontrolador, ya que el mismo sólo trabaja convoltajes entre 3 y 6V.

Algunos soportes de baterías pequeñas requieren la solda-dura de cables a contactos metálicos en la caja. En este casodebe ser muy cuidadoso de no sobrecalentar los contactos me-tálicos. Si los contactos se calientan mucho, derretirán el plásti-co que los rodea y por lo tanto se caerán. Una buena manerade prevenir esto es pedirle a un amigo que sostenga los contac-tos metálicos con una pinza pequeña. Las pinzas actuarán co-mo un disipador de calor y ayudarán a evitar que el plástico sederrita.

¿Qué es un LED?Un Diodo Emisor de Luz (LED) es un componente electróni-

co que emite luz cuando la corriente pasa a través de él. UnLED es un tipo de diodo especial.

Un diodo es un componente que sólo permite el flujo de co-rriente en una dirección. Por lo tanto al utilizar un diodo, el mis-mo debe estar conectado en la dirección correcta. La pata po-sitiva (ánodo) de un LED es más larga que la pata negativa(mostrada por una barra en el símbolo). La pata negativa tam-bién posee un extremo plano en la cubierta plástica del LED. Enla figura 2 se puede observar el aspecto y el símbolo de un led.

¿Para qué se utilizan los LEDs?Los LEDs se utilizan principalmente como luces indicadoras.

Los LEDs rojos y verdes se utilizan, comúnmente, en artefactoselectrónicos tales como televisores para mostrar si el televisor

Figura 1

Figura 2 Figura 3

CLUB SABER ELECTRONICA 11

está encendido o si está en el modo stand-by (en espera). LosLEDs están disponibles en una variedad de colores diferentes,incluyendo rojo, amarillo, verde y azul. Existen también LEDs ul-tra-brillantes, los cuales se utilizan en luces de seguridad talescomo las luces intermitentes utilizadas en bicicletas. Los LEDs in-frarrojos producen una luz infrarroja que no es visible al ojo hu-mano, pero que puede utilizarse en dispositivos tales comomandos a distancia de equipo de video.

¿Cómo se usan los LEDs?Los LEDs sólo necesitan una pequeña cantidad de corrien-

te para operar; esto los hace mucho más eficientes que las lam-paritas eléctricas (esto significa, por ejemplo, que si se tuvierauna alimentación por baterías un LED alumbraría por muchomás tiempo que una bombilla eléctrica). Si se pasa demasiadacorriente por un LED el mismo se puede dañar; es por esto quelos LEDs normalmente se utilizan junto con una resistencia en se-rie para protegerlos de corrientes excesivas.

El valor de la resistencia requerida depende del voltaje dela batería utilizada. Para una batería de 4.5V se puede utilizaruna resistencia de 330Ω o 330R que es lo mismo (fig. 3), y pa-ra una batería de 3V lo apropiado es una resistencia de 120Ω.

¿Cómo se conecta un LED a un microcontrolador?Debido a que el LED sólo requiere una pequeña cantidad

de corriente para operar, el mismo se puede conectar directa-mente entre un pin de salida del microcontrolador y 0V (sin ol-vidar incluir la resistencia en serie para protección).

¿Cómo se prueba el LED con el microcontrolador?Después de conectar el LED, el mismo puede probarse uti-

lizando un simple programa tal como el siguiente:

Main:High 0Wait 1Low 0Wait 1Goto main

Este programa debe encender yapagar el LED (conectado al pin de sa-lida 0) una vez por segundo.

Para realizar esta primera práctica,ejecute el utilitario “Editor de Programa”según lo descrito (descripto) en este mis-mo capítulo; luego, escriba el programaanterior, conecte la placa entrenadoracon el PICAXE colocado, asegúrese queel jumper correspondiente esté en el la-do de programación, conecte uno delos leds de la placa en la salida “0”,

descargue el programa (asegúrese que el entrenador esté bienconectado por medio del cable al puerto serial de la PC), lue-go corra el jumper a la posición salida y vea si obtiene el fun-cionamiento deseado.

Si el LED no funciona verifique:

1. que el LED esté conectado en la salida “0” (por mediode un simple cablecito).

2. que se esté utilizando la resistencia correcta en la placaentrenadora y que el LED esté en el sentido correcto.

3. que se esté utilizando el número de pin correcto dentrodel programa.

4. que todos los componentes estén bien soldados.

Para la prueba, se puede emplear también el circuito deuna mascota virtual (figura 4) dado que será uno de los proyec-tos que presentaremos más adelante.

El programa de la tabla 1 enciende y apaga 15 veces alLED conectado al pin de salida 0 utilizando una técnica de pro-gramación BASIC llamada “bucle for...next” (esta técnica nopuede utilizarse con organigramas). _________________________________________Tabla 1: Programa para encender y apagar un led15 veces

Main:For b1 = 1 to 15 ;inicio de un bucleHigh 0 ;se pone en alto la salida “0”Pause 500 ;se hace una pausa de 1/2 seg.Low 0 ;se pone en estado bajo la salida “0”Pause 500 ;se hace una pausa de 1/2 seg.Next b1 ;se continúa con el bucle hasta que termineEnd ; fin del programa_____________________________________________________

Figura 4

12 CLUB SABER ELECTRONICA

El número de veces que el código debe repetirse se alma-cena en la memoria del chip PICAXE utilizando una “variable”llamada b1 (el PICAXE tiene 14 variables nombradas de b0 ab13). Una variable es un “registro de almacenamiento de nú-meros” dentro del microcontrolador, que el mismo puede utili-zar para almacenar números a medida que el programa se eje-cuta.

Le aconsejamos que lea o repase todo lo anterior nueva-mente, que baje de Internet el programa para trabajar con PI-CAXE y practique con el ejercicio que acabamos de dar y conlos que seguimos:

Uso y Prueba de Timbres y Zumbadores

¿Qué es un zumbador electrónico?Un zumbador electrónico es un “miniparlante” (minibocina)

de bajo costo que se utiliza para hacer sonidos. El sonido ge-nerado por el zumbador puede cambiarse alterando las seña-les electrónicas suministradas por el microcontrolador.

¿Para qué se utilizan los zumbadores?Los zumbadores se utilizan en una gran variedad de dife-

rentes productos para dar “retroalimentación” al usuario. Unbuen ejemplo de esto es una máquina expendedora, la cualemite un sonido cada vez que se presiona un botón para esco-ger un refresco o algo para comer. Este sonido da retroalimen-tación al usuario para indicarle que se recibió la señal del bo-tón presionado. Otros tipos de zumbadores se utilizan a menu-do en tarjetas musicales de cumpleaños, para tocar una melo-día cuando se abre la tarjeta.

¿Cuál es la diferencia entre un zumbador y un timbre ?El timbre (o sirena) contiene un pequeño circuito electróni-

co, el cual genera la señal electrónica necesaria para emitir unsonido. Por lo tanto, cuando el timbre se conecta a una bateríasiempre emitirá el mismo sonido. El zumbador no tiene este cir-cuito y por ende necesita una señal externa. Esta señal puedesuministrarla un pin de salida del microcontrolador. El zumba-dor también requiere menos corriente para operar y por lo tan-to durará más en circuitos alimentados por baterías.

¿Cómo se usan los zumbadores?La conexión de los zumbadores a un PICAXE es muy senci-

lla. Simplemente conecte el cable rojo al pin de salida del mi-crocontrolador y el cable negro a 0V (tierra), figura 5. Tome encuenta que los zumbadores más económicos no tienen cubier-ta plástica exterior. En estos casos es necesario montar el zum-bador sobre una sección del circuito impreso (con cinta adhe-siva de doble contacto) para crear un sonido que se pueda es-cuchar. El circuito impreso actúa como una “caja de sonido”(baffle) y amplifica el sonido emitido por el zumbador. Asegú-rese de pegar la cinta adhesiva al lado correcto del zumbador(¡el lado de bronce que no tiene los cables!).

En algunas ocasiones puede que desee emitir sonidos másfuertes. En este caso lo adecuado es utilizar un parlante (boci-na) en vez de un zumbador. Al utilizar parlantes es necesarioconectar un condensador (por ejemplo un capacitor electrolíti-co de 10µF) al circuito del microcontrolador para evitar causar-le daños al chip. Recuerde que, al igual que el zumbador, losparlantes sólo operan correctamente si están montados en una“caja de sonido”.

Después de conectar el zumbador, el mismo puede probar-se utilizando un simple programa tal como el siguiente:

Main:Sound 2, (65,100)Sound 2, (78,100)Sound 2, (88, 100)Sound 2, (119, 100)Go to main

Este programa hará que el zumbador (conectado al pin desalida 2) haga 4 sonidos diferentes (valores 65, 78, 88, 119),siguiendo el diagrama de flujo de la figura 6.

Vea qué sencillo es programar…

“main” (del inglés “principal),es una etiqueta que dice que estápor empezar el programa.

“sound 2” es una instrucciónque dice que el PICAXE genere unsonido y lo emita por la salida 2, cu-ya frecuencia dependerá del primernúmero que está entre paréntesis enla instrucción y su valor puede sercualquiera entre 0 y 127.

De la misma mamera que antes,podemos probar este programa, uti-lizando el entrenador propuesto eneste capítulo y conectando el zumba-dor en la salida 2. Ejecute el utilita-rio “Editor de Programa”; luego, es-criba el programa anterior, conecte

Figura 5

Figura 6

CLUB SABER ELECTRONICA 13

la placa entrenadora con el PICAXE colocado, asegúrese queel jumper correspondiente esté en el lado de programación, co-necte el zumbador en la salida “2”, descargue el programa(asegúrese que el entrenador esté bien conectado por mediodel cable al puerto serial de la PC), luego corra el jumper a laposición salida y vea si obtiene el funcionamiento deseado.

Si el zumbador no funciona verifique:

1. Que el valor del sonido (primer número en el paréntesis)esté entre 0 y 127.

2. Que se esté utilizando el número de pin correcto dentrodel programa.

3. Que todas las conexiones estén bien soldadas.

Para probar este elemento también puede utilizar el circui-to de la mascota virtual. En síntesis, al utilizar el comandosound, el primer número indica el número de pin (en los proyec-tos el pin 2 es utilizado frecuentemente). El siguiente número esel tono, seguido por la duración. Mientras más alto es el tono,mayor será la altura tonal del sonido (tome en cuenta que algu-nos zumbadores no pueden emitir tonos muy altos y; por lo tan-to, valores mayores de 127 puede que no se escuchen).

Al utilizar sonidos múltiples puede incluirlos todos en la mis-ma línea. Por ejemplo:

Sound 2, (65,100, 78, 100, 88, 100, 119, 100)

El programa BASIC mostrado en la tabla 2 utiliza un buclefor...next para emitir 120 sonidos diferentes, utilizando la va-riable b1 para almacenar el valor (tono) del comando sound.

El número almacenado en la variable b1 aumenta 1 en ca-da bucle (1-2-3-etc.); por lo tanto, al utilizar la variable b1 enla posición del tono, la nota se cambia en cada bucle. El pro-grama de la tabla 3 realiza la misma tarea, pero en orden in-verso (contando el tono en cuenta regresiva).___________________________________________________

Tabla 2Main:

For b1 = 1 to 120 step-1 ,iniciar un bucle for … nextSound 2, (b1, 50) ,emita un sonido con el tono b1Next b1 , siguiente b1End ,fin del programa

___________________________________________________

Tabla 3Main:

For b1 = 120 to 1 step-1 ,iniciar un bucle for … nextSound 2, (b1, 50) ,emita un sonido con el tono b1Next b1 ,siguiente b1End ,fin del programa

___________________________________________________

Le aconsejamos que baje de Internet el programa para tra-bajar con PICAXE y realice sus propios “ejemplos”. Si no tienelos programas para trabajar con los microcontroladores PICA-XE, puede bajarlos sin cargo de nuestra web: www.webelectro-nica.com.ar, haciendo click en el ícono password e ingresandola clave: “picaxe212”.

Prueba y Uso de Sensores Digitales

¿Qué son los interruptores digitales?Un sensor digital es simplemente un componente del tipo

“interruptor”, el cual sólo puede estar en dos posiciones: en-cendido ó apagado. Si dibujáramos una gráfica de las señalesde encendido-apagado del interruptor a medida que se opri-me, el mismo se vería como se muestra en la figura 7. Los inte-rruptores son componentes electrónicos que detectan movimien-tos. Existe una gran variedad de interruptores diferentes, porejemplo:

1) interruptores de botón de presión que detectan cuandoel botón ha sido oprimido

2) micro-interruptores con palanquitas largas que detectanpequeños movimientos

3) interruptores de nivel que detectan sacudidas4) interruptores de lengüeta (reed switches) que detectan el

movimiento de un imán

¿Para qué se utilizan los Interruptores?Los interruptores de botón de presión se utilizan comúnmen-

te en dispositivos tales como teclados. Los micro-interruptores seutilizan en alarmas contra robos, para detectar si se ha quita-do la cubierta de la caja de la alarma. Los interruptores de len-güeta (reed switches) se utilizan para detectar la apertura depuertas y ventanas, y los interruptores de nivel se utilizan a me-nudo para detectar movimiento en dispositivos tales como ju-guetes, secadores y alarmas. Los símbolospara un interruptor deslizante y para uninterruptor de presión, se muestran en la fi-gura 8.

Los interruptores se instalan en los cir-cuitos junto a una resistencia como se

Figura 7

Figura 8

14 CLUB SABER ELECTRONICA

muestra en el diagrama de la figu-ra 9. El valor de la resistencia no esimportante, pero a menudo se utili-za una resistencia de 10kΩ. Cuan-do el interruptor está “abierto”, laresistencia de 10kΩ conecta el pinde entrada del microcontrolador a0V, lo cual da una señal de apaga-do (nivel lógico 0) al pin de entra-da del microcontrolador.

Cuando el interruptor se activa,el pin de entrada se conecta al ter-minal positivo de la batería (V+).Esto da una señal de encendido (nivel lógico 1) al microcontro-lador.

El interruptor puede probarse utilizando un simple progra-ma tal como el mostrado en la ta-bla 4. Este programa encenderáo apagará una salida depen-diendo de si el interruptor es pre-sionado o no. En este programalas tres primeras líneas constitu-yen un bucle continuo. Mientrasla entrada esté apagada, el pro-grama seguirá reiniciándose unay otra vez. Si la entrada está en-cendida, el programa salta a laetiqueta llamada “flash”. Elprograma luego enciende por 2

segundos la salida 0 antes de regresaral bucle principal. Note cuidadosa-mente la ortografía de la línea: “if...t-hen – input3” (entrada 3) es una so-la palabra (sin espacios en blanco). Espermitido utilizar tanto pin3 como in-put3, ambas significan lo mismo. No-te también que después del comandothen, únicamente está la etiqueta “–“en este punto no se permite ningunaotra palabra aparte de la etiqueta.

Para realizar la prueba del interruptor con este programa,deberá conectar el interruptor en la entrada 3 del entrenador yen la salida deberemos conectar un led. Luego, una vez descar-gado el programa siguiendo el procedimiento que explicamospara otros ejemplos, cada vez que presione el pulsador y lomantenga presionado, se encenderá el led conectado en la sa-lida “0” durante 2 segundos. Recuerde que para programar eljumper de la pata 7 debe estar del lado de programación y lue-go del lado de salida “0” para que el circuito trabaje según loprogramado.

Prueba y Uso de Fotorresistencias

¿Qué es una fotorresistencia?Una fotorresistencia es un tipo especial de resistencia, la

cual reacciona a cambios en el nivel de luz. La resistencia dela fotorresistencia cambia a medida que varía la cantidad deluz que incide sobre la “ventana” del dispositivo. Esto permitea los circuitos electrónicos medir cambios en el nivel de luz.Vea en el capítulo siguiente a la explicación del funcionamien-to de los PICAXE-18 la curva de respuesta y otros datos relevan-tes sobre las fotorresistencias.

¿Para qué se utilizan las fotorresistencias?Las fotorresistencias se utilizan en las lámparas automáticas

de las rutas para encenderlas durante la noche y apagarlas du-rante el día. También se utili-zan en muchas alarmas y ju-guetes para medir niveles deluz.

La fotorresistencia es unsensor del tipo analógico.Un sensor analógico mideuna señal continua tal comoluz, temperatura o posición(en vez de una señal digitalde encendido/apagado co-mo es el caso de un interrup-

Figura 10

Figura 11

Figura 9

Tabla 4

CLUB SABER ELECTRONICA 15

tor). El sensor analógico proveecomo señal un voltaje variable.Esta señal de voltaje puede re-presentarse mediante un númeroentre el 0 al 255 (Por ejemplo:muy oscuro = 0, luz brillante =255).

Las fotorresistencias se pue-den utilizar en dos maneras. Lamanera más simple de utilizaruna fotorresistencia es como unsimple interruptor de encendi-do/apagado (digital) – cuandoel nivel de luz sube por arriba decierto valor (llamado el valor de“umbral”), la fotorresistencia en-viará una señal de encendido;cuando el nivel de luz está deba-jo de cierto nivel, la fotorresisten-cia enviará una señal de apaga-do.

En este caso, la fotorresisten-cia se coloca en una configura-ción de divisor de voltaje conuna resistencia estándar. El valorde la resistencia estándar defineel “valor de umbral”. Para foto-rresistencias miniatura el valoradecuado es 1kΩ, para fotorre-sistencias más grandes del tipoORP12 una resistencia de 10kΩes más adecuada. Si se desea laresistencia fija puede reempla-zarse por una resistencia varia-ble de manera que el valor deumbral se pueda ajustar para di-ferentes valores del nivel de luz(figura 10).

Una manera más versátil deutilizar la fotorresistencia es mi-diendo un cierto número de valo-res de luz diferentes, de maneraque las decisiones se puedan to-mar para niveles de luz cambian-tes en vez de un solo nivel de umbral fijo. Un valor cambiantese conoce como un valor “analógico”.

Para medir valores analógicos el microcontrolador debe te-ner un convertidor analógico/ digital y además el software uti-lizado debe ser capaz de soportar el uso de este convertidor.La mayoría de los microcontroladores sólo tienen convertidoresa-d en algunos de sus pines de entrada; por lo tanto, el pin deentrada se debe seleccionar cuidadosamente.

En el microcontrolador de 8 patas sólo uno de lospines puede utilizarse.

El circuito electrónico que utiliza el convertidor a-d es un cir-cuito divisor de voltaje idéntico al mostrado en la figura 10. Las“mediciones” analógicas se realizan dentro del microcontrola-dor mismo.

Para realizar una prueba, conecte la fotorresistencia, lamisma se puede probar como un interruptor digital utilizandoun simple programa tal como se ve en el diagrama de la figu-

Figura 12

Figura 13

16 CLUB SABER ELECTRONICA

ra 11 (que también muestra el diagrama de flujo que dá origenal programa).

Este programa encenderá y apagará la “salida 0” deacuerdo al nivel de luz.

Para probar la fotorresistencia, conéctela al entrenador dela figura 13 y siga los procedimientos que hemos utilizado pa-ra la prueba de otros componentes. La misma se puede probarcomo un sensor analógico utilizando un simple programa, talcomo se ve en la figura 12.

El comando “readadc” se utiliza para leer el valor ana-lógico (un número entre 0 y 255) dentro de la variable b1. Unavez que este número está en la variable b1, el mismo se puedeprobar para ver si es mayor que 100 ó mayor que 50. Si esmayor que 100 la salida 4 se enciende, si está entre 50 y 100se enciende la salida 0, y si es menor de 50 ambas salidas seapagan.

De esta manera culminamos este capítulo “presentación”de los microcontroladores PICAXE. Veamos ahora cómo traba-jar con los PICAXE-18.

RecorRecordemos:demos: El microcontrolador PICAXE es unPIC al que se le graba un pequeño programita inter-no (firmware) para que pueda ser programado di-rectamente sin la necesidad de un cargador y losprogramas se pueden hacer en BASIC y en otros en-tornos muy amigables. En síntesis, tiene todas lasbondades del PIC, pero son mucho más fáciles deusar.

A modo de síntesis, por si Ud. ha comenzado la lectura poresta sección, digamos que el microcontrolador PIC (microcon-trolador programable, figura 14) es a menudo descrito comouna “computadora en un chip”. Es un circuito integrado quecontiene memoria, unidades procesadoras y circuitos de entra-da/salida, en una sola unidad.

Estos microcontroladores son comprados en “blanco” y lue-go programados con un programa específico de control. Unavez programado, este microcontrolador es introducido en algúnproducto para hacerlo más inteligente y fácil de usar.

A manerade ejemplo, unhorno de mi-croondas (figu-ra 15) puedeutilizar un solomicrocontrola-dor para proce-sar informaciónproveniente delteclado numéri-co, mostrar in-formación parael usuario en lapantalla y controlar los dispositivos de salida (motor de la me-sa giratoria, luz, timbre y magnetrón).

Un microcontrolador puede, a menudo, reemplazar a ungran número de partes separadas, o incluso a un circuito elec-trónico completo. Algunas de las ventajas obtenidas con el usode microcontroladores en el diseño de productos son:

· Aumento en la confiabilidad debido al menor número departes.

· Reducción en los niveles de existencia ya que un micro-controlador reemplaza varias partes.

· Simplificación del ensamblaje del producto y productos fi-nales más pequeños.

· Gran flexibilidad y adaptabilidad del producto, ya quelas funciones del producto están programadas en el microcon-trolador y no incorporadas en el hardware electrónico.

· Rapidez en modificaciones y desarrollo del producto me-diante cambios en el programa del microcontrolador, y no enel hardware electrónico.

Algunas de las aplicaciones que utilizan microcontrolado-res incluyen artefactos domésticos, sistemas de alarma, equipomédico, subsistemas de automóviles y equipo electrónico deinstrumentación.

Algunos automóviles modernos contienen más de treinta mi-crocontroladores, utilizados en una amplia variedad de subsiste-mas desde el control del motor hasta el cierre a control remoto.

En la Industria, los microcontroladores son usualmente pro-gramados utilizando programación en lenguaje C. Sin embar-go, debido a la complejidad de este lenguaje, es muy difícil,para estudiantes muy jóvenes de bachillerato, el uso adecuadode dicho lenguaje.

Más Sobre el Sistema PICAXE

El sistema “PICAXE” es un sistema de microcontrolador fá-cil de programar que utiliza un lenguaje BASIC muy simple, el

Figura 14

Figura 15

CLUB SABER ELECTRONICA 17

cual la mayoría de los estudiantes pueden aprender rápida-mente. El sistema PICAXE explota las características únicas dela nueva generación de microcontroladores de bajo costoFLASH. Estos microcontroladores pueden ser programados unay otra vez sin la necesidad de un costoso programador PIC.

El poder del sistema PICAXE radica en su sencillez. No ne-cesita de ningún programador, borrador o complejo sistemaelectrónico.

El programa puede escribirse en BASIC o por medio de undiagrama de flujo y se carga mediante una conexión de tres ca-bles conectada al puerto serie de la computadora.

El circuito microcontrolador PICAXE utiliza únicamente trescomponentes y puede ser ensamblado en un tablero experimen-tal para componentes electrónicos (protoboard), en una placauniversal (de las que se venden en casas de electrónica) o enuna placa PCB (vea la figura 16).

EL sistema PICAXE está disponible en distintas variedades:8 pines, 18 pines y 28 pines. El controlador PICAXE-28 provee22 pines de entrada/salida (8 salidas digitales, 8 entradas di-gitales y 4 entradas analógicas).

El sistema PICAXE-18 provee 8 salidas y 5 entradas y el si-stema PICAXE-08 provee 5 terminales para ser usados comoentradas o salidas (con algunas restricciones).

Las principales características de los microcontroladores PI-CAXE son:

· Bajo costo, circuito de fácil construcción.· Hasta 8 entradas, 8 salidas y 4 canales analógicos.· Rápida operación de descarga del programa a la memo-

ria del PICAXE mediante el cable serial.· Software “Editor de Programación” gratuito y de fácil uso.· Lenguaje BASIC simple y fácil de aprender.· Editor de diagramas de flujo incluido.· Puede ser programado, también, mediante el software

“Crocodile Technology”.· Extenso número de manuales gratuitos y foro de apoyo en

línea.· Tablero experimental y tutoriales disponibles.· Paquete de control remoto infrarrojo disponible.· Paquete de servocontrolador disponible.Los PICAXE son microcontroladores cuya licencia corres-

ponde a la empresa Revolution Education. Son PICs comunes(de la empresa Microchip) que poseen un pequeño programitainterno que los hace más fáciles de operar. De esta manera, unPICAXE puede reemplazar a un PIC, pero un PIC no puedereemplazar a un PICAXE (dado que el PIC no tiene ese progra-mita).

Si Ud. compra un PICAXE, verá que tiene la ma-trícula de un PIC, sin embargo NO ES UN PIC común,es un PIC que ha sido programado y así se ha con-vertido en un PICAXE.

El sistema PICAXE consiste en tres componentes principa-les:

1) El Software “Editor de Programación”: Este soft-ware debe ser ejecutado en una computadora y permite utilizarel teclado de la PC para escribir programas en un simple len-guaje BASIC. Los programas también pueden generarse dibu-jando diagramas de flujo. Alternativamente, el software “Cro-codile Technology” puede ser utilizado para simular circuitoselectrónicos completos, programándolos con diagramas de flu-jo. Por favor, vea el apéndice de “Crocodile Technology” paramayor información.

2) El cable serie: Este es el cable que conecta el sistemaPICAXE a la computadora. El cable sólo necesita ser conecta-do durante la descarga de programas. No debe ser conectadocuando el PICAXE está siendo ejecutado debido a que el pro-grama está permanentemente almacenado en el chip PICAXE,aun cuando la fuente de alimentación haya sido desconectada.

Hay dos tipos de cables para descarga disponibles (al usarel tablero experimental tutorial cualquiera de los dos cablespuede ser utilizado), los cuales se conectan ya sea a un conec-tor cabecera de tres pines o a un conector hembra estéreo pe-queño (J35), figura 17.

Figura 16 Figura 17

18 CLUB SABER ELECTRONICA

3) El chip PICAXE y el tablero electrónico: El micro-controlador PICAXE ejecuta programas que han sido descarga-dos al mismo. Sin embargo, para operar, el chip debe ser mon-tado en un tablero electrónico que provea una conexión al chipmicrocontrolador.

El tablero electrónico puede ser diseñado por el usuario enun circuito impreso, en una interfaz prefabricada o, para aho-rrar tiempo y por conveniencia, utilizar el tablero electrónico tu-torial incluído. Tanto en la figura 17 como en la figura 18, sepueden ver tableros que asumen el uso del microcontrolador PI-CAXE-18 (18 pines) montado en el tablero electrónico tutorial.

A modo de ejemplo, y antes de continuar con la descrip-ción de los microcontroladores PICAXE, damos a continuaciónel procedimento que suele ser empleado para trabajar con es-te sistema:

1. Escriba el programa en la computadora utilizando elsoftware “Programming Editor”.

2. Conecte el cable de descarga desde la computadora alPICAXE.

3. Conecte el acumulador eléctrico (batería) al PICAXE.4. Utilice el software “Editor de Programación” para des-

cargar el programa. El cable de descarga puede ser removidoposteriormente a la descarga.

El programa comenzará a ejecutarse en el PICAXE automá-ticamente. Sin embargo, el programa puede ser reiniciado encualquier momento presionando el interruptor de reinicio.

Entrenador PICAXE-18

Vamos a explicar cómo se utiliza un “entrenador” para PI-CAXE-18. Para ello, se supone que Ud. posee un tablero (pla-ca de circuito impreso) ya montado. Si no lo tiene, no se preo-cupe, en este libro explicaremos cómo puede hacerlo Ud. mis-mo.

Hay tres tipos de tableros electrónicos de tutoriales/proyec-tos disponibles:

1) Tablero electrónico tutorial: Este es un tablero tuto-rial que contiene interruptores, sensores, una pantalla de sietesegmentos y conexiones para dispositivos de salida (es el table-ro de la figura 17).

2) Tablero de Proyecto Estándar: Este es un tablerode proyecto que provee de 8 salidas (encendido / apagado óon/off) digitales mediante un controlador Darlington (figura18a).

3) Tablero para Proyecto de Alta Potencia: Este esun tablero que provee de 4 salidas digitales (mediante controla-dores FET) y dos salidas para motores reversibles (figura 18b).

Preparando el Tablero Tutorial

Antes de usar el tablero tutorial, el mismo debe ser conec-tado a las baterías eléctricas.

La figura 19 nos muestra el enchufe hembra para caja debaterías.

Localice los cables de la caja de baterías y doble el cabledesnudo sobre el aislante en ambos cables. Coloque el cablerojo en el conector hembra marcado “V+” y el negro en el co-nector marcado “O V”.

Apriete los tornillos de manera que tanto el cable desnudocomo el aislante queden atrapados en el enchufe, esto proveeuna conexión más fuerte que simplemente prensando el cabledesnudo. Utilice siempre la caja de baterías eléctricas de 6V(se requiere de 4 pilas AA) suministrada. NO use una bateríaPP3 de 9V.

El Software Gratuito para Trabajar con PICAXE

Requerimientos:Windows 95/98/ME/NT/2000/XPEl software puede bajarlo de la

página del fabricante (www.rev-ed-.co.uk) o de nuestra web: www.we-belectronica.com.ar (con la clave pi-caxe) y debe instalarse haciendo unclick en el ejecutable, es decir, debe

Figura 19

Figura 18b

Figura 18a

CLUB SABER ELECTRONICA 19

instalar el software “Editor de Programación” siguiendo las ins-trucciones en su pantalla. Si no lo tiene en su computadora, de-berá también instalar el software “Adobe Acrobat Reader”, yaque lo necesitará para poder leer los manuales de ayuda.

Ejecutando un Programa de MuestraEl siguiente programa enciende y apaga la salida 7 cada

segundo. Cuando usted descarga este programa sobre el PICA-XE del tablero (entrenador), el punto decimal del display de sie-te segmentos debe encenderse y apagarse cada segundo.

main:high 7pause 1000low 7pause 1000goto main

Este programa utiliza los comandos high y low para con-trolar el pin de salida 7, y utiliza el comando de pause paracausar un retardo (1000 ms = 1 segundo).

El último comando, el comando goto hace que el progra-ma salte a la etiqueta main, que es el comienzo del progra-ma. Esto significa que el programa es un bucle perpetuo (lazocerrado).

Note que la primera vez que la etiqueta es utilizada, debeestar seguida por un símbolo de dos puntos (:). Este símbolo in-dica a la computadora que la palabra es una nueva etiqueta.

A continuación explicamos, paso a paso, cómo realizar es-te primer ejercicio de prueba:

1. Conecte el cable PICAXE a un puerto serie de la compu-tadora y preste atención a cuál de los puertos lo conecta (nor-malmente COM1 ó COM2).

2. Ejecute el Software “Programming Editor”.3. En el menú desplegable escoja Ver -> Opciones para ac-

ceder a la pantalla de opciones (ésta puede que aparezca au-tomáticamente).

4. Haga click en “Modo” y seleccione PICAXE-185. Haga click en “Puerto Serie” y seleccione el puerto serie

al cual el cable PICAXE está conectado, luego haga click enOK.

6. Escriba el siguiente programa:

main: high 7pause 1000low 7pause 1000goto main

(Tome en cuenta el símbolo (:) directamente después de la

etiqueta “main” y los espacios entre los comandos y los núme-ros).

7. Asegúrese que el circuito PICAXE esté conectado al ca-ble serie y a las baterías.

8. Seleccione PICAXE -> Ejecutar. Una barra de descargade programa debe aparecer mientras el programa es descar-gado. Al terminar la descarga, el programa debe comenzar aejecutarse automáticamente. El punto decimal LED -Light Emit-ting Diode: Diodo Emisor de Luz- en la salida 7, deberá encen-derse y apagarse una vez por segundo.

Instrucciones para Uso en Windows

Damos, a continuación, un listado de botones correspon-dientes a la barra del menú (figura 20):

Open = Abrir Save = Guardar o Salvar Cut = Cortar Copy = Copiar Paste = PegarPrint = Imprimir Run = Ejecutar

a) Para descargar y ejecutar un programa:1. Verifique que el cable de descarga esté conectado tan-

to al PICAXE como al puerto serie de la computadora.2. Verifique que las baterías estén conectadas al PICAXE.3. Asegúrese que el software “Programming Editor”

esté en el modo correcto (La palabra PICAXE-18 debe apareceren la barra de estado en la esquina inferior izquierda de lapantalla).

4. Haga click en Ejecutar (o en el respectivo botón de labarra de herramientas)

b) Para salvar un programa:1. Haga click en Archivo -> Guardar como…(ó en el res-

pectivo botón de la barra de herramientas)2. Escriba el nombre bajo el cual quiere guardar el archivo3. Haga click en <OK>

c) Para abrir un programa guardado:1. Haga click en Archivo -> Abrir (o en el respectivo botón

de la barra de herramientas)

Figura 20

20 CLUB SABER ELECTRONICA

2. Seleccione el archivo deseado de la lista haciendo clicken el mismo.

Haga click en <OK>

d) Para iniciar un nuevo programa:1. Haga click en Archivo- Nuevo

e) Para imprimir un programa:1. Haga click en Archivo -> Imprimir… (o en el respectivo

botón de la barra de herramientas)2. Si desea que a cada línea del programa se le asigne un nú-

mero, asegúrese de marcar la casilla “Imprimir números de línea”.3. Haga click en <OK>

Aprendiendo a Hacer Programas en Basic

Utilizando el Comando Symbol

Algunas veces es difícil recordar cuáles pines están conec-tados a cuáles dispositivos. El comando symbol puede, en es-tos casos, ser utilizado al inicio del programa para renombrarlas entradas y salidas. Note que este programa asume la cone-xión de un timbre externo al pin de salida 7. Ver tabla 5.

Recuerde que los comentarios [explicaciones posteriores alsímbolo de apóstrofe (‘)] facilitan mucho la comprensión de ca-da línea del programa. Estos comentarios son ignorados por lacomputadora al descargar un programa al PICAXE. “Todo loque en una línea está después de (‘) es ignorado porel programa”.

Las etiquetas (“main:” en el programa de la tabla 5) pue-den ser cualquier palabra (con la excepción de palabras cla-ves como por ejemplo “switch”) pero DEBEN empezar con unaletra. Cuando la etiqueta es definida por primera vez debe lle-var al final el símbolo de dos puntos (:). Esto indica a la com-putadora que la palabra es una nueva etiqueta.

Este programa utiliza el comando wait. Los comandoswait y pause se utilizan para crear retardos o tiempos muer-tos. Sin embargo, el comando wait puede ser utilizado única-mente con segundos enteros mientras que pause se puede uti-lizar para retardos más cortos (el mismo se asigna en milésimasde segundo). Al comando wait se le pueden asignar númerosdel 1 al 65, los cuales deben escribirse después del comando.Al comando pause se le pueden asignar números entre 1 y65535.

Es una buena técnica de programación usar tabulaciones(o espacios) al inicio de líneas sin etiquetas de manera que loscomandos estén alineados. El término “espacios en blanco” esutilizado por programadores para definir tabulaciones, espa-cios y líneas en blanco. Dichos “espacios en blanco”, utilizadoscorrectamente, hacen al programa mucho más fácil de leer yentender (vea las tabulaciones que hemos hecho en el progra-ma de la tabla5; en la primera columna ponemos etiquetas odefinimos variables, en la segunda columna colocamos las ins-trucciones y en la tercera columna están los comentarios que fa-cilitan la comprensión del programa).

Nota: Algunas versiones antiguas de lenguaje BASIC utili-zan “números de línea” en vez de etiquetas para trabajar conlos comandos goto. Desafortunadamente, este sistema puedeser muy inconveniente ya que si el programa es modificado pos-teriormente agregando o eliminando líneas, todos los númerosde línea posteriores deben ser modificados. El sistema de etique-tas, utilizado en la mayor parte de las versiones modernas delenguaje BASIC, supera este problema automáticamente.

El “cerebro” del sistema PICAXE es el microcontrolador de18 pines PIC16F627. Este PIC posee un programa que ha sidograbado para convertirlo en un elemento del sistema PICAXE(se llama PICAXE-18).

Aunque los microcontroladores son relativamente baratos(algunos microcontroladores cuestan menos de 2 dólares), losmismos son dispositivos muy complejos que contienen miles detransistores, resistencias y otros componentes electrónicos.

El microcontrolador PICAXE almacena sus programas (firm-ware) en su memoria FLASH “no volá-til”. La ventaja de esta memoria es queno pierde el programa descargadocuando la fuente de alimentación (ba-terías) es desconectada del circuito(cuando las baterías son reconectadasel programa se inicia nuevamente). Sinembargo, cuando desee reprogramarel PICAXE, puede descargar un nuevoprograma; esta acción borra el viejoprograma almacenado en la memoriay almacena el nuevo programa en lamemoria de programa. La memoria só-lo permite el almacenamiento de unprograma a la vez.

TABLA 5

symbol dp = 7 ‘renombrar salida 7 “dp” (punto deci-mal)symbol buzzer = 1 ‘renombrar salida 1 “buzzer” (timbre)

main: ‘hacer una etiqueta llamada “main” high dp ‘LED encendidolow buzzer ‘timbre apagadowait 1 ‘ esperar un segundolow dp ‘ LED apagadohigh buzze ‘ timbre encendidowait 1 ‘esperar 1 segundogoto main ‘regresar al inicio (“main”)

CLUB SABER ELECTRONICA 21

Tome en cuenta que no es po-sible sacar el programa fuera dela memoria del PICAXE para“leerlo”; por ende, si desea guar-dar el código de un programa pa-ra utilizarlo posteriormente debeguardarlo en su computadora an-tes de descargarlo al PICAXE. Estoes una restricción que el operadordebe tener en cuenta, dado queen un PIC sí es posible leer el pro-grama grabado en la memoria.

El microcontrolador contiene además de la memoria ROM(Read Only Memory - Memoria de sólo lectura), memoria tem-poral RAM (Random Access Memory - Memoria de AccesoAleatorio).

La memoria RAM es una memoria “temporal” utilizada pa-ra almacenar información mientras el programa es ejecutado.La misma es utilizada normalmente para almacenar respuestasde sumas matemáticas que el microcontrolador hace mientrasestá trabajando. Esta memoria es “volátil”, lo cual significa quetan pronto las baterías son desconectadas, la información al-macenada en la misma se pierde.

Hay 14 bytes de memoria temporal disponibles y los mis-mos son denominados desde b0 a b13 dentro de los progra-mas.

El Circuito del “Entrenador” PICAXE-18

La figura 21 muestra el circuito básico PICAXE-18. El resis-tor de 4k7 (4700Ω), conectado en el pin 4, se usa como resis-tencia de “pull-up” para quitar al microdel estado de reset. Si desea colocarun sistema de reset, debe conectar uninterruptor o pulsador entre el pin 4 ymasa (tierra, gnd) de modo que al serpresionado se produzca el estado dereset del micro.

¡Tome en cuenta que el mi-crocontrolador PICAXE no es unmicrocontrolador en blanco... yatiene un programa interno paraque pueda ser usado con el uti-litario Programming Editor!

El microcontrolador PICAXE estápreprogramado con un firmware decarga que permite la descarga directade programas con el cable suministra-

do de sólo tres terminales. Los microcontroladores PIC comunesno tienen este programa y por ende no pueden ser programa-dos mediante el sistema PICAXE.

El microcontrolador PICAXE-18A es casi idéntico al micro-controlador PICAXE-18 estándar, pero es ligeramente más cos-toso ya que tiene el doble de capacidad de memoria (aproxi-madamente 80 líneas de programación BASIC en vez de 40) ysalidas analógicas de alta resolución (en vez de baja resolu-ción).

El sistema PICAXE utiliza una interfaz al puerto serie de lacomputadora muy simple (es un cable de tres hilos). Aunque es-ta interfaz no utiliza verdaderos voltajes RS232, es de muy ba-jo costo y ha tenido un desempeño confiable en casi todas lascomputadoras modernas. Vea en la figura 22 cómo se conectaeste cable en la placa del entrenador.

Es altamente recomendable utilizar esta interfaz, ya que ca-da vez que quiera programar el chip no debe quitarlo de laplaca de circuito impreso, sólo debe conectar el cable entre laplaca y la computadora, ejecutar el programa “Editor Progra-mming” y hacer la descarga correspondiente... ¡así de simple!

Nota: La mayor parte de las computadoras modernas tie-nen dos puertos serie, normalmente denominados COM1 yCOM2. El software “Editor de Programación (Programming

TABLA 6

symbol counter = b0 ‘definir la variable “counter” como b0symbol dp = 7 ‘asignar al pin 7 con el “dp”

main: for counter = 1 to 15 ‘iniciar un bucle for.....nexthigh dp ‘encender pin 7pause 500 ‘esperar 0,5 segundosnext counter ‘siguiente counter (b0)end ‘fin del programa

Figura 21

22 CLUB SABER ELECTRONICA

Editor)” debe ser configurado con el puer-to al cual el microcontrolador está conec-tado. Para ello, en el menú desplegableseleccione Ver -> Opciones -> PuertoSerie, para elegir el puerto serie corres-pondiente en su computadora.

Si ya compró un cable de sistema PI-CAXE armado y utiliza una computadoraque posee el antiguo conectador de puer-to serie de 25 pines, utilice un adaptador9-25 para poder conectar el cable PICAXEde 9 pines. Estos adaptadores pueden sercomprados en cualquier tienda (casa) es-

pecializada en computadoras. Pero también, Ud. puede armarel cable siguiendo las instrucciones que le daremos oportuna-mente.

Utilizando Bucles For…Next

Con frecuencia, es útil repetir una parte de un programavarias veces, por ejemplo al encender/apagar sucesivamenteun diodo LED (Light Emitting Diode, Diodo emisor de luz). En es-tos casos un bucle for…next puede ser utilizado.

El programa de la tabla 6 enciende y apaga 15 veces eldiodo LED conectado al pin de sa-lida 7. El número de veces que elcódigo debe ser repetido es alma-cenado usando la variable b0 (elPICAXE tiene 14 variables de 1byte para uso general, nombra-das de b0 a b13 en la memoriaRAM del chip PICAXE). Estas va-riables pueden ser renombradasusando el comando symbol conel fin de hacerlas más fácil de re-cordar.

Note nuevamente cómo los es-pacios en blanco han sido utiliza-dos para mostrar claramente to-dos los comandos contenidos en-tre los comandos for y next.

Controlando la Velocidad de un Motor

Debido a que el sistema PICA-XE opera muy rápidamente, es po-sible controlar la velocidad de mo-tores, encendiéndolos y apagán-dolos muy rápidamente. Este tipo

Figura 23

TABLA 7

symbol mark1 = b6 ‘renombrar variablessymbol space1 = b7symbol mark2 = b8symbol space2 = b9

let mark1 = 2 ‘precargar mark1/space1 con relación de 2:10 (1:5)let space1 = 10

let mark2 = 20 ‘precargar mark2/space2 con relación de 20:10 (2:1)let space2 = 10

main:for b2 = 1 to 200 ‘iniciar un bucle for...nexthigh 0 ‘encender motorpause mark1 ‘esperar tiempo indicado por mark1low 0 ‘apagar motorpause space1 ‘esperar tiempo indicado por space1next b2 ‘siguiente b2pause 2000 ‘detener motor por 2 segundosfor b2 = 1 to 200 ‘iniciar un bucle for.....nexthigh 0 ‘encender motorpause mark2 ‘esperar tiempo indicado por mark2low 0 ‘apagar motorpause space 2 ‘esperar tiempo indicado por space1next b2 ‘siguiente b2pause 2000 ‘detener motor por 2 segundosgoto main

Figura 22

CLUB SABER ELECTRONICA 23

de control se conoce como PWM (PulseWidth Modulation, Modulación por an-cho del impulso). La PWM es una buenatécnica de control ya que permite a losmotores operar a bajas velocidades man-teniendo un alto torque (fuerza de giro).La PWM es utilizada frecuentemente enmuchas aplicaciones, por ejemplo, paracontrolar la velocidad de taladros y des-tornilladores eléctricos. Para que la PWM funcione correcta-mente, se necesitan motores de alta calidad. Los programasaquí mostrados están diseñados para motores “solares” y pue-de que no funcionen correctamente si se utilizan motores de ju-guete baratos. Para la conexión del motor en nuestro entrena-dor, vea la figura 23.

El programa se muestra en la tabla 7.Intente seguir el programa para ver si puede comprender-

lo; si no lo logra.... no se preocupe, recién estamos empezan-do.

Uso de Timbres y Zumbadores Electrónicos en el Sistema PICAXE

Los timbres emiten un sonido cuando están conectados auna fuente de alimentación.

Este sonido, usualmente, está “fijo” a una frecuencia deter-minada; así, los timbres pueden emitir un solo “tono”. Los zum-badores electrónicos usan un tipo de sistema y pueden ser utili-zados para emitir sonidos en diferentes tonos al proveerlos conuna salida de diferentes frecuencias.

El sistema PICAXE puede crear automáticamente sonidosde diferentes frecuencias utilizando el comando sound (ver ta-bla 8).

Para probar este programa se debe instalar un zumbadorelectrónico en el tablero tutorial (entrenador). Para hacer esto,ubique los conectores del zumbador, marcados con la palabraPIEZO (figuras 24 y 25). Luego suelde el cable ro-jo al agujero marcado “+” y el cable negro al agu-jero marcado “-”.

En el programa, el primer número indica el nú-mero de pin (en el tablero tutorial el pin de salida6 es utilizado). El siguiente número es el tono, se-guido por la duración del sonido (longitud). Mien-tras más alto sea el número de tono, mayor será la“altura tonal” del sonido (frecuencia, note que al-gunos zumbadores no pueden producir tonos muyaltos y por lo tanto números de tono mayores de127 puede que no sean escuchados).

El siguiente programa que vemos en la tabla 9utiliza un bucle for…next para producir 120 soni-dos diferentes. El número almacenado en la varia-

ble b0 aumenta 1unidad en cadabucle (1-2-3, etc.).Por consiguiente,al utilizar la varia-ble b0 para asig-nar el tono, el mis-mo puede sercambiado en ca-da bucle.

En la tabla 10se ve el programaque realiza la mis-ma función pero cambiando el tono en orden descendente, esdecir de 120 a 1.

En la tabla 11 vemos el programa que emite todos los 256sonidos posibles.

En este último caso el programa es ejecutado indefinida-mente. Sin embargo, es importante comprender cómo el PICA-XE ejecuta las operaciones matemáticas.

TABLA 8main:

sound 6, (50,100) ‘emitir un sonido en salida 6 con frecuencia 50 y longitud 100sound 6, (100,100) ‘emitir un sonido en salida 6sound 6, (120,100) ‘emitir un sonido en salida 6pause 1000 ‘esperar 1 segundogoto main ‘saltar al inicio del programa (main)

Figura 24

Figura 25

TABLA 9main:

for b0 = 1 to 120 ‘iniciar un bucle for....nextsound 6, (b0,50) ‘emitir sonido en salida 6 con frecuencia b0 y longitud 50Next b0 ‘siguiente b0end

TABLA 10main:

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 50next b0 ‘siguiente b0end

24 CLUB SABER ELECTRONICA

El PICAXE sólo interpreta números en “byte”, o sea núme-ros enteros del 0 al 255. No puede interpretar fracciones, ni

números negativos, ni números mayores de 255. Así, si se tra-ta de sumar 1 a 255, el PICAXE saltará de nuevo a 0. Por con-siguiente, en el programa anterior, el valor de la variable b0 secomportará de la siguiente manera mientras el programa seejecuta: …252-253-254-255-0-1-2- etc.

Uso de Entradas con Sensores Digitales

Un sensor digital es un simple sensor del tipo “interruptor”que sólo puede estar en dos posiciones: encendido ó apagado.Algunos ejemplos de sensores digitales comunes son:

· microinterruptores· interruptores de botón de presión e interrup-

tores oscilantes· interruptores de lengüeta

El tablero del entrenador propuesto tiene dosinterruptores de botón de presión conectados a lasentradas 6 y 7 (figura 26). Adicionalmente se pue-den conectar otros dos interruptores a las entradas0 y 1.

En la tabla 12 vemos el programa que indicaal PICAXE cómo reaccionar cuando los interrupto-res de botón de presión son presionados. En elprograma el pin de salida 7 se ilumina cada vezque el interruptor de botón de la entrada 6 es pre-sionado.

En este programa las tres primeras líneas for-man un bucle continuo. Si la entrada está apaga-da el programa se reiniciará una y otra vez.

Una vez que el interruptor es presionado, elprograma salta a la etiqueta llamada “flash”. Elprograma luego activa la “salida 7” por dos se-gundos antes de regresar nuevamente a “main”.

Note cuidadosamente la ortografía en la líneadel comando if…then – entrada6 (input6) es unasola palabra (sin espacios en blanco). Note tam-bién que únicamente se debe escribir la etiquetaposterior al comando then – no se permite ningu-na otra palabra aparte de la etiqueta.

Uso de Entradas con Sensores Analógicos

Los sensores analógicos miden señales conti-nuas tales como luz, temperatura o posición.

El sensor analógico provee una señal que con-siste en un voltaje variable (figura 27). Este volta-je puede luego ser representado con un númerodel 0 al 255 (Por ejemplo muy oscuro = 0, luz muy

TABLA 13

main: ‘hacer etiqueta llamada “main”readadc 2,b0 ‘leer señal de canal 2 en variables b0if b0 > 120 then stop ‘si b0 >120 ir a “stop”if b0 < 70 the bot ‘si b0 <70 ir a “bot”low 1 ‘sino apagar 1low 2 ‘y apagar 2goto main ‘ir a “main”

top: ‘hacer una etiqueta llamada “top”high 1 ‘encender 1low 2 ‘apagar 2goto main ‘ir a “main”

bot: ‘hacer una etiqueta llamado “bot”high 2 ‘encender 2low 1 ‘apagar 1goto main ‘ir a “main”

TABLA 11main:

sound 6, (b0, 50) ‘emitir sonido en salida 6let b0 = b0 + 1 ‘sumar 1 al valor de la variable b0goto main ‘ir a inicio del programa (main)

TABLA 12main: ‘hacer etiqueta llamada “main”

if input6 is on then flash ‘si la entrada 6 (Input 6) está encendida ir ‘a “flash” sino ir a “main”

goto mainflash: ‘hacer etiqueta llamada “flash”

high 7 ‘encender salida 7 (output 7)pause 2000 ‘esperar 2 segundoslow 7 ‘apagar salida7goto main ‘ir a “main”

Figura 26

CLUB SABER ELECTRONICA 25

brillante = 255). Ejemplos típicos de sensores analógicos son:

· Fotorresistencias ó LDRs (Light Dependent Resistors - Resis-tencias variables con la luz ).

· Termistores· Resistencias variables (potenciómetros)

El tablero tutorial (entrenador) posee una fotorresistenciamontada en el mismo, la cual está conectada a la entrada 2 (in-put2).

La fotorresistencia es un compo-nente cuya resistencia cambia al va-riar la intensidad de luz que incide so-bre la misma, es decir, su resistenciacambia según el nivel de luz.

Bajo luz brillante su resistencia esbaja (típicamente alrededor de 1kΩ)mientras que en la oscuridad, su resis-tencia es muy alta (típicamente alrede-dor de 1MΩ).

En la figura 28 se muestra el sím-bolo y la curva típica de resistenciacontra intensidad de luz para la foto-rresistencia. La fotorresistencia estáconectada a la entrada 2 en configu-ración de divisor de voltaje. Tal como se muestra en la figura29.

Cómo se Leen las Entradas Analógicas

El valor de una entrada analógica puede ser fácilmente co-piado dentro de una variable utilizando el comando readadc.Luego, se puede probar el valor de la variable (0 a 160). Elprograma de la tabla 13 enciende un diodo LED si el valor esmayor que 120 y otro diodo LED, si el valor es menor de 70.Si el valor está entre 70 y 120, ambos diodos LED permanecenapagados.

Note que el microcontrolador PICAXE-18 tiene tres canaleso entradas analógicas nombradas del0 al 2. En el tablero de nuestro entre-nador la fotorresistencia está conecta-da permanentemente al pin 2, pero losotros dos canales (0 y 1)están libres para conec-tar otros sensores.

Frecuentemente, alutilizar sensores análo-gos es necesario calcularel valor de “umbral” ne-cesario para el progra-ma (esto es, los valores

70 y 120 en el programa anterior). El comando debug permi-te ver fácilmente el valor en “tiempo real” de un sensor, permi-tiendo calcular el valor umbral experimentalmente.

Al ejecutar el programa de la tabla 14 aparecerá una ven-tana de depuración (debug) en la pantalla de la computadora,indicando el valor de la variable b0. A medida que el sensores probado con la variable, la ventana va indicando la lecturaactual del sensor.

Programación por Organigramaso Diagramas de Flujo

Los diagramas de flujo u organigramas son herramientasmuy útiles que permiten representar programas gráficamente,para hacerlos más fáciles de entender. El software “Program-ming Editor” incluye un editor de organigramas que permite di-bujar los mismos en la pantalla de la computadora. Estos orga-

TABLA 14

main: ‘hacer etiqueta llamada “main”readadc 2,b0 ‘leer señal de canal 2 en variable b0debug b0 ‘transmitir valor a la pantalla del ordenadorpause 100 ‘pausa cortagoto main ‘ir a “main”

Figura 28

Figura 29

Figura 27

26 CLUB SABER ELECTRONICA

nigramas pueden luego ser convertidos en código BASIC paradescargarlos en el PICAXE. Los organigramas pueden tambiénser impresos o exportados (enviados) como figuras para incluir-los en reportes de proyectos.

A continuación damos las instrucciones detalladas para laconstrucción de organigaramas:

1. Conecte el cable PICAXE a uno de los puertos serie dela computadora. Recuerde tomar nota del puerto serie al cualconecta el cable (normalmente COM1 ó COM2).

2. Inicie el software “Editor de Programación”3. En el menú desplegable seleccione Ver -> Opciones pa-

ra acceder a la pantalla de opciones (ésta puede que aparez-ca automáticamente).

4. Haga click en la lengüeta “Modo” y seleccio-ne PICAXE-18.

5. Haga click en la lengüeta “Puerto Serie” y se-leccione el puerto serie al cual ha conectado el ca-ble PICAXE. Haga click en “OK”

6. Cree un nuevo organigrama haciendo clicken el menú Archivo -> Nuevo Organigrama.

7. Dibuje el organigrama mostrado abajo arras-trando los bloques requeridos a la pantalla y luegoutilizando el ratón para dibujar las flechas para co-nectar los bloques.

8. Cuando termine de dibujar el organigrama,puede convertirlo en un programa BASIC seleccio-nando el menú Organigrama -> Convertir Organi-grama a BASIC. Luego el programa BASIC puedeser descargado al PICAXE de la manera usual.

9. Para imprimir o salvar el organigrama, use elmenú de Archivo. Para exportar el organigrama co-mo una figura, utilice el menú Archivo -> Exportar.Para exportar la imagen a un documento de Wordseleccione el archivo tipo EMF. Para exportar el or-ganigrama a una página web use el archivo tipoGIF.

El Editor de Organigramas permite dibujar y si-mular organigramas en la pantalla. El organigramapuede luego ser convertido automáticamente en unprograma BASIC para ser descargado en el micro-controlador (vea la figura 30).

Los comandos de la pantalla de Editor de Orga-nigramas son los siguientes (figura 31):

Select = Seleccionar Zoom = Zoom Zoom In/Out = Acercar/AlejarPan = Mover Line = Línea Edit bar = barra editora

SeleccionarUtilice este comando para seleccionar y mover

bloques. Cuando un sólo bloque es seleccionado, sucódigo BASIC puede ser editado en la barra editoraen la parte inferior de la ventana.

Figura 31

Figura 30

CLUB SABER ELECTRONICA 27

ZoomUtilice para acercar una parte del diagrama. Use el click

derecho para alejar.

Acercar/AlejarPara acercar haga click y mueva el ratón hacia arriba. Pa-

ra alejar haga click y mueva el ratón hacia abajo.

MoverUtilice este comando para mover el organigrama completo

alrededor de la pantalla.

LíneaUtilice este comando para dibujar líneas entre los bloques.

Se pueden hacer quiebres en las líneas haciendo click una vez.Cuando la línea está cerca de un bloque, ésta se pegará alpunto de conexión del mismo.

EtiquetaUtilice este comando para añadirle etiquetas o títulos a los

elementos del organigrama.

Out / If / Delay / Sub / OtherHaga click en estos botones para ir al submenú de estos co-

mandos y seleccionar el comando deseado.

Dibujando Organigramas

Para dibujar un organigrama haga click en uno de los bo-tones de menúes de comandos (Salida/Si/ Retardo/Sub/Otro)de la barra de herramientas para ir al submenú de comandosrequerido. Seleccione el comando deseado y luego haga clicken la pantalla, en el lugar donde desea situar al comando. Notrate de colocar el bloque exactamente en posición en primerainstancia – póngalo en la pantalla en las cercanías del área

donde desea ubicarlo y luego use el comando Seleccionar pa-ra mover el bloque a la posición correcta.

Una vez que el bloque esté en posición, haga click en él demanera que sea resaltado. El código BASIC del objeto apare-cerá en la barra editora en la parte inferior de la pantalla. Edi-te el código si lo requiere y luego presione el botón de tic pa-ra salvar los cambios. Para información adicional acerca decada comando vea los archivos de ayuda “Comandos BA-SIC”. Note que algunos comandos únicos (por ejemplo servopara el PICAXE28) sólo aparecerán cuando el software esté enel modo apropiado (menú Ver -> Opciones).

Uniendo Bloques

Para unir bloques, debe acercarlos uno al otro hasta quese junten. Alternativamente, se pueden dibujar líneas entre losmismos usando el comando línea en la barra de herramientas.Note que sólo es posible unir la parte inferior de un bloque úni-camente con la parte superior de otro. Además, sólo se permi-te sacar una línea de la parte inferior de conexión de cada blo-que. Para hacer diagramas ordenados, se pueden agregarquiebres a las líneas haciendo click en las mismas. Cuando unalínea es movida cerca de un punto de conexión, la misma sepegará a éste; para terminar la línea, haga click una vez másy la misma quedará en posición.

Las líneas no pueden ser movidas. Si trata de mover una lí-nea la misma será borrada y tendrá que crear una nueva línea.

Simulación de Pantalla

Para simular el organigrama, haga click en “Simular” en elmenú Organigrama. El programa comenzará a ejecutarse enpantalla (figura 32). Mientras el programa se ejecuta, los blo-ques cuyos comandos están siendo ejecutados se irán resaltan-do en rojo. Las ventanas de “Entradas/Salidas” y “Variables”también aparecerán mientras se ejecuta la simulación. Paracambiar los valores de las entradas, haga click en el respecti-vo interruptor en pantalla o utilice la barra deslizadora de en-tradas analógicas. El tiempo de retardo entre un objeto y otropuede ser ajustado en las Opciones del Organigrama (menúVer -> Opciones -> Organigrama).

Note que algunos comandos representan acciones que nopueden ser simuladas en pantalla. En estos casos el comandoes simplemente ignorado al ejecutar el organigrama.

Convirtiendo Organigramas

Los organigramas no son descargados directamente al mi-crocontrolador. Primero el organigrama es convertido en un

Figura 32

28 CLUB SABER ELECTRONICA

programa BASIC, el cual luego es descargado. Para convertirun organigrama seleccione “Convertir” en el menú Organigra-ma y será creado el programa BASIC del organigrama.

Aquellos bloques que no estén conectados a los bloques“inicio” ó “sub” en el organigrama, serán ignorados al momen-to de hacer la conversión. La conversión se detendrá si se en-cuentra un bloque no conectado; por lo tanto, utilice siempre unbloque “detener” para terminar el diagrama antes de iniciaruna simulación o de convertir el diagrama.

Note que es posible convertir y descargar un organigramapresionando dos veces la tecla F5.

Utilizando Símbolos

Las Entradas, Salidas y Variables pueden ser renombradasutilizando la “Tabla de Símbolos” del menú Organigrama.Cuando un símbolo es renombrado, el nuevo nombre aparece-rá en los menúes desplegables en la barra editora. No debenutilizarse nombres de comandos (por ejemplo switch o sound)como símbolos, ya que esto puede generar errores en el pro-grama BASIC convertido.

Guardando e Imprimiendo Organigramas

Los organigramas pueden ser guardados, impresos y ex-portados como figuras (para ser insertados en documentos deprocesadores de palabras) utilizando el menú Archivo. Los or-

ganigramas también pueden ser copiados al portapapeles deWindows (para pegarlos luego a otras aplicaciones) medianteel menú Editar.

Sistemas de Números

Los microcontroladores operan usando un gran número decomandos en un espacio de tiempo muy corto y procesando se-

TABLA 15

main:let pins = %00111111 ‘dígito 0pause 250 ‘esperar 0,25 segundoslet pins = %00000110 ‘dígito 1pause 250 ‘esperar 0,25 segundoslet pins = %01011011 ‘dígito 2pause 250 ‘esperar 0,25 segundoslet pins = %01001111 ‘dígito 3pause 250 ‘esperar 0,25 segundoslet pins = %01100110 ‘dígito 4pause 250 ‘esperar 0,25 segundoslet pins = %01101101 ‘dígito 5pause 250 ‘esperar 0,25 segundoslet pins = %01111101 ‘dígito 6pause 250 ‘esperar 0,25 segundoslet pins = %00000111 ‘dígito 7pause 250 ‘esperar 0,25 segundoslet pins = %01111111 ‘dígito 8pause 250 ‘esperar 0,25 segundoslet pins = %01101111 ‘dígito 9pause 250 ‘esperar 0,25 segundosgoto main

TABLA 16

main: readadc 2,b1 ‘leer señal analógica de ‘canal 2 en variable b1

if b1 > 150 then show9 ‘probar variable b1 y ‘saltar al respectivo

comandoif b1 > 130 then show8if b1 > 110 then show7if b1 > 90 then show6if b1 > 70 then show5if b1 > 50 then show4if b1 > 30 then show3if b1 > 20 then show2if b1 > 10 then show1

show0:let pins = %00111111 ‘dígito 0goto main

show1:let pins = %00000110 ‘dígito 1goto main

show2:let pins = %01011011 ‘dígito 2goto main

show3:let pins = %01001111 ‘dígito 3goto main

show4:let pins = %01100110 ‘dígito 4goto main

show5:let pins = %01101101 ‘dígito 5goto main

show6:let pins = %01111101 ‘dígito 6goto main

show7:let pins = %00000111 ‘dígito 7goto main

show8:let pins = %01111111 ‘dígito 8goto main

show9:let pins = %01101111 ‘dígito 9goto main

CLUB SABER ELECTRONICA 29

ñales electrónicas. Estas señales están codificadas en sistemabinario; la señal puede ser high (1) o low (0).

El sistema numérico utilizado diariamente es el sistema de-cimal. Este sistema numérico utiliza diez dígitos (del 0 al 9) pa-ra explicar qué tan grande o pequeño es el número. Sin embar-go, al trabajar con microcontroladores muchas veces es más fá-cil trabajar en código binario, especialmente al tratar de con-trolar múltiples salidas al mismo tiempo. Un sólo dígito binarioes conocido como un “bit” (binary digit – dígito binario). El sis-tema PICAXE utiliza 8 bits (1 byte) por cada palabra de datos,teniendo al dígito menos significativo en el extremo derecho yal dígito más significativo en el extremo izquierdo. Por consi-guiente, el número binario %11001000 pone a los bits 7,6,3en high (1) y al resto en low (0). El símbolo % indica a la com-putadora que está trabajando en sistema binario y no en deci-mal.

La utilización del código binario permite controlar las ochosalidas al mismo tiempo, en vez de sólo utilizar los comandoshigh y low. El programa que vemos en la tabla 15 demuestracómo hacer que la pantalla de siete barras del tablero tutorialcuente del 0 al 9.

Cada línea “let pins =” cambia el número de barras encen-didas en la pantalla de siete segmentos. Esto es mucho más rá-pido que utilizar, muchísimas veces, los comandos high y lowpara hacer lo mismo.

Visualizando Cifras Analógicas en el Display de 7 Segmentos

El programa de la tabla 16 “lee” la cantidad de luz detec-tada por la fotorresistencia en la entrada 2 y luego visualizauna cifra asignada a dicha cantidad de luz en la pantalla desiete segmentos.

Controlando Motores Paso a Paso

Los motores paso a paso son motores de alta precisión co-múnmente utilizados en unidades de disco, impresoras, plottersy relojes de computadoras. A diferencia de los motores de CC,

Figura 34

Figura 33

TABLA 17

Paso Bobina 4 Bobina 3 Bobina 2 Bobina 1(Output 3) (Output 2) (Output 1) (Output 0)

1 1 0 1 02 1 0 0 13 0 1 0 14 0 1 1 01 1 0 1 0

Figura 35

30 CLUB SABER ELECTRONICA

los cuales giran libremente al aplicarles potencia, los motorespaso a paso requieren que su fuente de alimentación sea con-tinuamente “impulsada” en cuatro patrones diferentes. Por ca-da impulso, el motor se mueve un “paso”, típicamente 7.5° (re-quiriendo por lo tanto 48 pasos para una revolución completa),figura 33.

Los motores paso a paso tienen algunas limitaciones. Prime-ro, el consumo de potencia es mayor cuando el motor está de-tenido (debido a que todas las bobinas requieren estar energi-zadas). Segundo, la velocidad de operación está limitada aaproximadamente 100 “pasos” por segundo, lo cual equivalea 2 revoluciones por segundo ó 120 RPM.

El motor paso a paso contiene unaserie de electroimanes fijos a la armadu-ra central y cuatro bobinas ubicadas al-rededor de la carcasa del motor. Cuan-do pasa corriente eléctrica por estas bo-binas, las mismas generan un campomagnético el cual atrae o repele a loselectroimanes permanentes en la arma-dura, provocando que la armadura gireun “paso” hasta que los campos magné-ticos estén alineados.

Luego, las bobinas son energizadascon un patrón diferente para crear uncampo magnético diferente y provocarque la armadura gire otro “paso”, figura34.

Para hacer que la armadura girecontinuamente, las cuatro bobinas inter-nas del motor paso a paso deben ser en-cendidas y apagadas continuamente encierto orden. El chip controlador UL-N2003A del tablero tutorial (nuestro en-trenador) provee el método necesariopara interrelacionar a estas cuatro bobi-nas (figura 35).

El motor paso a paso debe ser co-nectado a los agujeros en el tablero tuto-rial de la siguiente manera:

Cable Negro: 2 +Cable Blanco: 3 +Cable Amarillo: 0 –Cable Rojo:1 –Cable Naranja: 2 –Cable Marrón:3 –

La tabla 17 muestra los cuatro “pa-sos” distintos requeridos para hacer gi-rar el motor. Para hacer girar al motoren dirección contraria, los pasos debenser invertidos (4-3-2-1-4-etc. en vez de 1-2-3-4-1-etc.)

Nota: La configuración del alam-brado de los motores paso a paso pue-de variar según el fabricante. Por lo tan-

TABLA 19

symbol dp = 7 ‘renombrar salida7 “dp”symbol buzzer = 6 ‘renombrar salida6 “buzzer”symbol counter = b0 ‘definir a la variable “counter” como b0

main: ‘hacer etiqueta llamada “main”gosub flash ‘ir al sub-procedimiento “flash”gosub noise ‘ir al sub-procedimiento “noise”goto main ‘ir a “main”end ‘fin del programa principal

flash ‘hacer un sub-procedimiento llamado “flash”for counter = 1 to 25 ‘iniciar un bucle for....nexthigh dp ‘encender diodo LEDpause 50 ‘esperar 0,05 segundoslow dp ‘apagar diodo LEDpause 50 ‘esperar 0,05 segundosnext counter ‘siguiente counter (b0)return ‘retornar del sub-procedimiento

noise: ‘hacer un sub-procedimiento llamado “noisehigh buzzer ‘encender timbrepause 2000 ‘esperar 2 segundoslow buzzer ‘apagar timbrereturn ‘retornar del sub-procedimiento

TABLA 18

symbol delay = b0 ‘definir variablelet delay = 100 ‘fijar el retardo (delay) en 0,1 segundos

main: let pins = %00001010 ‘primer pasopause delay ‘pausa de 0,1 segundos (valor asignado al retardo)let pins = %00001001 ‘siguiente pasopause delay ‘pausa de 0,1 seg.let pins = %00000101 ‘siguiente pasopause delay ‘pausa de 0,1 seg.let pins = %00000110 ‘siguiente pasopause delay ‘pausa de 0,1 seg.goto main ‘ir a “main (bucle perpetuo)

CLUB SABER ELECTRONICA 31

to, puede que sea necesario reorganizar las conexiones de lasbobinas para que la secuencia mostrada arriba opere correc-tamente. Un arreglo incorrecto de las bobinas puede causarque el motor vibre en una dirección y otra, en vez de girar con-tinuamente. La mayoría de los motores paso a paso están dise-

ñados para trabajar con 12V, pero generalmente pueden tra-bajar sin problemas (aunque con un torque reducido) con 6V.

El siguiente programa también puede utilizar un número bi-nario para encender y apagar todas las líneas de salida al mis-mo tiempo. La siguiente tabla muestra el número binario de sa-

lida para cada paso:

Paso Salida binaria

1 %000010102 %000010013 %000001014 %000001101 %00001010

Intente cambiarla velocidad de giroalterando el valordel retardo (delay)en el programa quevemos en la tabla18.

Figura 36

Fig. 37

32 CLUB SABER ELECTRONICA

Subrutinas

Una subrutina es un sub-procedimiento o “mini-programa”separado, el cual puede ser llamado desde el programa princi-pal. Una vez que se ejecuta la subrutina, elprograma principal continúa. Las subrutinasson frecuentemente utilizadas para separar elprograma principal en pequeñas secciones,para hacerlo más fácil de comprender las su-brutinas que realizan tareas comunes, tam-bién pueden ser copiadas de programa aprograma para ahorrar tiempo.

El programa de la tabla 19de la páginaanterior utiliza dos subrutinas para separarlas dos secciones principales del programa(“flash” y “noise”).

El programa que podemos ver en la tabla20, muestra como una variable puede ser uti-lizada para transferir información hacia unasubrutina. En este caso, la variable b2 es uti-lizada para indicar al controlador que debeejecutar la subrutina flash, primero cinco yluego quince veces.

El Circuito del Entrenador

En este capítulo hemos mencionado queprecisamos un entrenador para corroborarlos diferentes conceptos que presentamos. Di-

jimos que hay varios circuitos (de hechomencionamos tres). La empresa Revolu-tion Education ofrece cada uno de estoscircuitos en forma de kits; sin embargo,Ud. puede armar su propio entrenador.

En la figura 36 se brinda el circuitode un entrenador para que Ud. realicesus propias experiencias.

El entrenador incluye un circuito inte-grado ULN2803A para que pueda ma-nejar pequeños motores, pero no se haincluido la fotorresistencia y el displayde 7 segmentos; sin embargo, no tendráproblemas en conectarlos si sigue las ins-trucciones que se brindan en la explica-ción de cada programa. LK es un puentede conexión (un jumper o simplementeun cable).

Hemos hecho referencia al PICAXE-18 porque en otras secciones trabajare-mos con el PICAXE-08. En la figura 37 sereproduce el esquema de circuito impre-

so para que monte su propio entrenador.En la figura 38 se muestra el detalle de armado del cable

que sirve como interfaz entre el entrenador y la computadora.*****************

Fig. 38

TABLA 20

symbol dp = 7 ‘renombrar salida7 “dp”symbol counter = b0 ‘definir a la variable “counter” como b0

main: ‘hacer una etiqueta llamada “main”let b2 = 5 ‘precargar a b2 con el número 5gosub flash ‘ir al sub-procedimiento “flash”pause 500 ‘esperar 0,5 segundoslet b2 = 15 ‘precargar a b2 con el número 5gosub flash ‘ir al sub-procedimiento “flash”pause 500 ‘esperar 0,5 segundosgoto main ‘ir a “main”

end ‘fin del programa principal

flash: ‘hacer un sub-procedimiento llamado “flash”for counter = 1 to b2 ‘iniciar un bucle for....nexthigh dp ‘encender diodo LEDpause 250 ‘esperar 0,25 segundoslow dp ‘apagar diodo LEDpause 250 ‘esperar 0,25 segundosnext counter ‘siguiente counterreturn ‘retornar al sub-procedimiento

Art Tapa - ECU.qxd 4/12/12 9:11 AM Página 7

Tec Repa - vibra iPhione 4.qxd 4/12/12 9:01 AM Página 75

CLUB SABER ELECTRONICA 35

INTRODUCCIÓN

Comenzaremos con una aplicación muy sencilla, por loque en primera instancia nos dedicaremos a encender y apa-gar leds, de acuerdo al estado que guarden las terminales deentrada de datos del microcontrolador. Cabe aclarar que con-forme se avance en los temas de PICAXE podremos incorporarcontroles para motores, utilización de convertidores analógico- digital (ADC), etc. Recordemos que el sistema PICAXE está dis-ponible en tres versiones que son el de 8 terminales (PICAXE-08), 18 terminales (PICAXE-18) y 28 terminales (PICAXE-28), yen función de las terminales que tienen disponibles para la en-trada y salida de datos, serán las que ocuparemos para comu-nicar al microcontrolador con el exterior.

Para visualizar datos usamos un circuitomuy sencillo para encender leds, el cual semuestra en la figura 1. Este circuito lo podemosreproducir tantas veces como terminales de sa-lida se tengan disponibles.

El primer circuito que se recomienda paraingresar datos discretos (digitales) al microcon-trolador es un interruptor con reposición auto-mática (push-button), el cual se muestra en elcircuito de la figura 2. De igual manera que enel caso del circuito de la figura 1, se puede re-producir el circuito de la figura 2 tantas vecescomo entradas tenga disponible el microcontro-lador. Para realizar el primer ejercicio, vamosa elegir uno de los tres tipos de microcontrola-dores PICAXE que se tienen disponibles, que en

este primer ejercicio se trata del PICAXE-18; pero, posterior-mente, se realizarán ejercicios con todos los tipos de microcon-

Figura 1 Figura 2

Figura 3

36 CLUB SABER ELECTRONICA

troladores PICA-XE. El circuito pro-puesto para estaprimera experien-cia se muestra enla figura 3, en lacual se tiene 1 en-trada y 1 salida.

Para progra-mar el microcon-trolador PICAXE laprimer acción quetenemos que reali-zar es abrir el soft-ware de progra-mación llamado

“PICAXE Programming Editor” y que previamente tuvo que serinstalado. Una vez que hacemos doble click sobre el ícono delsoftware de programación y accedemos al ambiente de progra-mación, aparece una ventana en donde se configuran las op-ciones con las cuales trabajaremos.

Como primer paso, ya que es la primera vez que utiliza-mos este software, es conveniente seleccionar el menú identifi-cado como “Language”, ya que aquí es donde se configura ellenguaje con el cual estaremos interactuando. Si desea más de-talles sobre esta parte del programa, puede bajarlo de Interneto adquirir la revista Saber Electrónica Nº 215. De internet, pue-de bajarlo desde nuestra web con la clave “progpicaxe”.

Para empezar a trabajar, debemos configuar el programa(es muy sencillo, si lo desea, baje el tema completo desde nues-tra web), seleccionando la opción “Modo” del menú para ele-gir el PICAXE que vamos a emplear en nuestro proyecto, quéfrecuencia de operación tendremos (generalmente 4MHz), etc.Luego, debemos elegir la opción “modo” del menú para indi-car en qué puerto tendremos el circuito para descargar el pro-grama. De la figura 4 observamos el ambiente de trabajo quepresenta el software de programación de los microcontrolado-res PICAXE, en el cual se aprecia un espacio en blanco que esdonde se ingresan las instrucciones en forma de “BASIC”.

¿Qué instrucciones son las que utilizaremos?Si no sabemos, no es el fin del mundo y vamos paso a pa-

so. Para comenzar utilizaremos una opción que se cuenta en

este software para programar a los microcontroladores que sonlos diagramas de flujo, por lo que como se indica en la figura4, seleccionamos de la barra de herramientas la opción “Archi-vo”, posteriormente “Nuevo” y por último “Nuevo Organigra-ma”, y lo que aparecerá será el ambiente de trabajo para in-gresar el diagrama de flujo de nuestro programa.

Para comenzar, éste va a ser nuestro campo de trabajo yaque de forma intuitiva todos sabemos hacer diagramas de flu-jo. Pues bien, antes de seleccionar los bloques que lo constitui-rán, vamos a describir cuál es el algoritmo del programa quequeremos desarrollar:

“Cuando se oprima un pulsador se encienda unled, y cuando se suelte el pulsador se apague el led”.

Existen bloques prediseñados que nos auxilian en el mane-jo del estado que guardan las terminales de entrada del micro-controlador de manera independiente, por lo que como semuestra en la figura 5 seleccionamos el recuadro que tiene in-dicado un rombo y dentro de éste la palabra “if”.

Ahora lo que tenemos que hacer es seleccionar qué condi-ción es la que utilizaremos, que para este ejercicio será la quese encuentra dentro del recuadro que tiene una figura de un rom-bo y dentro de éste la palabra “Pin” (observe la figura 6), estoes, estaremos leyendo la condición de una terminal de entradaque, por defecto cuando lo ubicamos sobre nuestra área de tra-bajo, siempre se coloca la entrada 0 (terminal 17 del microcon-trolador, figura 3). Este bloque tiene la tarea de leer el estado ló-gico de la terminal de entrada y la compara con un 1 lógico ydependiendo de si la entrada es igual o no, tiene dos posiblessalidas “Y” por si es igual a 1 lógico y “N” por si la entrada es0 lógico. Y por último, oprimimos el recuadro que tiene una fle-cha en forma de U para regresar al menú principal.

De acuerdo al algoritmo que planteamos líneas atrás, lo quetenemos que hacer es que se encienda un led cuando en la ter-minal de entrada se encuentre un 1 lógico, o que el led se apa-gue cuando en la entrada se encuentra un 0 lógico. Para esta ac-tividad recurrimos al recuadro identificado con la palabra “Out”,ya que es ahí donde se encuentran los bloques que actúan sobrelas terminales de salida del microcontrolador. Una vez en el in-terior del menú de bloques de salida, tenemos que seleccionar laacción que hará que el led se encienda o se apague, por lo queen primer instancia seleccionamos el bloque identificado con lapalabra “High”, el cual quiere decir que la salida se encenderá.

Por cierto, cuando selecciona-mos este bloque, por defecto seubica la salida 0 (terminal 6 delmicrocontrolador, figura 3), talcomo se ilustra en la figura 7.

Ya se tiene entonces el blo-que que encenderá el led, porlo que ahora requerimos la ac-ción correspondiente con suapagado, y ésta corresponde

Figura 4

Figura 5

Figura 6

Figura 7

CLUB SABER ELECTRONICA 37

al recuadro identificado con la palabra “Low”, que es precisa-mente el bloque que realizará la tarea de apagar el led, y tam-bién por defecto, al seleccionarlo por primera vez, se ubica enla salida 0.

Una vez que ya tenemos los bloques que necesitamos pa-ra ingresarle o sacarle datos al microcontrolador PICAXE, pro-cedemos ahora a unir los bloques para que realicen el algorit-mo que fue planteado líneas atrás. Para ello existe una herra-mienta que se encuentra en un recuadro identificado con unalínea vertical que en sus extremos tiene un “*”.

Cuando seleccionamos esta herramienta y acercamos elpuntero del ratón sobre alguno de los bloques que ya se en-cuentran en el área de trabajo, se les aparece un círculo de co-lor rojo en aquel punto que requiere una conexión, tal como seilustra en la figura 8. Ya seleccionado el punto de conexión, tra-zamos la línea hasta el siguiente punto de conexión de un blo-que para realizar la unión lógica del flujo de datos. Cabe acla-rar que para cada unión que se necesite realizar, se tiene quevolver a seleccionar la herramienta de conexión. En la figura 9podemos apreciar la conexión completa de todos los bloques.Si ya terminamos de diseñar nuestro diagrama de flujo y antesde programar el microcontrolador, es importante saber si elprograma va a funcionar, porque recuerden que no es lo mis-mo “desear” que el microcontrolador haga lo que según noso-tros programamos, que lo que realmente hace en función delprograma que ingresamos. Existe en el software de los PICAXEla posibilidad de simular el programa, y eso es lo que vamos ahacer, por lo que seleccionamos el recuadro que tiene el sím-bolo de una punta de flecha tal como se ilustra en la figura 9,lo seleccionamos y enseguida aparecerán 2 ventanas. Una deellas indica el estado lógico que guardan las salidas y entradasdel microcontrolador; esta ventana aparece en la parte inferiorde la imagen de la figura 10.

Los recuadros verdes que se iluminan indican qué salidasestán siendo activas con un 1 lógico, mientras que los que apa-recen debajo de los cuadros verdes, indican la posición de lasseñales de entrada al microcontrolador, los cuales cuando seencuentran en la posición inferior significa que la entrada seencuentra en 0 lógico, y si están en la posición superior la en-trada se encuentra en 1 lógico. Por otra parte también se ob-serva que, dependiendo de dónde se encuentre la posición delswitch, se iluminará en color rojo la línea que une los diferen-tes bloques que son afectados por la respuesta del estado lógi-co de entrada, y de esta manera podemos visualizar qué es loque está sucediendo con nuestro programa.

Una vez que simulamos nuestro programa y observamosque las condiciones del algoritmo se cumplen (encender un ledcuando se tiene un 1 lógico en la entrada y apagar el led cuan-do se tiene un 0 lógico en la misma entrada), ya estamos listospara dar el siguiente paso, que es convertir el diagrama de flu-jo a instrucciones de BASIC, para lo cual en la barra de herra-mientas seleccionamos el menú identificado como “Organigra-

Figura 8

Figura 9

Figura 10

Figura 11

38 CLUB SABER ELECTRONICA

ma” y después la opción “Convertir el Organigrama a Basic”(de manera rápida pudimos presionar la tecla F5), tema que

Ud. puede bajar sin cargo de nuestra web (www.webelectroni-ca.com.ar).

Ahora lo que tenemos que hacer es conectar el cable, tan-to al puerto serie de la PC como a las terminales del microcon-trolador que se indican en el diagrama de la figura 3 para pro-gramar al PICAXE. Anteriormente propusimos la manera en có-mo se debe construir el cable de programación, tomando encuenta las terminales que se deben ocupar.

Para grabarle el programa al microcontrolador debemosdirigir la flecha del ratón a la barra de herramientas y seleccio-nar el menú “PICAXE”, después la instrucción “Ejecutar” (o demanera rápida F5), tal como se muestra en la figura 11. En esemismo instante aparecerá una ventana indicando que se estállevando a cabo la programación del microcontrolador PICA-

XE. Cuando se encuentra en la fase de pro-gramación, una barra que irá creciendo nosdirá la cantidad de código que está siendodescargado hacia el microcontrolador.

Cuando se termina de grabar el micro-controlador aparecerá una ventana que nosindica la finalización del proceso de progra-mación, figura 12.

Ahora podemos verificar en el microcon-trolador que el programa que diseñamos se

Figura 12

Figura 14

Figura 13

CLUB SABER ELECTRONICA 39

encuentra perfectamente bien, porlo que tenemos que oprimir el pul-sador y esta acción debe encen-der el led, y cuando lo soltemos, elled se deberá apagar. Cualquierotro funcionamiento nos quiere de-cir que debemos revisar nuestroprograma y tenemos que regresar-nos hasta la etapa en donde dise-ñamos el diagrama de flujo, yaque algo se encuentra mal.

KIT ENTRENADOR PARA PICAXE 08

En esta oportunidad diseñaremos nuestra primera tarjeta de en-trenamiento universal para programar microcontroladores PI-CAXE, y como en todo comienzo, daremos inicio por lo mássencillo y más pequeño, esto es, los microcontroladores de 8terminales denominados PICAXE – 08.

En primera instancia recordemos cuál es la configuraciónde un PICAXE–08, para en función de ello, tomar en cuenta decuántas entradas y cuántas salidas podemos echar mano yaprovecharlas al máximo (figura 13).

Tenemos la oportunidad de disponer de un total de 4 E/S(4 entradas y 4 salidas), pero no nos confundamos, si sumamosel número de salidas con el número de entradas tendremos untotal de 8 y el PICAXE–08 que manejaremos tiene solamente 8terminales.

¿Esto quiere decir que las terminales de salida y de entra-da ocupan todas las que posee?

La respuesta es “no”, ya que en esas 8 terminales debenestar las 4 entradas, las 4 salidas además de las 2 terminalesde alimentación y 2 para programarlo. Específicamente paralos PICAXE–08 las terminales 3, 5, 6 y 7 cumplen con una do-ble función, por lo que debemos tener cuidado cuando los pro-gramemos, porque, por ejemplo, la terminal 3 puede compor-tarse como una terminal de entrada o una terminal de salida,todo depende de cómo la contemplemos cuando realicemos elprograma del PICAXE–08.

La tarjeta entrenadora que proponemos tiene la posibilidadde explotar al máximo las propiedades del PICAXE–08, y serápor medio de jumpers como se podrá configurar la circuitería,tanto para programar como para fijar entradas o salidas de da-tos. En la figura 14 se muestra el circuito esquemático de la tar-jeta entrenadora completa.

A continuación describiremos cada parte de esta tarjeta en-trenadora para que podamos sacarle el máximo provecho.

En primer término identificaremos la ubicación de dóndeinstalar el microcontrolador PICAXE–08; éste debe encontrarseen la base identificada como IC1 respetando la identificación

de las terminales (figura 15). Los conectores identificados comoES1, ES2 y ES4 tienen 3 terminales, de las cuales, la del mediode cada uno de ellos se hace llegar hacia la correspondienteterminal del microcontrolador PICAXE. Con rerspecto a las 2terminales restantes de cada conector (ES1, ES2 y ES4), una vahacia el bloque destinado para conectar las entradas de datos,y la segunda se dirige hacia el bloque de terminales de salidade datos. Pues bien, para seleccionar si la terminal del micro-controlador será configurada como salida o entrada, será a tra-vés de un jumper que, dependiendo de cómo 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 termi-nales de salida, y de esta forma quedará configurada la circui-tería del microcontrolador PICAXE para que esté listo a recibirel programa con el cual trabajará el microcontrolador.

El conector identificado como PROG/SAL0 posee 3 termi-nales, de las cuales la del medio se hace llegar a la terminal 7del microcontrolador PICAXE. Esta terminal cumple con la do-ble función tanto de programar al microcontrolador, como la defuncionar como terminal de salida de datos si así se requiere;esta selección se lleva a cabo mediante la conexión de un jum-per hacia la ubicación que se requiera.

Cuando se va aprogramar un micro-controlador PICA-XE–08, es necesarioque el jumper estéubicado hacia la po-sición “Prog” en el co-nector PROG/SAL0,porque de otra mane-ra la programaciónserá imposible, yaque no se tendrá co-municación entre laPC y el microcontrola-dor.

Cuando el jumperFigura 17

Figura 16

Figura 15

40 CLUB SABER ELECTRONICA

se encuentra ubicado hacia la posición “Sal0” en el mismo co-nector PROG/SAL0, se tendrá configurada la terminal del mi-crocontrolador como salida. La disposición de componentes so-bre la placa se muestra en la figura 16.

Por lo descrito líneas atrás se deduce que el procedimientopara ubicar el jumper del conector PROG/SAL0 será de acuer-do a lo siguiente:

1º paso.- Ubicar el jumper hacia la posición “Prog” en elconector PROG/SAL0 para programar al microcontrolador PI-CAXE–08.

2º paso.- Cambiar el jumper hacia la posición Sal0 en elconector PROG/SAL0 si se va a utilizar esa terminal del micro-controlador PICAXE–08 como salida.

En el conector identificado como “Entradas” se tiene la po-sibilidad de hacerle llegar al microcontrolador PICAXE–08 elestado lógico de 4 diferentes entradas digitales, las cuales pue-den ser insertadas mediante circuitos externos o bien utilizarcualquiera de los 2 circuitos con pulsador que se tienen en elárea de experimentos. Estos circuitos se muestran en la figura17 y lo único que se tiene que hacer es conectar el borne co-rrespondiente, ya sea E1 ó E2, a cualquiera de las terminales

de entrada, que sonEnt1 ó Ent2 ó Ent3 óEnt4 del conector“Entradas”.

En el conectoridentificado como“Salidas” se encuen-tra el reflejo de las 4salidas digitalesque posee el micro-controlador PICA-XE–08, las cualespueden hacerse lle-gar a circuitos exter-nos en donde se re-fleje la actividad delmicrocontrolador, opueden ser utiliza-

das los 2 circuitos con leds que se encuentran en el área de ex-perimentos; estos circuitos se muestran en la figura 18. Para uti-lizar estos circuitos lo que tiene que hacerse es conectar el bor-ne correspondiente, ya sea S1 o S2, a cualquiera de las termi-nales de salida, que son Sal0 ó Sal1 ó Sal2 ó Sal3 del conec-tor “Salidas”.

El espacio identificado como PROGRA se encuentra ocupa-do por un conector de audio estéreo tipo mini Jack, el cual pue-de tener formas diferentes. El conector de audio estéreo tan só-lo tiene 3 terminales, las cuales serán utilizadas para comuni-car al microcontrolador con una PC a través del puerto serie.En la figura 19, como ya lo vimos anteriormente, se muestra eldiagrama de cómo se deben identificar las terminales tanto enla tarjeta de entrenamiento como en el conector DB9 que se co-necta al puerto serie de una PC.

Las terminales del conector de audio realizarán las siguien-tes actividades:

La línea identificada con el número 1 sirve para verificarque el microcontrolador PICAXE se encuentra conectado alpuerto serie de la PC.

La línea identificada con el número 2 sirve para programaral microcontrolador PICAXE.

La línea identificada con el número 3 es la referencia GNDo también conocida como tierra eléctrica.

Por último, la tarjeta entrenadora tiene incorporado un re-gulador de voltaje identificado como IC2 que posee el códigoLM7805, y cuya misión es la de mantener un voltaje de 5V pa-ra energizar al microcontrolador PICAXE y toda su circuitería;por lo tanto, podemos energizar nuestra tarjeta de entrenamien-to con una pila de 9 VCD.

La lista de componentes se muestra a continuación.

Lista de componentes para armar la tarjeta controladoraIC1 ................Base de 8 terminalesIC2..................................LM7805D1, D..........................Leds VerdesD3...................................Led RojoS1, S2.......Interruptores Push buttonFigura 18

Figura 19

CLUB SABER ELECTRONICA 41

R1, R3, R4.............10kΩ 1/4 WattR2 ........................22kΩ 1/4 WattR5, R6, R7 ...........390Ω 1/4 Watt

Varios: Conector mini jack de audio, conector mi-

ni plug de audio, alambres de conexión, bro-che para pila de 9 VCD y circuito impreso.

Aprendiendo a Programarla Tarjeta Entrenadora 08

En esta oportunidad, emplearemos la tarjetaentrenadora para implementar en ella la fun-ción lógica “Y” (AND). El motivo de progra-mar al PICAXE con esta función lógica es unpretexto para que se tenga en cuenta que sipodemos utilizar las funciones lógicas, enton-ces podemos darle cualquier aplicación anuestra tarjeta, esto es, en otras palabras po-demos desarrollar, por ejemplo, lo que se conoce con el nom-bre de unidad central de proceso de un PLC.

Para cada una de las funciones lógicas necesitamos la uti-lización de 2 entradas, por lo que en total requeriríamos de 4,pero recordemos que el microcontrolador PICAXE – 08 es tansólo de 8 terminales; por lo tanto, se tiene la limitante de quela mayoría de las entradas y salidas están compartidas. En con-secuencia tan sólo utilizaremos 2 entradas para implementarlas 2 funciones lógicas.

En el diagrama de la figura 20, se observa la manera enque están asignadas tanto las terminales de entrada como lasde salida; por otra parte también tomemos en cuenta que la tar-jeta entrenadora posee 2 pulsadores para generar los estadoslógicos con los cuales trabajará el PICAXE, y también cuentacon 2 leds para mostrar el estado de las sali-das.

El ejercicio que desarrollaremos será el si-guiente. Los pulsadores denominados S1 y S2generan las combinaciones con las cuales seencenderá el led D1 para la función lógica“Y”, de acuerdo a la tabla lógica siguiente:

S1 S2 Función “Y”0 0 00 1 01 0 01 1 1

Ahora hacemos referencia al diagrama deidentificación de los componentes de la figura21 para observar que las terminales que están

asignadas a la entrada son las denominadas como E3 y E4. Es-tas entradas se configuran empleando el jumper ES4 hacia laposición E4, mientras que la entrada E3 no tiene que configu-rarse ya que está directamente conectada al borne de entra-das. En cuanto a las salidas, emplearemos la que está identifi-cada como S1. La salida S0 se configuran empleando el jum-per PROG/SAL0 en la posición de Sal0; esto es porque la ter-minal 7 del microcontrolador PICAXE – 08 se comparte tantocon la salida 0 como con una terminal de programación del PI-CAXE. La salida S1 requiere que el jumper ES1 se coloque enla posición Sal1. La forma en cómo se deben colocar los jum-pers también se ilustra en la figura 21, que es una imagen dela tarjeta entrenadora.

Una vez que hemos configurado la parte electrónica de la

Figura 10 - Diagrama esquemático de la tarjeta entrenadora.

Figura 21 - Identificación de componentes y colocación de jumper.

42 CLUB SABER ELECTRONICA

tarjeta entrenadora, pasamos a elaborar el programa paracontrolar la tarjeta.

Como lo hemos mencionado antes, es necesario abrir elícono cuyo nombre es “PICAXE Programming Editor”, el cualobviamente tuvieron que instalar con antelación, pero si uste-des aún no poseen el programa, lo pueden descargar de nues-tra página de internet: www.webelectronica.com.ar.

Después de la ventana de bienvenida nos aparecerá laventana que se muestra en la figura 22, que es en donde seconfiguran las opciones y por lo tanto el tipo de microcontrola-dor que emplearemos. En esta oportunidad estaremos utilizan-do un microcontrolador PICAXE – 08, por lo que seleccionamosesa opción. Si la ventana de opciones no aparece al abrir elprograma, nosotros podemos abrirla desde el menú Ver y des-pués con el comando Opciones.

Hasta este momento no hemos realizado programa algunocon el Basic, que es una forma de programar a los PICAXE,porque en el desarrollo de esta serie vamos a comenzar apren-diendo a programar a los microcontroladores del sistema PICA-XE. Por esta situación, nuevamente recurriremos a programar almicrocontrolador a través de diagramas de flujo, por lo queoprimimos el botón de acceso rápido para abrir el ambiente detrabajo en diagramas de flujo, tal como se muestra en la figu-ra 23.

Dentro del entorno gráfico para generar el diagrama deflujo seleccionaremos, del menú de comandos, el correspon-diente al que pregunta por el estado de las entradas, tal comose ilustra en la figura 24.

Posteriormente, tal como se muestra en la figura 25, se pue-den seleccionar los bloques que preguntan por el estado de lasentradas. Todo depende de nuestro diagrama, serán los blo-ques que dentro del rombo tienen la palabra “pin”. Por defec-to, siempre pregunta por el pin 1, por lo que debemos editarlos bloques que sean necesarios para preguntar por la terminal

Figura 24

Figura 25

Figura 23

Figura 22

Figura 26

Figura 27

CLUB SABER ELECTRONICA 43

que corresponde a la entrada E3 y E4. Para ello nos basamos,tal como muestra la figura 26, en seleccionar el bloque que nosinterese y después seleccionar la entrada correspondiente. Unavez que el primer bloque tenga asignada la entrada E3 y losdos inferiores la entrada E4, ahora procedemos a seleccionarel menú de los bloques que manipulan las salidas; por lo tanto,oprimimos sobre el cuadro que tiene una flecha en forma de Upara regresar al menú principal. Estando en el menú principal,seleccionamos el que hace referencia al control de las salidas,de acuerdo a como se aprecia en la figura 27.

Dependiendo de cuál sea la función lógica que implemen-temos será la activación de las salidas que usaremos, ya seaun “0” lógico o un “1” lógico; por lo tanto, seleccionaremos elcuadro con la palabra low o high, respectivamente, tal comose aprecia en la figura 28.

Como en el caso de las entradas, cuando elegimos una sa-lida, por defecto se coloca la salida 0; por lo tanto, tenemos queevaluar qué salida es la que emplearemos para colocar la quenos interesa, y tal como se ilustra en la figura 29, seleccionamosla salida 1 porque la función lógica que implementaremos es ladenominada “Y” (AND). Como ya habíamos designado que se-ría a través del led D1 de la tarjeta entrenadora donde se visua-lizaría su respuesta, es el motivo de la selección ya que el ledD1 está conectado a la salida 1 del microcontrolador.

Ya que tenemos todos los bloques correspondientes a la im-plementación de la función lógica, ahora pasaremos a conec-tarlos para que se obtenga el resultado de la tabla de verdadde la función lógica “Y”.

Tenemos que regresar una vez más al menú principal pararealizar la unión de los diferentes bloques, en función de la ló-gica de operación que hemos desarrollado. Para esta acción,elegimos la herramienta de conexión tantas veces como blo-ques se tengan que unir, tal como se muestra en la figura 30.

Cuando se realiza la actividad de unir los diferentes blo-ques, se ilumina en color rojo un círculo que se hace presenteen el punto de conexión del bloque cuando acercamos el pun-tero del ratón, y ahí hacemos click con el botón izquierdo pa-ra fijar la línea de conexión, y la arrastramos hasta el siguien-te punto de conexión del bloque con el que uniremos el ante-rior, y así continuamos hasta unir todos los bloques que tenga-mos, tal como se aprecia en la figura 31.

El paso siguiente, para verificar que realmente funcionanuestro programa, es simularlo, por lo que seleccionamos la he-rramienta de simulación tal como nos lo indica la figura 31, ycuando la oprimimos, aparecerán dos ventanas: en una obser-varemos las variables, y en la otra, que es la que nos interesaen este momento, se observará cómo se comportan las salidasen función de las entradas.

En la figura 32 se muestra que cuando ésta activa la fun-ción de simulación, las líneas que unen los distintos bloques seiluminan en color rojo indicando el camino por donde se cum-plen las condiciones lógicas, facilitando de esta manera la ob-

Figura 28

Figura 30

Figura 31

Figura 29

44 CLUB SABER ELECTRONICA

servación de cómo se va generando la respuesta que finalmen-te será visualizada a través de una salida. Y para comprobarque en la salida se tiene como resultante la función lógica“Y”, se tienen que realizar las distintas combinaciones de “0”lógico y “1” lógico en las terminales de entrada, a través delos interruptores que se visualizan en la ventana inferior de lafigura 32.

Una vez que hemos superado la etapa de la simulación,

nuestro siguiente paso es la programación del PICAXE a travésde la tarjeta entrenadora, por lo que conectamos el cable alpuerto serie de la PC y el otro extremo al conector minijack dela tarjeta entrenadora anterormentes se explicó cómo se debearmar el cable de programación, colocar también el jumper delconector PROG/SAL0 en la posición de Prog para que sea des-cargado el código al PICAXE.

El paso siguiente es detener la simulación e ir al menú deherramientas organigrama y seleccionar el mando convertir or-ganigrama a Basic. Como resultado, el diagrama de flujo seráconvertido a Basic y el resumen de estas acciones se observaen las figuras 33 y 34.

De la figura 34 se observa que para descargar el progra-ma en el microcontrolador PICAXE a través de la tarjeta entre-nadora, se oprime el botón que se refiere a la herramienta deprogramación, y como consecuencia se despliega una ventanaque nos va indicando el avance de la programación, tal comose ilustra en la figura 35.

Una vez programado el PICAXE, lo que sigue es probar elprograma sobre la tarjeta entrenadora, por lo que presionare-mos los pulsadores de acuerdo a la tabla de verdad correspon-diente, por lo que si el led no enciende con respecto a la res-puesta de la tabla de verdad de la función lógica “Y”, algo an-da mal y tenemos que pasar a revisar desde el circuito de latarjeta entrenadora hasta revisar nuevamente el programa y lafase de grabación en el microcontrolador.

LISTA DE COMPONENTES PARA REALIZAR EL EJERCICIO.Tarjeta entrenadora del PICAXE – 08 y su cable de progra-

mación.

Juego de Luces Tipo “Auto Fantástico”(Empleando la Tarjeta Entrenadora)

Vamos a implementar, a través de una tar-jeta entrenadora, un juego de luces que fun-cione de la misma manera que lo hacían lasluces del auto fantástico. Está claro que parael microcontrolador PICAXE – 08 que posee latarjeta entrenadora, sólo se tiene posibilidadde contar con 4 salidas a las cuales les pode-mos colocar leds para visualizar el efecto delas luces.

Cabe señalar que si usted desea bajar losarchivos para ejecutar el programa, puedeobtenerlos gratuitamente de nuestra web enwww.webelectronica.com.ar, digitando la cla-ve “kit”.

En la figura 36 se muestra el diagrama es-

Figura 33

Figura 34

Figura 35

Figura 32

CLUB SABER ELECTRONICA 45

quemático de la tarjeta entrenadora, dela cual emplearemos únicamente el bor-ne de salidas, por lo que en los bornesidentificados como ES1, ES2 y ES4 secolocará el jumper correspondiente, detal forma que se seleccionen las salidas.

Nota: La tarjeta entrenadora, su im-plementación, armado y programaciónse publicó en el tomo Nº 7 de la colec-ción “Club Saber Electrónica”. Ud. pue-de bajar el artículo completo de la webcon la clave dada más arriba.

Siguiendo con nuestro montaje, enel borne identificado como PROG-/SAL0, una vez que se descargue el pro-grama sobre el PICAXE, debe colocarseel jumper en la posición correspondien-te a la salida 0 (Sal0). Una vez predis-puesta la tarjeta entrenadora tal comose muestra en la figura 37, pasamos adesarrollar el programa.

Recordemos que lo primero que te-nemos que hacer es abrir el programa“PICAXE Programming Editor”, tal como se ilustra en la figura38. Una vez dentro del ambiente de programación del PICA-XE, seleccionamos la opción de trabajar con diagramas deflujo, por lo menos hasta que adquiramos la experiencia ne-cesaria para desarrollar nuestros programas directamente ba-jo BASIC.

Se ha explicado, minuciosamente, lo que significan los íco-nos que aparecen cuando trabajamos con diagramas de flujo,por lo que ahora avanzaremos un poco más rápido en la cons-trucción de nuestro programa. Ya dentro del ambiente de pro-

gramación, lo primero que tenemos que hacer es inicializar lassalidas que utilizaremos, que por disposición del PICAXE – 08se tienen dispuestas las salidas 0, 1, 2 y 4. Para no afectar eldesempeño de nuestra aplicación, la inicialización de las sali-das las realizamos por medio del comando “low” tal como seilustra en la figura 39, una para cada una de las salidas; si nocolocáramos estos comandos, simplemente las salidas no se ac-tivarán. Posteriormente colocamos líneas de conexión para unirlos comandos de activación en estado bajo de las 4 salidas se-leccionadas. Ahora se colocan los comandos para generar elefecto de luces del auto increíble, para lo cual nos basamos enun algoritmo muy simple y que a continuación explicamos:

Encendemos el led colocado en la salida 0 y mantenemos

Figura 36

Figura 38Figura 37

46 CLUB SABER ELECTRONICA

este estado durante 1 segundo para que sea perfectamente vi-sible, posteriormente encendemos el led colocado en la salida1 e inmediatamente apagamos el led de la salida 0; una vezrealizado esto, fijamos esta condición durante 1 segundo. Engeneral, vamos encendiendo el led siguiente y al mismo tiempoapagando el anterior y manteniendo el estado durante algúntiempo, y así sucesivamente hasta llegar al último led. Posterior-mente hacemos que se invierta el encendido y apagado de losleds, causando con esto el efecto luminoso de las luces del au-to increíble.

De la figura 40 se puede observar el diagrama de flujoque se emplea para controlar el juego de luces, y a través delos bloques “low” apagamos las salidas (las colocamos en “0”lógico), y con los bloques “high” encendemos las salidas (lascolocamos en “1” lógico). Pues bien, hasta aquí hemos mane-jado bloques que con anterioridad habíamos utilizado y que nocausan problemas al momento de seguir la ejecución del pro-grama, pero ahora aparecen 2 nuevos bloques que están iden-

tificados como “wait” y como “pause”, los cuales describiremosa continuación.

El bloque wait se emplea para generar una base de tiem-po durante la cual el microcontrolador PICAXE estará ocupadosin realizar ninguna otra actividad, tan sólo se dedica a conta-bilizar el tiempo que va transcurriendo hasta que llegue al con-teo máximo que le hemos fijado. Esta actividad es muy útil, so-bre todo cuando se requiere el empleo de un temporizador, ode un delay. La característica que tiene el bloque wait es queel conteo lo realiza de una forma ya establecida y está en se-gundos, los cuales pueden tener valor desde 1 hasta 255 se-gundos.

En este caso estamos empleando el bloque wait para gene-rar una temporización, de manera que los datos que son envia-dos a las salidas del PICAXE se mantengan durante 1 segundo.Si omitimos la colocación del bloque wait, provocaríamos quecon la simple operación del microcontrolador, que es muy rápi-da, tan sólo observemos un destello en los leds pero no vería-mos cuál se enciende y cuál se apaga con detalle. El númeroque tiene por delante el comando wait es el número de segun-dos que dura la temporización.

El segundo bloque que observamos en el diagrama de flu-jo de la figura 41, y que no conocíamos, está identificado co-mo “pause”.

El bloque “pause” trabaja de la misma manera que lo ha-ce el bloque wait, y substantivamente se emplean para lo mis-mo, pero la principal diferencia radica en los tiempos destina-dos a la temporización de cada uno de los bloques. Para el blo-

que wait la temporización se en-cuentra en segundos, mientrasque para el bloque pause la tem-porización se contabiliza en mili-segundos. Por lo tanto, como semuestra en la figura 40, si coloca-mos el bloque “wait 1” equivale aun tiempo de 1 segundo, y si em-pleamos el bloque “pause 1000”equivale a un tiempo de 1000 mi-lisegundos, o sea también 1 se-gundo.

Después de que hemos colo-cado tanto los bloques como lasuniones entre éstos, procedemos asimular nuestro diagrama de flujocomo se ilustra en la figura 41.

Como paso siguiente a la si-mulación, procedemos a convertirnuestro diagrama de flujo en códi-go BASIC, por lo que recurrimosal menú Organigrama y dentro deéste al comando “Convertir Orga-nigrama en BASIC”, por lo que

Figura 39

Figura 40 - Diagrama a bloques completo.

CLUB SABER ELECTRONICA 47

vamos a generar un código como el ilustra-do en la figura 42.

Por último, tenemos que programar al mi-crocontrolador PICAXE, por lo que estandoen el ambiente de código BASIC nos dirigi-mos al menú PICAXE y después al comando“Ejecutar”. En ese mismo instante se abre unaventana que nos indica el progreso de la pro-gramación del PICAXE (figura 43), y una vezque éste termina de programarse, nos mues-tra una ventana pequeña en donde nos comu-nica que se programó perfectamente; en ca-so contrario, también nos reporta las posiblescausantes del fallo. Como lo hemos mencio-nado en anteriores entregas, es necesarioabrir el ícono cuyo nombre es “PICAXE Pro-gramming Editor”, el cual obviamente tuvie-ron que instalar con antelación, pero si uste-des aún no poseen el programa lo puedendescargar de nuestra página de internet:www.webelectronica.com.ar. A lo largo deesta obra iremos desarrollando ejemplos deprogramación, en los cuales aplicaremos los bloques de los dia-gramas de flujo vistos hasta ahora, y la meta es llegar a realizarprogramas con mayor grado de complejidad, para lo cual se tie-ne contemplado mostrar proyectos con aplicaciones reales.

Lista de Materiales

Tarjeta entrenadora del PICAXE – 08 (el diagrama y des-cripción de ésta se vió anteriormente), su cable de programa-ción,

4 Leds 4 Resistores de 390Ω

Alarma para Puertas y Ventanas Empleando la Tarjeta Entrenadora PICAXE 08

Para continuar con la utilización de nuestra tarjeta entrena-dora tal como un módulo de uso general, nuevamente hacemosreferencia a ella y por lo tanto volvemos a colocar su diagra-ma esquemático se ilustra en la figura 44. De la tarjeta entre-nadora sabemos que se cuenta con un total de 4 Entradas/Sa-lidas, las cuales las tenemos que distribuir adecuadamente en-tre el sensor, el habilitador de la alarma, la salida a un buzzer(zumbador) y a un contacto que nos representará una señal re-mota. De acuerdo a lo anterior necesitamos de, por lo menos,

Figura 41 - Simulación.

Figura 42 - Código en BASIC.

48 CLUB SABER ELECTRONICA

2 entradas y 2 salidas, pero recuer-den que en el PICAXE–08 algunasterminales son compartidas y cum-plen con una doble función; dichoen otras palabras, tanto se puedenconfigurar como terminales de sali-da o como de entrada de datos,pero una vez configuradas, traba-jará así el PICAXE todo el tiempo.

En la figura 45 se ilustra la pro-puesta de cómo se asignarán lasterminales de entrada y salida dedatos, en las cuales se sugiere quepara proteger a las puertas y ven-tanas de un hogar se utilicen senso-res magnéticos llamados reed swit-ches, en los cuales, cuando se lesacerca un imán, su contacto se cie-rra, provocando la generación delos estados lógicos que vemos en latabla 1.

La disposición de los sensoresmagnéticos, tal como se ilustra enel diagrama esquemático de la fi-gura 45, están conectados de talforma que se cumplan las condicio-nes de la tabla 1, y estos estados lógicos se hacen llegar a laterminal de entrada del PICAXE (Ent3) destinada a detectar siuna puerta o ventana fue abierta sin autorización, por lo quetenemos que seleccionar qué puerta o ventana de nuestra ca-sa tendremos que proteger, colocando el sensor magnético enel marco de la puerta o ventana mientras que el imán lo fijare-mos sobre la puerta o ventana.

De acuerdo a lo que se observa de la figura 45, las termi-nales destinadas a las entradas de datos serán las denomina-

das Ent3 y Ent4, mientras que las terminales designadas paralas salidas serán las marcadas como Sal0 y Sal1.

Una vez que se han destinado las entradas y salidas queserán empleadas, ahora procederemos a explicar el diseño delprograma con el cual se gobernará el microcontrolador PICA-XE, para lo cual partiremos del hecho de que ya tenemos insta-lado el programa llamado “PICAXE Programming Editor”, y siaún no lo tienen pueden descargarlo de nuestra página www-.webelectronica.com.ar con la clave “picaxe”, o directamentede la página www.picaxe.co.uk

En la figura 46 observamos la ventana de bienvenida al“PICAXE Programming Editor”.

Consideramos que aún no tenemos la experiencia necesa-ria para comenzar a programar un PICAXE por medio del len-guaje BASIC, por lo que una vez más seleccionamos la opciónde trabajar con diagramas de flujo, por lo menos hasta quecontemos con la experiencia necesaria para desarrollar nues-tros programas directamente bajo ambiente BASIC.

Debido a que ya hemos explicado paso a paso cómo tra-bajar con diagramas de flujo, ya no expondremos lo que signi-fican los íconos que aparecen cuando trabajamos con estos

diagramas, por lo que sólo nos abocaremos adesarrollar el programa con el cual operaránuestro programa.

Para comenzar con el programa, primeroserán definidas las terminales de entrada a

Figura 43 - Ventana que muestra el avance de la programación.

TABLA 1 COMPORTAMIENTO DEL SENSOR MAGNETICOPresencia del imán Contacto del Reed Switch Estado lógicoSi Cerrado 1No Abierto 0

Figura 44

CLUB SABER ELECTRONICA 49

través de las cuales se estará habilitando laalarma Ent4 (pin4) y lectura del sensor Ent3(pin3). De acuerdo a la manera de cómo pre-tendemos que sea la operación de nuestraalarma, ésta comenzará a funcionar a partirde que la habilitemos por medio del pin4, es-to es, que en esta terminal esté presente un“1” lógico, y mientras esta condición no estépresente, la alarma nunca indicará si unapuerta o ventana fue abierta sin autorización,por lo que podemos considerar que la alarmaestá desactivada para que contemos con laposibilidad de abrir cualquier puerta o venta-na.

Después de que la alarma fue activada, elpaso siguiente es el revisar que ninguna puerta o ventana seaabierta sin autorización, por lo que a través del pin3 se debeleer un “1” lógico para que se cumpla dicha condición.

La figura 47 muestra la activación de la alarma y lecturadel sensor. De acuerdo con la figura 47, los primeros bloquesque deben colocarse corresponden a los que realizan la revi-sión de los estados lógicos que guardan tanto el switch que ac-tiva ó deshabilita la alarma, como con el que corresponde conla lectura del estado en que se encuentra el sensor magnético.El primer bloque tiene la tarea de preguntar si la alarma ya fueactivada, por lo que se comparará el estado lógico de la termi-nal de entrada 4 con un “1” lógico. Si la alarma aún no ha si-do activada, no tiene caso seguir con el desarrollo del progra-ma, por lo que constantemente se estará revisando el estado ló-gico de la terminal de entrada 4 hasta que la alarma sea acti-vada, esto es, sea colocado en “1” lógico el estado de la ter-

minal 4. Si la alar-ma ya fue activa-da el paso siguien-te será leer el esta-do lógico del sen-sor magnético, porlo que siempre es-taremos compa-rando el estado ló-gico de la terminalde entrada 3 conel estado lógico“0”. Recordemosque el estado lógi-co “0” en el sensormagnético signifi-

Figura 45

Figura 46

Figura 47

50 CLUB SABER ELECTRONICA

ca que alguna puerta o ventana fue abierta y si esto sucediósin autorización, por medio del comando “high” estaremos en-viando, a través de la terminal de salida 1, una señal a la bo-bina de un relevador para que sea generada una señal de alar-ma remota.

En la figura 48 se ilustran los bloques correspondientes alestablecimiento de una señal audible para avisar del evento deapertura de una puerta o ventana sin autorización.

En el desarrollo de esta parte del diagrama de bloques, en-contraremos dos nuevos, que se describen a continuación:

“let”.- Este bloque es empleado para asignar un valor encualquiera de las variables con que cuenta el microcontroladorPICAXE, además de permitir la realización de operaciones en-tre las variables y valores constantes.

“sound”.- Este bloque contiene los parámetros necesariospara generar una nota musical a través de una terminal de sa-lida del microcontrolador, por lo que la sintaxis es sound termi-nal de salida (nota, duración).

Pues bien, una vez que hayamos revisado el potencial delos bloques que a continuación utilizaremos, procedemos a ex-plicar la operación de esta segunda parte del diagrama de blo-ques.

De la figura 48 se observa que primero se asigna un 0 ala variable b0; posteriormente, se incrementa en una unidad lavariable b0 por medio de la utilización de bloques con el co-mando “let”. El valor de esta variable funcionará como la notamusical que será interpretada por medio del bloque identifica-do como “sound”.

El bloque sound tiene la propiedad de generar una notamusical con tan sólo indicárselo por medio de los parámetrosque se encuentran dentro del paréntesis. De acuerdo con nues-tro ejemplo, la variable b0 nos generará la nota que será ex-presada hacia el exterior del PICAXE a través de la terminal 0y los valores que puede aceptar la variable b0 van desde 0 (si-lencio) hasta 127 notas ascendentes, y de 128 a 255 notas as-cendentes de ruido. Para nuestro ejercicio, emplearemos las no-tas que van de 0 a 127 para dar vida a la alarma sonora, ypara obtener el efecto de una señal audible ruidosa, tendremosque ir incrementando la variable b0 partiendo de 0 hasta 127,por lo que utilizaremos un bloque comparador, y cuando la va-riable b0 llegue a 127, nuevamente se iniciará la variable conel valor de 0, y nuevamente comenzará el conteo ascendentede la variable. Esta actividad mostrará el efecto de notas musi-cales ascendentes. El dato correspondiente a la duración de lanota dentro del paréntesis del bloque sound se puede expresar

con valores que vandesde 0 a 255, perodebemos tomar encuenta que este valortiene que ser multipli-cado por una constan-te de aproximadamen-te 1mseg.

La variable b0 seincrementará desde 0a 127 cuando se abrauna puerta o ventana,y este lazo continuaráhasta que una perso-na autorizada y conuna llave pueda resta-blecer la alarma, por

Figura 49

Figura 48

Figura 50

CLUB SABER ELECTRONICA 51

lo que existirá un bloque en donde se esté revisando la condi-ción lógica de la señal de entrada en el pin4, y cuando lea elestado lógico “0” significa que ya fue desactivada la alarma,por lo que se tiene que revisar la condición del sensor magné-tico, ya que si se deja la puerta o ventana abierta y se vuelvea restablecer la alarma, ésta se volverá a disparar generandonuevamente la señal audible y enviando la señal de alarma re-mota. En la figura 49 vemos el diagrama de bloques comple-to. Como paso siguiente, deberemos simular la operación deldiagrama de bloques para estar completamente seguros deque el programa va a funcionar correctamente. Después de lasimulación, procedemos a convertir nuestro diagrama de flujoen código BASIC, por lo que recurrimos al menú Organigramay, dentro de éste, al comando “Convertir Organigrama en BA-SIC”, por lo que vamos a generar un código como el ilustradoen la figura 50.

Por último, para programar al microcontrolador PICAXE, setiene que estar dentro del ambiente de código BASIC, y de ahínos dirigimos al menú PICAXE y después al comando “Ejecu-tar”. De esta acción se provoca que se abra una ventana quenos va indicando el progreso de la programación del PICAXE.Una vez que éste termine de programarse, nos muestra unaventana pequeña en donde nos comunica que se programóperfectamente; caso contrario, también nos reporta las posiblescausantes del fallo.

La tarjeta entrenadora cuya imagen se observa en la figu-ra 51 es el cerebro de las actividades de nuestra alarma, porlo que en este caso se le tienen que agregar los componentesilustrados en la figura 45, pero claro está que por el tamaño encuestión del número de terminales que posee un PICAXE-08, anuestra alarma le está destinado el proteger sólo una puerta oventana. Si queremos una alarma con mayor número de senso-res, tendremos que utilizar un PICAXE con mayor cantidad determinales y agregar, en el programa, lalectura del estado que tengan dichos sen-sores.

Continuaremos desarrollando ejem-plos prácticos de programación, ya quenuestra meta es llegar a realizar diseñosde aplicaciones sin importar el nivel decomplejidad.

LISTA DE MATERIALES

Tarjeta entrenadora del PICAXE – 08El cable de programación3 Resistores de 390Ω 1/8Watt1 Transistor 2N22221 Diodo 1N40011 Relevador para 5 V1 Reed switch1 Botón con seguro1 Zumbador (buzzer)

Tarjeta Entrenadora PICAXE 18

A lo largo de estas líneas iremos describiendo todo lo quecorresponde a una nueva tarjeta entrenadora, que en estaoportunidad alojará al microcontrolador PICAXE–18, por loque como primer paso recordaremos cuál es el diagrama delcircuito básico de conexión de este PICAXE, para de ahí llegaral diagrama esquemático de la nueva tarjeta entrenadora. Enla figura 52, se muestra el circuito básico del cual se tiene quetomar en cuenta el número total de entradas y salidas que po-demos manipular para aprovecharlas al máximo.

Para el PICAXE–18 se tiene la oportunidad de disponer de8 terminales de salida y 5 terminales de entrada; de estas últi-mas y dependiendo del tipo de microcontrolador PICAXE (PICA-XE–18 ó 18A ó18X), se pueden co-locar hasta tres en-tradas como entra-das analógicas.

La tarjeta entre-nadora que se pro-pone en esta opor-tunidad tiene la po-sibilidad de explo-tar al máximo todaslas propiedades deun PICAXE–18. Enla figura 53 semuestra el circuitoesquemático de latarjeta entrenadoracompleta.

Figura 51

Figura 52 - Circuito básico de un PICAXE-18.

52 CLUB SABER ELECTRONICA

A continuación describiremos cada bloque de esta tarjetaentrenadora para que se le pueda sacar el máximo provecho.

Como primer paso será identificada la ubicación de dóndese encuentra el microcontrolador PICAXE–18, el cual justamen-te debe encontrarse sobre la base identificada como IC1, res-petando en todo momento la distribución de las terminales.

Sobre el conector identificado como salidas, se encuentranconcentradas las 8 de que dispone el microcontrolador PICA-XE, las cuales se encuentran identificadas desde S0 hasta S7.Este conjunto de salidas pueden emplearse de manera indistin-ta para controlar algún elemento externo que bien puede ser unactuador (elemento de potencia); todo depende de su naturale-za para, en función de ella, conectar en la salida un optoaco-plador para encender o apagar un motor de CA, por ejemplo,así como encender una lámpara incandescente o un simple dio-do led.

Sobre el conector denominado entradas, se tiene el reflejoprecisamente de las terminales de entrada al microcontroladorPICAXE. Las terminales de entrada se encuentran identificadascomo E0, E1, E2, E6 y E7; de estas últimas, dependiendo deltipo de PICAXE (PICAXE–18 ó 18A ó 18X), las terminales E0,E1 y E2 pueden comportarse como terminales de entrada ana-lógica, esto es, tienen un convertidor analógico – digital. En lasterminales de entrada de datos se tienen que conectar aquelloscircuitos externos que generen algún estado lógico y que refle-jen fielmente el estado de la actividad que están leyendo lossensores bajo algún proceso. Estos datos de entrada, de mane-

ra general, pueden clasificarse como discretoso analógicos, entendiéndose como discretostodas aquellas señales que trabajan mediantela lógica binaria, “0” lógico y “1” lógico,mientras que las señales analógicas, son aque-llas, como la temperatura, que están variandocon el tiempo y puede adquirir un número infi-nito de valores dentro de un intervalo bien es-tablecido.

Para esta tarjeta controladora no se nece-sita configurar alguna forma especial de tra-bajo sobre su circuitería, por lo que sus aplica-ciones son inmediatas, ya que posee termina-les dedicadas tanto para ingresarle como pa-ra extraerle datos, siendo el microcontroladorPICAXE el elemento indispensable que realizatodas las acciones de control. Una vez identi-ficadas las terminales de entrada y salida dedatos de la tarjeta entrenadora, como paso si-guiente se tienen que identificar los módulosde apoyo para construir, implementar y/o si-mular alguna aplicación.

El primer módulo de apoyo que describire-mos es el relacionado con la actividad de re-presentar alguna acción del microcontrolador,

esto es, el poder señalar por medio de un indicador luminosoalguna respuesta. Para ello se cuenta con 2 circuitos basadosen leds que se encuentran en el área de experimentos de la pro-pia tarjeta entrenadora. Estos circuitos se muestran en las figu-ras 54 y 55. Para hacer uso de estos circuitos, lo que tiene quehacerse es conectar, mediante un pequeño cable, el borne co-rrespondiente, ya sea de S1 o S2, con cualquiera de las termi-nales de salida del microcontrolador, que pueden ser S0 ó S1ó S2 ó S3 ó S4 ó S5 ó S6 ó S7 del conector “Salidas”. De es-ta forma, si la salida registra un “1” lógico, se encenderá el ledal cual fue conectado, y por lo contrario, si la salida reporta un“0” lógico, el led se apagará.

El segundo módulo de apoyo es el que genera estados dis-cretos para poder hacerlos llegar al microcontrolador. Estos mó-dulos pueden simular la activación o desactivación de determi-nados sensores o botones que se requieren en algún proceso.Para este requerimiento, sobre la tarjeta entrenadora se cuentacon 2 circuitos basados en pulsadores que se encuentran sobreel área de experimentos. Estos circuitos se muestran en la placade la figura 55 y lo único que se tiene que hacer es conectar elborne correspondiente, ya sea E1 ó E2, a cualquiera de las ter-minales de entrada, que pueden ser E0 ó E1 ó E2 ó E6 ó E7 delconector “Entradas”. Esto último da posibilidad a que durante lafase de pruebas del programa del microcontrolador se puedaevaluar si la secuencia con que se tienen que activar los senso-res es la correcta o no, para poder estar seguros de que nues-tro programa operará completamente sobre nuestra aplicación.

Figura 53 - Diagrama esquemático de la tarjeta entrenadora PICAXE–18.

CLUB SABER ELECTRONICA 53

El tercer módulo de apoyo es el que genera señales analó-gicas para que puedan emplearse con aquel PICAXE que inter-namente posee un convertidor analógico – digital. Este módulopuede realizar el trabajo de simulación, por ejemplo, de unsensor de temperatura, de un sensor de presión, de humedad,etc. Para esta parte, la tarjeta entrenadora cuenta con un resis-tor variable identificado como POT1, por medio del cual sepuede cambiar el valor de voltaje que se hace llegar a la ter-minal correspondiente de entrada analógica del microcontrola-

dor que, dependiendo del tipo de PICAXE; éstas pueden ser E0ó E1 ó E2 del conector “Entradas”. Ahora bien, lo que se quie-re es utilizar en la tarjeta programadora un sensor real, porejemplo un LDR (resistencia variable con la luz) o una galga ex-tensiométrica (resistencia variable con la deformación), etc. Enel módulo de señales analógicas, a través del conector identifi-cado como “SENSOR”, se puede conectar un determinado sen-sor que, en combinación con el resistor R8, se genera el volta-je cuyo valor responderá de acuerdo a la variable física que

lea el sensor.Cabe aclarar que

el tipo de sensor quese tiene que utilizar enesta parte de la tarjetaentrenadora debe pre-sentar un cambio en suvalor de resistencia pa-ra que, en función deesto, se modifique elvalor de voltaje que eslo que lee el PICAXEen las entradas analó-gicas. Las terminalesdonde se refleja el es-tado del módulo que

Figura 55 - Disposición de los compo-nentes sobre la tarjeta entrenadora.

Figura 54 - Circuito Impreso de la tarjeta entrenadora.

Figura 56 - Conector mini Jack de audio.

Figura 57 - Identificación de terminales en losconectores mini jack y DB9.

Figura 58 - Cable de programación.

Figura 59 - Adaptador para programación.

54 CLUB SABER ELECTRONICA

genera las señales analógicas se identifican como AN1 y AN2.El espacio identificado como PROGRA se encuentra ocupadopor un conector de audio estéreo tipo mini Jack, el cual puedetener cualquiera forma, tal como se ilustra en la figura 56.

El conector de audio estéreo tan sólo tiene 3 terminalesque serán utilizadas para comunicar al microcontrolador conuna PC a través del puerto serie. En la figura 57 se muestra eldiagrama de cómo se deben identificar las terminales, tanto enla tarjeta entrenadora como en el conector DB9 que se conec-ta al puerto serie de una PC.

Las terminales del conector de audio y DB9 realizarán lassiguientes actividades:

• La línea identificada con el número 1 en el conector deaudio sirve para verificar que el microcontrolador PICAXE seencuentra conectado al puerto serie de la PC.

• La línea identificada con el número 2 en el conector deaudio sirve para programar al microcontrolador PICAXE.

• La línea identificada con el número 3 en el conector deaudio es la referencia GND ó también conocida como tierraeléctrica.

En la figura 58 se muestra la imagen de un cable de pro-gramación. De lo contrario puede emplearse un adaptador (fi-gura 59) que realiza la misma función y con éste puede em-plearse cualquier cable serie que se disponga.

Por último, sobre la tarjeta entrenadora se tiene incorpora-do un regulador de voltaje identificado como IC2 que posee elcódigo LM7805, y cuyo cometido es el de proporcionar un vol-taje constante de 5V para alimentar al microcontrolador PICA-XE y los módulos auxiliares que tiene incorporados la tarjetaprogramadora. Por medio de la utilización del regulador devoltaje es posible que podamos emplear para energizar a nues-tra tarjeta de entrenamiento una pila de 9V.

LISTA DE COMPONENTES PARA LA TARJETA

CONTROLADORA PICAXE–18

IC1 Base de 18 terminalesIC2 LM7805D1, D2 Leds VerdesD3 Led RojoS1, S2, RESET Interruptores Push buttonR1, R4, R5: 10kΩ 1/8WattR2: 22kΩ 1/8WattR3: 1kΩ 1/8WattR6, R7,R9: 39kΩ 1/8WattR8: 100kΩ 1/8WattPot. 1: Preset 100Sensor: Bloque de terminales

Varios: Conector mini jack de audio, conector mini plugde audio, alambres de conexión, broche para pila de 9V y cir-cuito impreso.

Aprendiendo a Utilizar el ADC en la Tarjeta Entrenadora del Picaxe-18

Con el PICAXE–08 se tiene la posibilidad de utilizar el con-vertidor analógico a digital (ADC), la forma de utilizarlo bajoel sistema PICAXE es lo mismo para cualquiera de las versionesde microcontroladores, ya sea PICAXE–08, PICAXE–18 ó PICA-XE–28. El empleo de un ADC es muy útil e inclusive necesario,sobre todo cuando tenemos que utilizar un sensor que nos re-porta una variable cuyos valores cambian dentro de un rangoestablecido con el transcurso del tiempo. A estas variables seles conoce con el nombre de analógicas, ya que tienen un com-portamiento como el ilustrado en la figura 60.

Dependiendo de la variable física que se tenga que medir(para, con su información, controlar determinado proceso), esel sensor que emplearemos.

Existen sensores para medir la temperatura, humedad, in-tensidad luminosa, presión ejercida a una superficie, acelera-ción, deformación de materiales. Estas variables físicas son lasmás comunes de medir ya que existen sensores comercialesmuy económicos para estas variables.

El aspecto común de todos los sensores, no importando aqué variable física responden, es que convierten la variable fí-sica a una señal eléctrica cuyo valor correspondiente de formadirecta a la variable. Para el caso particular de la tarjeta entre-nadora del PICAXE–18, se requieren sensores que cuenten,preferentemente, con una variación de resistencia al cambiar elvalor de la variable física, ya que sobre la tarjeta entrenadorase tiene implementado un circuito resistivo que, en combinacióncon el sensor se genera un divisor de voltaje, el cual se encuen-tra conectado a un potencial de 5V. Las variaciones de éste, deacuerdo a lo que mida el sensor, que es lo que se hace llegaral ADC del PICAXE.

En la figura 61 se ilustra el diagrama esquemático de latarjeta entrenadora PICAXE–18, de la cual nos interesan, en es-ta ocasión, las terminales identificadas como AN1 y AN2. Sianalizamos con detalle la terminal que corresponde al borneAN1, es allí donde se encuentra un conector con tornillos quesirven para sujetar al sensor que utilicemos, recordando quedebe generar una variación resistiva a los cambios que presen-te la variable física. El sensor que utilicemos estará conectándo-se en serie con un resistor identificado como R8 y cuyo valor esde 100kΩ. Este circuito serie tiene, en uno de sus extremos, elvalor positivo de 5V, y el otro GND; por lo tanto, al cambiar elvalor de la variable física se tendrá una repercusión sobre elsensor, ya que éste cambiará su valor resistivo. Al modificarseel valor de resistencia del sensor, se tendrá una mayor o menorcirculación de corriente, recordando que todo depende de laley de Ohm, que dice:

“El valor de la corriente es inversamente proporcional al va-lor de la resistencia, y directamente proporcional al valor delvoltaje” (la fórmula matemática es: I = V/R).

CLUB SABER ELECTRONICA 55

Si cambia el valor de la corrienteen el circuito serie y nuevamente apli-camos la ley de Ohm, entonces setendrán variaciones de voltaje, yaque la información del valor de volta-je la estaremos obteniendo de la co-nexión del sensor con R8.

El borne, identificado comoAN2, es más sencillo de utilizar, yaque ahí se tiene un preset identificadocomo POT1, del cual una de sus 2 ter-minales de los extremos se hace lle-gar al potencial de 5V y el otro aGND. Es a través de su terminal delmedio de donde se obtiene el valorde voltaje que se dirigirá posterior-mente al ADC del PICAXE. Observan-do con detalle este circuito simple,nos daremos cuenta de que se tratade 2 resistores conectados en serie, y que al modificar el valordel preset, le estaremos agregando resistencia a uno de estosresistores y quitándole al otro. El propósito de utilizar este cir-cuito es únicamente para cuestiones didácticas, ya que estare-mos simulando la operación de un sensor aún sin tenerlo, peroestaremos en absolutas posibilidades de comprobar nuestroprograma ya colocado en el PICAXE. La información contenidaen los bornes AN1 y AN2, que es el reflejo de un sensor (pa-ra el caso de AN1) y la variación de un poten-ciómetro (para el caso de AN2) se tiene queconectar a la entrada analógica del PICAXE.Para ello, dependiendo del tipo de microcon-trolador PICAXE (PICAXE–18 ó 18A ó 18X), sepuede disponer de hasta tres entradas del tipoanalógicas. Los bornes de las entradas analó-gicas al PICAXE están identificados como E0,E1 y E2, por lo que para hacer llegar la infor-mación de los bornes AN1 ó AN2 a E0 ó E1ó E2, será mediante pequeños cablecillos deconexión, tal como se muestra en la figura 62.Para ilustrar de mejor manera la utilización delADC del PICAXE vamos a recurrir al empleo deun ejemplo práctico. Este ejemplo consistirá enencender o apagar una lámpara de alterna delmismo tipo que utilizamos para iluminar nues-tra casa. El circuito al que estamos haciendo re-ferencia es el de un control automático de lu-ces. Este control automático detectará, a travésdel LDR, cuándo se oculte nuestro astro rey(Sol) y se comiencen a oscurecer las calles, yviceversa, cuando empiece a amanecer, deigual manera la luminosidad producida serádetectada a través del LDR (figura 63). La en-

trada que será utilizada con el valor analógico de la intensidadluminosa está en el borne de entradas de la tarjeta entrenado-ra, y se trata de la entrada E0. El LDR, prácticamente, es unaresistencia variable que está constituida por un material fotosen-sible; por lo tanto, la intensidad luminosa provocará que dismi-nuya su valor de resistencia, mientras que la oscuridad o ausen-cia de luz ocasionará que tenga su máxima resistencia, y de-pendiendo del tipo de LDR puede tener valores de resistenciaque son de 2MΩ, ó 10MΩ en la oscuridad. Para controlar el

Figura 60 - Diferentes tipos de señales analógicas

Figura 61 - Diagrama esquemático de la tarjeta entrenadora PICAXE–18.

56 CLUB SABER ELECTRONICA

apagado o encendido de la lámpara de alterna, se requiere uncircuito que maneje la potencia, o dicho con otras palabras, senecesita que la cantidad de corriente que consuma la lámparano la suministre directamente el PICAXE, por lo que se empleauna interfaz implementada a base de un transistor identificadocomo Q1, además de utilizar también un relevador que se en-

cuentra identificado como RL1. Todo esto se ubica en el diagra-ma de la figura 62. La salida que se utilizará se encuentra enel borne de salidas de la tarjeta entrenadora y se trata de la sa-lida S0. En la salida S0 se tendrá un “0” lógico si la intensi-dad luminosa detectada es suficiente como para que se apa-gue la lámpara; por otra parte, si la intensidad luminosa es

muy baja o se tiene oscuridad total, enla salida S0 se tendrá un “1” lógico,provocando que se encienda la lámpa-ra correspondiente. Esta información sehace llegar al transistor Q1, que a suvez, dependiendo de la informaciónque tenga en su base, energizará o nola bobina del relevador RL1, siendo loscontactos de este relevador quienes ma-nejen la tensión alterna de línea y seránellos quienes enciendan o apaguen, fi-nalmente, la lámpara. Una vez explica-da la parte que corresponde a la electró-nica de la tarjeta entrenadora, así comolos dispositivos y circuitos que se le agre-garán para su funcionamiento, ahoraprocederemos a explicar cómo se elabo-ra el programa con el cual controlaremosel encendido o apagado de una lámpa-ra de corriente alterna, así que prosiga-mos adelante.

Figura 62 - Conexiones sobre la tarjetaentrenadora PICAXE-18.

Figura 63 - Imagen de un LDR.

Figura 64 - Icono del programa“PICAXE Programming Editor” Figura 65 - Ventana de Opciones.

Figura 66 - Barra de comandos con el menú “Other”.

CLUB SABER ELECTRONICA 57

Lo primero que tenemos que hacer es abrir nuestro progra-ma llamado “PICAXE Programming Editor” (figura 64) y quepreviamente tuvimos que instalar, y si aún no se tiene, lo pue-den descargar de nuestra página de internet www.webelectro-nica.com.ar con la clave “picaxe”, o en su defecto también lopueden adquirir en la página www.picaxe.uk.co.

Una vez dentro del programa editor de los PICAXE, seabrirá una ventana en donde se muestran las distintas opcionespara utilizar los PICAXE, y en esta ocasión, tenemos que elegiralguno de los PICAXE–18; todo depende de cuál de ellos seacon el que contemos.

Comenzaremos programando con diagramas de flujo paraaprender a utilizar los distintos comandos, y posteriormente losconvertiremos en código Basic. Así es que tenemos que selec-cionar el comando que abre la plantilla de trabajo con diagra-mas de flujo. Observe la figura 65.

Ya en el ambiente de programación con diagramas de flu-jo, lo primero que tenemos que seleccionar en la barra de co-mandos es el que está identificado con la palabra “other” (fig.66) ya que ahí es en donde se encuentra la herramienta parautilizar el comando de lectura del convertidor ADC del PICAXE.

El comando del ADC está identificado como “readadc” ylo único que tenemos que hacer es seleccionarlo para poderlocolocar en el área de trabajo, y con el comando de selecciónque está identificado con una flecha, le indicaremos en qué en-trada estará ubicada la de valores analógicos. Normalmente,cuando seleccionamos el comando “readadc”, por defecto seselecciona la entrada E0, pero recordemos quepodemos seleccionar cualquiera de las entra-das E0 ó E1 ó E2 ó las tres al mismo tiempo,ya que sólo tenemos que conectarles el corres-pondiente circuito con el sensor analógico. Re-cuerden también que dependiendo del tipo dePICAXE–18 (PICAXE – 18 ó 18A ó 18X) seránlas entradas analógicas que emplearemos. (Fi-gura 67).

Para colocar el comando “readadc”, lopodemos hacer directamente uniendo el extre-mo superior del bloque del comando “rea-dadc” (Fig. 68) con el del bloque “start”; estaacción la llevamos a cabo para optimizar es-pacio en el diagrama de flujo, y ahorrarnos lautilización de la herramienta “wire”.

El comando “readadc” tiene la tarea deleer el valor de la variable analógica que enesta etapa se encuentra en su correspondientevalor de voltaje, y tal como se encuentra expre-sado en la figura 68, el 0 que se encuentradespués de la palabra readadc indica qué ter-minal de entrada es la que se está utilizandocon el ADC, y después se encuentra la varia-ble b0, que es donde se aloja el valor analógi-

co que está leyendoel PICAXE.

El paso siguien-te es verificar quévalor tiene la varia-ble b0 (Fig. 69) pa-ra que cuando secompare este valorse sepa si existe lumi-nosidad u oscuridaden el medio ambien-te. En este caso, te-nemos que seleccio-nar el menú “if” paraubicar los comandosde verificación devalores; posterior-mente, seleccionare-mos el comando queestá identificado co-mo “var”, ya que escon éste con el quecompararemos losvalores de las varia-bles con las quecuenta el microcon-trolador PICAXE.

Figura 69 Co-mando que com-para el valor dela variable b0.

Figura 70Diagramade flujo

completo.

Figura 67 - Comando “readadc”.

Figura 68 - Colocación delcomando “readadc”.

Figura 71 - Programacompleto y ventanas

del simulador.

58 CLUB SABER ELECTRONICA

Para configurar el comando “var”, tenemos que seleccio-nar en qué variable se está guardando el dato que será digita-lizado, y que en esta ocasión se trata de la variable b0. Aho-ra seleccionaremos el operando “mayor que” para indicarle alPICAXE que para todos los valores analógicos mayores que de-terminado valor nos debe reportar una salida verdadera y en-tonces el flujo lógico se dirigirá a través de la salida identifica-da como Y. El valor que fijaremos es el de 125, que práctica-mente representa la mitad del rango total que puede ser digita-lizado y cuyo valor máximo es de 255. Para nuestro programa,cuando se tienen valores por debajo de 124, indicará que setiene suficiente luminosidad; por lo tanto, al salir la informaciónpor la salida N del bloque “var”, mandará apagar la lámpara.Cuando se tienen valores mayores a 125, indicará que la lumi-nosidad es muy baja, por lo que mandará encender la lámpa-ra. A la salida identificada como N se le conectará el bloque“low”, cuya función será la de apagar la salida S0 que es endonde se encuentra conectado el circuito externo que controlala lámpara, mientras que a través de la salida identificada co-mo Y se encuentra el bloque “high” que será la encargada deactivar la salida S0 y de esta manera encender la lámpara. Eldiagrama de flujo completo se muestra en la figura 70.

En la figura 71 se observa la simulación del ADC; paraello, se tiene la ventana donde se muestran las entradas y lassalidas y en la parte derecha se muestra el área en donde sepuede manipular la entrada correspondiente al ADC. Al moverla barra correspondiente de la entrada analógica, observare-mos cómo en la ventana correspondiente a las variables se irámodificando la variable b0, que es donde guardaremos el da-to originado en el ADC. Cuando hemos visto que nuestro dia-grama de flujo realiza las funciones lógicas que esperamos, en-tonces estamos en posibilidad de convertir el código a Basic(Fig. 72), para posteriormente descargarlo a nuestro PICAXEpor medio de la tarjeta programadora.

En la figura 73 y 74 se muestra la manera de cómo pode-mos armar nuestro cable de programación o, en su defecto, uti-lizar un cable serie común y un adaptador como el que semuestra en la figura 75.

Por último, sobre la tarjeta entrenadora se tiene incorpora-do un regulador de voltaje identificado como IC2 que posee elcódigo LM7805, y cuyo cometido es la de proporcionar un vol-taje constante de 5V para alimentar al microcontrolador PICA-

Figura 75 - Adaptador para programación.

Figura 74 Cable de

programación.

Figura 72 - Programa en código Basic.

Figura 73 - Identificación de terminales en los co-nectores mini jack y DB9.

CLUB SABER ELECTRONICA 59

XE y los módulos auxiliares que tiene incorporados la tarjetaprogramadora. Por medio de la utilización del regulador devoltaje, es posible emplear para energizar a nuestra tarjeta deentrenamiento una pila de 9V.

LISTA DE COMPONENTES PARA ARMAR LA

TARJETA CONTROLADORA PICAXE–18.

Tarjeta entrenadora PICAXE–18.D1 -Diodo 1N4001Rext1 -1 kΩ 1/8 WattRL1 -Relevador 5VQ1 - BC548LDR

Varios: Cable de programación o Cable serie y adapta-dor, cables de conexión, batería de 9V.

Control de Temperatura con la Tarjeta Entrenadora del Picaxe-18La temperatura es uno de los parámetros que más se con-

trola, ya que desde una simple casa, hasta algún proceso in-dustrial de una empresa cuenta con este tipo de dispositivos, loscuales pueden ser muy simples o inclusive llegan a ser elemen-tos muy complejos y avanzados.

En la figura 76 vemos el diagrama esquemático de la tar-jeta entrenadora PICAXE-18, con el sensor LM35 integrado aella.

Comercialmente existen medidores de temperatura cuyafunción es sólo, mostrar el valor de temperatura, y por otra par-te también están presentes los controles de algún proceso queactúan en función del valor de la temperatura. Estos últimoscontroles basan su forma de operar en un convertidor analógi-co - digital, si es que el control es electrónico y digitalizado, ymás que mostrar el valor de temperatura, su utilidad principal

Figura 76

60 CLUB SABER ELECTRONICA

radica en el hecho de realizar tareas como la de controlar demanera autónoma la temperatura de una caldera, de una habi-tación, de un invernadero, etc.

En la figura 77 podemos observar las conexiones sobre latarjeta entrenadora PICAXE-18.

La temperatura es una de las variables físicas más fáciles yeconómicas de controlar. En casi cualquier negocio de produc-tos electrónicos encontraremos, por ejemplo, un simple circuitointegrado identificado como LM35, que es un sensor electróni-co de temperatura.

En esta oportunidad vamos a implementar un algoritmo pa-

ra diseñar un control automático detemperatura basándonos en nuestromicrocontrolador PICAXE, en el cual fi-jaremos un valor que servirá de refe-rencia para saber en qué momento sedeberá activar ó desactivar un equipode aire acondicionado, un ventiladoró un calefactor, etc.

Aquí lo más importante es que de-bemos seleccionar un sensor que nosentregue un valor de voltaje que tengauna correspondencia con el valor detemperatura que está midiendo, queen este caso puede ser el LM35, queya se encuentra calibrado en gradoscentígrados (°C). Otro tipo de sensorque se puede emplear para leer latemperatura, sería un termistor que, adiferencia del LM35, basa su opera-ción en cambios de valores de resisten-cia de acuerdo a la variación de tem-

peratura.Sea para un sensor que entrega voltaje o para un sensor

que cambia su valor resistivo, la tarjeta entrenadora del PICA-XE - 18 contempla la utilización de ambos, y para ello se cuen-ta con un espacio reservado a cada uno de los sensores. Si setrata del sensor LM35 que entrega voltaje, se tendrá que conec-tar en el espacio que se encuentra sobre la tarjeta entrenadoray que se identifica como Pot1. Para ello, se tendrá que retirarel preset si es que ya había sido colocado, para colocar el sen-sor LM35 en su lugar, respetando la ubicación de las termina-les del voltaje de alimentación (Vcc y GND). El terminal que en-trega el nivel de voltaje de acuerdo con la temperatura presen-te, es el AN2, que se tiene que conectar por medio de un pe-queño cablecillo a cualquiera de las entradas E0 ó E1 ó E2 quetiene el microcontrolador PICAXE.

Por otra parte, si se emplea un termistor, sólo tendrá quecolocarse en el conector identificado como “sensor” y en elcual se tiene contemplado que se utilice un bloque conector contornillo. Aquí ya está preparado el circuito que complementaráal termistor (divisor de voltaje) para que de esta manera las va-riaciones de temperatura se conviertan en valores de voltaje enel terminal AN1, y de igual manera, por medio de un cableci-llo, se puede conectar esta información a cualquiera de las tresentradas que posee el convertidor analógico digital del micro-controlador PICAXE.

En esta ocasión y para este proyecto, utilizaremos el sensorLM35 para medir la temperatura, y con esta variable física es-taremos en posibilidad de controlar la temperatura de un recin-to cerrado, como ser una habitación ó el interior de un vehícu-lo. Ya vimos en la figura 77 el diagrama del circuito que seráadecuado para complementar la operación de la tarjeta entre-

Figura 77

Figura 78

CLUB SABER ELECTRONICA 61

nadora del PICAXE - 18, como circuitería complementaria a latarjeta entrenadora, se observa la conexión del sensor de tem-peratura, que en esta ocasión se trata del circuito integradoLM35. Por otra parte, también se observa el circuito externoque activa el ventilador, el cual se encuentra implementado através de un amplificador operacional, un transistor y un rele-vador, principalmente.

En la figura 78 se ve el diagrama de flujo del programa delPICAXE. El sensor de temperatura LM35 proporciona un valorde voltaje que está de acuerdo con la magnitud de temperatu-ra que se encuentre en el recinto donde esté instalado. Deacuerdo con el fabricante, su rango de operación va de 0V a1.5V, que equivale a 0°C y 150 °C, respectivamente, y a ca-da cambio de 1 °C, el valor de voltaje cambia en 10mV. Porlo tanto, es muy fácil saber qué valor de temperatura está mi-diendo al saber el valor de voltaje que entrega el sensor. Porejemplo, cuando se tenga un valor de 35 °C, se tendrá un va-lor de 350mV.

La forma de emplear el sensor LM35 y el circuito exteriorse ilustra puede verlo nuevamente en la figura 77. En ella seaprecia que se puede utilizar un ventilador que puede poseerun motor tanto de CA como de CD. Esto es posible, ya que es-tamos empleando un relevador como elemento de interfaz en-tre la etapa de control y la de potencia. La bobina del releva-dor está siendo controlada por un amplificador operacional,que es el dispositivo que servirá de protección entre la salidadel microcontrolador PICAXE y la bobina del relevador. El am-plificador operacional, entre otras cosas, tiene la propiedad deno demandar corriente del terminal de salida del PICAXE, y porello no se sobrecargue. La configuración en la que se encuen-tra el amplificador operacional se llama seguidor de voltaje, yen ella el voltaje de entrada es exactamente igual al que estáentregando. Por lo tanto, como el PICAXE le entrega 5V al se-guidor de voltaje cuando su salida esté activada, la salida delamplificador operacional también será de 5V pero casi sin de-mandarle corriente al PICAXE. Posteriormente, la salida del se-guidor de voltaje se hace llegar a un transistor 2N2222 (depropósito general), que es el que se encarga de manejar todala corriente que demandará la bobina delrelevador cuando éste necesite ser activa-do. El transistor le ayuda al amplificadoroperacional a que no se caliente cuandocircule una corriente muy alta. Es recomen-dable que la fuente que energice la bobinadel relevador sea independiente de la queenergiza a la tarjeta entrenadora del PICA-XE - 18, ya que cuando el relevador se ac-tiva, éste demanda una corriente muy gran-de, y si empleamos el mismo regulador devoltaje que posee la tarjeta entrenadora, és-te podría sobrecalentarse demasiado, hastatal punto que puede llegar a bloquearse y

toda la circuitería comenzará a trabajar de una forma muy de-ficiente y podría, entre otras cosas, comenzar a encenderse yapagarse continuamente, provocando que el ventilador se en-cienda y apague a cada rato.

El valor de voltaje correspondiente con la magnitud de latemperatura estará en el borne del terminal AN2, y de ahí, pormedio de un cablecillo, haremos llegar esta información al ter-minal de entrada E0 que configuraremos como entrada para elconvertidor analógico - digital del microcontrolador PICAXE.Para controlar el encendido o apagado del ventilador, utiliza-remos el terminal S0 de la tarjeta entrenadora, que también co-rresponde a un terminal de salida del PICAXE.

En la figura 79 se ve la simulación del programa.Para comenzar a programar al microcontrolador PICAXE,

primero describiremos qué es lo que pretendemos en cuanto ala forma de operación de esta aplicación, o sea:

El sensor de temperatura se encontrará leyendo de maneracontinua la magnitud de la temperatura, que se hará llegar aun canal del convertidor analógico - digital del microcontrola-dor PICAXE. Este último, de acuerdo con el programa (es lo quevamos a realizar a continuación), activará una de sus salidaspara controlar la bobina de un relevador.

Para controlar el apagado o encendido de la bobina delrelevador, se requiere lo siguiente: por medio de un “0” lógicose apagará la salida S0; por lo tanto, la bobina del relevadorse desenergizará, mientras que un “1” lógico en la misma sali-da S0 provocará que la bobina del relevador se energice. Unavez que ya sabemos de qué manera tiene que operar el micro-controlador PICAXE, procedemos a explicar la realización delprograma.

En desarrollos anteriores hemos comenzado esta parte de laaplicación con las siguientes palabras, “lo primero que tenemosque hacer es abrir nuestro programa llamado “PICAXE Program-ming Editor”. Por lo tanto, nuevamente hacemos la indicaciónde que pueden descargar el software de nuestra página de inter-net si es que aún no lo tienen, la página es www.webelectroni-ca.com.ar y empleen la clave “picaxe”, en su defecto, tambiénlo pueden adquirir en la página www.picaxe.uk.co.

Figura 79

62 CLUB SABER ELECTRONICA

Recuerden que al ingresar en el programa lo primero quese abrirá será una ventana, de la cual, en la pestaña opciones,seleccionarán el PICAXE que será utilizado para el proyecto, sepuede emplear cualquier microcontrolador PICAXE, ya que laestructura del programa es válido para cualquiera de ellos, pe-ro recuerden que tenemos microcontroladores de 8, 18, 28 y40 terminales; por lo tanto, las terminales de salida y de entra-da cambian de posición y cantidad de acuerdo al PICAXE quese vaya a utilizar. Cuando empleamos un convertidor analógi-co - digital (ADC), lo primero que tenemos que hacer es calcu-lar su resolución y para ellos nos basamos en la fórmula Nº1.

Resolución = Valor del rango----------------------------------

2N - 1

En este caso el valor del rango es el que tiene la entradadel ADC del PICAXE, que es de 5V. La variable N representala cantidad de bits que posee el ADC, que en este caso es de8; por lo tanto, la expresión anterior queda como sigue:

5 5 Resolución = --------------------- = ----------------------- =

28 - 1 256 - 1

= 0.0196V = 19.6mV

Con este dato ya sabemos que con cada cambio de0.0196V que exista en el ADC, se tendrá el incremento de unbit en un conteo a base de 8 bits. Por otra parte, y recordandoque el sensor LM35 trabaja en el rango de 0 °C a 150 °C cu-yos valores equivalen a 0V y 1.5V, respectivamente, por razo-nes obvias no será empleado todo el rango de trabajo del ADCdel PICAXE, ya que la temperatura ambiente, por ejemplo enun lugar extremo, es de hasta 55 °C, y ya estamos hablandode un desierto. Para este desarrollo el valor de temperatura quenos interesa es el de 25 °C, ya que por debajo de este valor po-demos considerar que la temperatura es agradable, pero porencima de este valor consideraremos que hace demasiado ca-lor, por lo que tenemos que encender el ventilador (este nivel detemperatura se puede ajustar a las preferencias de las personaso los lugares). Para la temperatura de 25 °C se tiene un valorde voltaje equivalente a 250mV; por lo tanto, tenemos que sa-ber qué número binario será el resultante una vez que es ingre-sado al ADC del PICAXE. Para ello, emplearemos el valor de laresolución y el del valor analógico (Va) que tendremos que digi-talizar. Por lo tanto, Va = 250mV, y para calcular la combina-ción binaria tenemos la siguiente expresión matemática:

Comb. binaria = Valor Analógico (Va) -------------------------------------–––

Resolución

Por lo tanto:

250mVComb. binaria = ----------------------- = 12.75 ≈ 13

19,6mV

El valor de 13 ahora lo tenemos que convertir a su corres-pondiente valor binario de 8 bits, quedando como sigue:00001101.

Este último valor binario es el que tomaremos como basepara realizar la comparación de los diferentes valores de vol-taje que tienen una correspondencia directa con el valor detemperatura, y entonces, para cualquier valor por debajo de00001101 (13), se desactivará el ventilador, mientras que pa-ra cualquier valor por arriba de 00001101 se tendrá que en-cender el ventilador. Por lo tanto, de la figura 78 observe quedespués de tomar un dato, digitalizarlo y almacenarlo de ma-nera temporal en la variable b0, se realiza una comparacióndel valor guardado en b0 con el valor de referencia que es 13,siendo el operador empleado en esta comparación el de un ›(mayor que), para saber en qué momento el valor de la tempe-ratura sobrepasa la magnitud de 25 °C, tal como se encuentraexpresado en el diagrama de flujo de la figura 78.

El programa es muy simple ya que tan sólo se trata de leerun dato analógico y guardarlo en una localidad de memoriaRAM. El comando para realizar la lectura del dato analógicoes el que está identificado como “readadc” y se encuentra enel bloque identificado como “other” en la página principal delprograma “Programming Editor”.

Para configurar este comando se le tiene que asignar encuál de las entradas que posee el microcontrolador PICAXE seestará empleando el ADC, además de indicarle en cuál varia-ble (localidad de memoria RAM) se alojará el dato digitaliza-do. Posteriormente, para comparar el dato que se obtiene des-pués de la digitalización se toma de la localidad de memoriaeste valor y se compara con el valor 13 (00001101) que yafue explicado anteriormente.

El comando para realizar la comparación es un rombo y seencuentran en la página principal dentro del bloque “if”. Deaquí, si el valor de la variable es mayor que el dato 13, enton-ces se interpretará como que la temperatura se encuentra porarriba de 25 °C, y; por lo tanto, encenderemos la salida S0 delPICAXE para que se observe esta acción mediante la activa-ción del ventilador.

En la figura 79 se muestra la simulación del ADC, obser-vándose en ella las ventanas donde se muestra el estado de lasentradas, las salidas y las variables temporales.

En la figura 80 publicamos el programa en código Basic.Una vez que el diagrama de flujo ya se encuentra operan-

do completamente, el paso siguiente será el de convertir el có-digo a basic, y posteriormente descargarlo al PICAXE instaladoen la tarjeta programadora.

CLUB SABER ELECTRONICA 63

Aunque ya lo hemos mostrado anterior-mente, en la figura 81 nuevamente mostra-mos la manera de cómo podemos armar elcable de programación con la identificaciónde terminales en los conectores mini jack yDB9.

Aún nos falta desarrollar una gran can-tidad de ejercicios, razón por la cual los in-vitamos a que sigan esta serie de ejemplosde utilización y consejos de programación.

LISTA DE COMPONENTES PARA ARMAR LA

TARJETA CONTROLADORA PICAXE-18

Tarjeta entrenadora PICAXE-18.D1 - Diodo 1N4001Rext1 - 5.6kΩ 1/8WRext2 - 390Ω 1/8WRL1 RelevadorQ1 - 2N2222Sensor LM35

Varios: Cable de programación, ó Cable serie y adapta-dor, cables de conexión, batería de 9V.

Programa para Desplegar Números BCD con la Tarjeta Entrenadora del Picaxe-18

En muchas ocasiones y para la mayoría de las aplicacio-nes que desarrollamos sobre un microcontrolador, tenemos quemostrar algún resultado sobre un display, que bien puede serde segmentos o de LCD, por lo que es nece-sario saber de qué manera se desplegará lainformación sobre las salidas que se tienenreservadas en un microcontrolador PICAXE.

Si nos ponemos a contabilizar todo elconjunto de información que tiene que salirpor el puerto correspondiente de algún micro-controlador para manipular un display, nece-sitaríamos de una gran cantidad de líneas quese reserven para ese uso exclusivo. De hecho,no alcanzarían todas las líneas que tuvieradisponible el microcontrolador, razón por lacual tenemos que emplear una técnica quenos ayude a solucionar este problema.

En este ejemplo haremos uso de displaysde 7 segmentos, para así aprender a enviar-les la información a éstos.

La técnica que emplearemos es la de mul-tiplexación de la información, por lo que pro-

cederemos a explicar en primera instancia el circuito que seempleará con los displays de 7 segmentos, el cual incluye untotal de 3 displays de cátodo común.

El circuito de los displays recibe el nombre de “Display de3 dígitos” cuya publicación complementaria se realizó en la re-vista Saber Electrónica Nº 220 Edición Argentina. El principiode operación es muy básico: se le hacen llegar 4 bits que sonlos que generan el código BCD, además de 3 bits que son losque indican qué número es el que se estará desplegando, estoes, se controla el encendido del display correspondiente con lasunidades, decenas o centenas.

Si se requiere mostrar el valor “578” entonces se requiereenviarle al circuito del “Display de 3 dígitos” la combinación“1000” (8) y después el bit que enciende el display de la uni-dades, después se tiene que enviar el “0111” (7) posteriormen-te el bit que enciende el display de las decenas y por último el“0101” (5) y como paso siguiente se tiene que enviar el bit queenciende el display de las centenas. Este proceso se tendrá querepetir muchas veces, dando la impresión de que siempre estánencendidos los displays.

Figura 80

Figura 81

64 CLUB SABER ELECTRONICA

Lo que se pretende con estas instrucciones es adquirir el co-nocimiento de cómo se tiene que generar la información en unmicrocontrolador PICAXE, para que, posteriormente, ésta seaenviada a las terminales de su puerto de salida. Por lo tanto, yde acuerdo a la descripción anterior, que se hizo de la mane-ra cómo funciona el circuito auxiliar denominado “Display de3 dígitos”, se tiene lo siguiente:

De alguna manera, ya debemos contar con datos, que tu-vieron que ser adquiridos previamente por algún proceso porel microcontrolador PICAXE (por ejemplo la lectura a través delconvertidor ADC descrito anteriormente en esta serie). Una vezprocesados estos datos, de acuerdo con nuestra aplicación,puede ser muy importante desplegar un dato numérico, porquea lo mejor estamos diseñando un voltímetro digital, por ejem-plo.

En la figura 82 vemos la tarjeta entrenadora PICAXE-18 yla tarjeta del Display de 3 dígitos. Se muestra la manera de co-nectar el circuito auxiliar “Display de 3 dígitos” a la tarjeta en-trenadora, por lo que ahí se observan las líneas de conexiónentre los terminales de salida del puerto de la tarjeta entrena-dora que van hacia las terminales de entrada del circuito auxi-liar. Cabe aclarar que ésta es tan sólo una sugerencia de có-mo hacerlo, ya que cada uno puede realizar las conexiones dela mejor manera posible y así optimizar los recursos de la tar-jeta entrenadora.

Sobre la misma figura 82 no se hace mención de la cone-xión de la energía al display de 3 dígitos, pero ésta se pue-de tomar de los terminales disponibles sobre la tarjeta entre-nadora que tienen la identificación de +5V, y hacer llegar es-te voltaje al borne identificado como +Bat. Una vez descritala disposición de la circuitería, procedemos a explicar el de-sarrollo del programa del microcontrolador PICAXE. Para es-ta explicación, como ya se había establecido en líneas ante-

riores, la información que será desplegada de alguna mane-ra ya fue adquirida o procesada por el microcontrolador, porlo que la única tarea que se tiene es la de mostrarla a travésdel display.

Supongamos que se requiere desplegar la información“246” a través del display; por lo tanto, en primera instanciase tiene que leer el dato de una localidad de memoria tempo-ral donde fue alojado para su posterior utilización. El dato aser desplegado lo debemos seccionar en tres partes, para sumejor manejo; por ello, se tiene que el número cuenta con lassiguientes partes: unidades, decenas y centenas, por ser 3 lascifras que componen al número total. En esta ocasión y comosugerencia, el dato de las unidades se encontrará ubicado enla localidad de memoria temporal representada por el registrodel microcontrolador PICAXE b0, el dato de las decenas se en-contrará en el registro b1 y las centenas en el registro b2.

En el programa que se va a describir, observe la figura 83.Los primeros bloques muestran la manera de cómo se guardaun dato en los registros antes mencionados (b0, b1 y b2). Estefragmento del programa puede omitirse o reemplazarse total-mente, dependiendo de la aplicación, y nuevamente recorda-mos que esta parte del programa es para uso específico de es-ta aplicación. En la figura 83 vemos los bloques de asignaciónde valores a los registros b0, b1 y b2.

El comando “let” permite la asignación de valores a varia-bles. Esta asignación se puede dar de una forma directa comoestá expresado en esta aplicación, o también se puede efectuarla asignación del resultado de una operación aritmética (+, -,*, /) ó por el resultado de una operación lógica (and, or, ne-gación, etc.). En este ejercicio se está empleando el comandode asignación de manera directa sobre los registros para alo-jar los valores que corresponden a las unidades, decenas ycentenas en b0, b1 y b2, respectivamente.

Figura 82

CLUB SABER ELECTRONICA 65

Antes de continuar con la explicación del desarrollo delprograma, regresemos por un instante al circuito de la figura82 para saber de qué manera están organizados los datos quesalen por el puerto de salida del microcontrolador PICAXE, yaque así será más sencillo seguir el desarrollo del programa.

En la figura 82 también se muestra la forma de conectar eldisplay a la tarjeta entrenadora y del circuito se observa lo si-guiente: las terminales de salida S0, S1, S2 y S3 representanlos 4 bits que generan las diferentes combinaciones BCD (Bi-nary Code Decimal o en español Código Binario Decimal) deacuerdo con la tabla 2. De ésta, que contiene los números BCDy su equivalente decimal, podemos obtener el peso específicode cada uno de los bits que generan el valor numérico BCD,siendo S0 el bit menos significativo (bms), mientras que S3 re-presenta el bit más significativo (BMS). Esta información BCDse hace llegar a los 3 displays al mismo tiempo, razón por lacual se tiene que indicar cuál de estos displays estará activo deacuerdo con la cifra que se quiere desplegar, ya que de otramanera los 3 se encenderán con la misma in-formación. La solución a lo anteriormentedescrito se encuentra en el circuito de la figu-ra 82, en donde se observa que las termina-les S4, S5 y S6 corresponden al control delas cifras de las unidades, decenas y cente-nas respectivamente, de acuerdo con la in-formación que se encuentra en la tabla 3.

Una vez que hemos visualizado la ma-nera en cómo se encuentra ordenada la in-formación del puerto de salida del microcon-trolador PICAXE, ahora procederemos a ex-plicar la manera en que se envían los datosal circuito del display de 3 dígitos.

Se mencionó en líneas anteriores que enesta aplicación solamente se desplegará la in-formación que se encuentre contenida en losregistros b0, b1 y b2. Para un programa de unproceso completo, de alguna manera estos re-gistros tendrán que ser manipulados; por lotanto, consideramos que esa actividad ya serealizó y los datos ya se encuentran en los re-gistros antes mencionados. Como siguiente pa-so, procedemos a la acción de enviar cadauna de las cifras del número completo a los dis-plays y que en esta ocasión se trata del valor“246”, por lo que comenzamos con el armadode la información que será enviada al puertode salida del microcontrolador PICAXE. La pri-mera cifra que sufrirá la manipulación es la co-rrespondiente a la de las unidades, razón porla cual, en primera instancia, emplearemos unnuevo registro, el “b3”. Ahí alojaremos un da-to de manera directa a través del comando de

asignación “let”, tal como se ilustra en la figura 84. El valor quese está guardando enel registro b3 es el16(10) que equivale ala combinación bina-ria 0010000(2), quees precisamente la quecontrola el encendidodel display de la uni-dades. Posteriormente,para enviar la informa-ción completa al puer-to de salida del PICA-XE, se hace uso nueva-mente del comando deasignación “let”, peroen esta ocasión el re-sultado de esta asigna-

TABLA 2

Número BCD Número

(S3,S2,S1,S0) Decimal

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

Tabla 3 - Activación y desactivación de los displays.(S6,S5,S4) Display Centenas Display Decenas Display Unidades000 Apagado Apagado Apagado001 Apagado Apagado Encendido010 Apagado Encendido Apagado100 Encendido Apagado Apagado

Tabla 4 - Resultado de la operación lógica OR entre los registros b0 y b3.S7 S6 S5 S4 S3 S2 S1 S0

b0 0 0 0 0 0 1 1 0b3 0 0 0 1 0 0 0 0pins 0 0 0 1 0 1 1 0

Figura 83

Figura 84 Figura 85

Figura 86

66 CLUB SABER ELECTRONICA

ción la enfocaremos directamente a los terminales de salida,por lo que se selecciona, después del comando “let”, el desti-no “pins”, ahora tenemos que unir el dato que se encuentra enel registro b0 (unidad cuyo valor es 6) con el que se encuentraen el registro b3 (control del encendido del display de la uni-dad), por lo que empleamos el operador lógico conocido comoOR, cuyo símbolo es “|”. El resultado de la operación lógicase da de la manera como se ilustra en la tabla 4.

En la figura 84 se muestra el bloque que genera la opera-ción lógica OR y cómo el resultado es enviado a los terminalesde salida del microcontrolador PICAXE. De esta forma, aunqueel valor numérico 6 está llegando al mismo tiempo a los 3 dis-plays, sólo se encenderá el que tiene la cifra significativa de lasunidades, mientras que los otros 2 displays (decenas y cente-nas) permanecerán apagados.

En la figura 84vemos los bloques deasignación de valoresal registro b3 y termi-nales de salida del PI-CAXE.

En la figura 85vemos los bloques deasignación a los re-gistros b0, b1, b2 y

b3, además de los terminales de salida del PICAXE. Estos sonlos bloques que se han implementado hasta este momento, yque controlan el encendido del display de las unidades.

Como paso siguiente al envío de la información para en-cender el display de las unidades, ahora se tiene que proseguircon el dato correspondiente a la siguiente cifra significativa,que es la decena, recordando que el valor numérico que sequiere desplegar es el “246”. Por tanto, continúa el turno delvalor 4. Para ello, a través del registro temporal b3, almacena-remos la información correspondiente al encendido del displayde las decenas. En este registro alojaremos nuevamente un da-to de manera directa, utilizando el comando de asignación“let”, tal como se ilustra en la figura 86. El valor que se estaráguardando en el registro b3 es el 32(10) que equivale a lacombinación binaria 00100000(2), que es precisamente laque controla el encendido del display de las decenas.

En la figura 86 vemos el bloque de control de los displaysde las unidades, y decenas. Para complementar la informaciónque será enviada al puerto de salida del microcontrolador PI-CAXE, hacemos uso, una vez más, del comando de asignación“let”, dirigiendo el resultado directamente a las terminales desalida del PICAXE, por lo que en el comando “let” marcamosel destino a donde dirigiremos la información: los terminalesdenominados “pins”. Posteriormente, para unir el dato que seencuentra en el registro b1 (decenas cuyo valor es 4) con el que

se encuentra en el registro b3 (control delencendido del display de las decenas),nuevamente empleamos el operador lógi-co conocido como OR (O en español), cu-yo símbolo ya lo habíamos expresado y es“|”.

El resultado de la operación lógica seilustra en la tabla 5.

En la figura 86 se muestran los blo-ques correspondientes al control de los dis-plays de las unidades y las decenas, loque nos da la posibilidad de mostrar el da-to “46”, faltando tan sólo el control del dis-play de las centenas. A continuación lo ex-plicamos.

Por último, corresponde controlar latercera cifra significativa que es la cente-na. El valor numérico que falta por desple-gar es el “2”. Para ello, en el registro tem-poral b3 almacenaremos la informacióncorrespondiente al encendido del displayde las centenas. Utilizando el comandode asignación “let”, guardamos el valor64(10) en el registro b3 que equivale ala combinación binaria 01000000(2), lacual controla el encendido del display delas centenas.

Tabla 5 - Resultado de la operación lógica OR entre los registros b1 y b3.S7 S6 S5 S4 S3 S2 S1 S0

b1 0 0 0 0 0 1 0 0B3 0 0 1 0 0 0 0 0pins 0 0 1 0 0 1 0 0

Tabla 6 - Resultado de la operación lógica OR entre los registros b2 y b3.S7 S6 S5 S4 S3 S2 S1 S0B2 0 0 0 0 0 0 1 0B3 0 1 0 0 0 0 0 0pins 0 1 0 0 0 0 1 0

Figura 87 - Diagrama de flujo completo.

CLUB SABER ELECTRONICA 67

Como ya se ha explicado detalladamente la forma de có-mo se arma el dato que será enviado al puerto de salida del PI-CAXE, procederemos a controlar el display de las centenas deuna manera más simplificada que las anteriores cifras significa-tivas.

Por medio del comando “let” uniremos el dato que se en-cuentra en el registro b2 (centenas cuyo valor es 2) con el quese encuentra en el registro b3 (control del encendido del dis-play de las centenas), empleando el operador lógico OR. El re-sultado de la operación lógica se ilustra en la tabla 6.

En la figura 87 se muestran los bloques completos del con-trol de los 3 displays que corresponden al de las unidades, de-cenas y centenas, por lo que ahora sí contamos con el poderde mostrar cualquier número completo de 3 cifras.

Con lo expuesto anteriormente, ya estamos en posibilidadde diseñar una aplicación en la que esté involucrado un tecla-do y un display para desplegar los datos que se van generan-do. También ya hemos revisado cómo trabaja el convertidoranalógico a digital (ADC).

Sólo nos falta procesar la información para mostrarla enlos displays, para que de esta manera diseñemos, por ejemplo,un voltímetro digital, proyecto que en breve publicaremos. Re-cuerden que necesitamos del programa llamado “PICAXE Pro-gramming Editor”, por lo que nuevamente hacemos la invita-ción de que lo descarguen de nuestra página de internet, quees www.webelectronica.com.ar y empleen la clave “picaxe”;en su defecto, también lo pueden adquirir en la página www-.picaxe.uk.co.

Una vez que ya se tiene el programa en Basic (figura 88),descargamos el programa al microcontrolador PICAXE que seencuentra instalado en la tarjeta programadora. Aunque ya lo

hemos publicado en reiteradas ocasiones, nuevamente mostra-mos la manera de armar el cable de programación, o en su de-fecto, utilizar un cable serie común y un adaptador que ya he-mos descrito varias veces y que volvemos a mostrar en la figu-ra 89. Sobre esta tarjeta entrenadora para un PICAXE - 18 setiene la posibilidad de desarrollar un sinnúmero de proyectos,los cuales iremos abordando poco a poco.

LISTA DE COMPONENTES PARA UTILIZAR

LA TARJETA CONTROLADORA PICAXE-18.

Tarjeta entrenadora PICAXE-18.Módulo Display de 3 dígitos

Varios: Cable de programación, ó cable serie y adapta-dor, cables de conexión, batería de 9V.

Figura 88

Figura 89 - Identificación de terminales enlos conectores mini jack y DB9.

68 CLUB SABER ELECTRONICA

CERRADURA ELECTRÓNICA EMPLEANDO LATARJETA ENTRENADORA PICAXE-18

Existen diversas maneras de diseñar una cerradura electró-nica, pero la constante que es común en todas es que debenasegurarnos la seguridad de ya sea un cuarto cerrado, una bó-veda, una zona ó un área completa; por lo tanto la cerradurase puede colocar desde una casa habitación, hasta un banco,un negocio, empresa o un centro comercial (figura 90).

Los elementos importantes de toda cerradura electrónicason el teclado, que es por donde se le ingresa la clave para po-

der acceder, y el actuador, que es un solenoide que funciona amanera de pasador y que es el que atora una puerta.

En esta ocasión emplearemos la tarjeta entrenadora del mi-crocontrolador PICAXE-18, ya que a su vez utilizaremos un te-clado matricial de 4 X 4, y el PICAXE-08 no tiene el suficientenúmero de terminales de entrada y salida.

El aspecto más importante que debemos tomar en cuenta yque emplearemos en este proyecto es principalmente la de leerel teclado matricial, ya que es por medio de este que ingresa-remos uno a uno los caracteres que conforman la clave de ac-ceso de la alarma.

El teclado será como el que semuestra en el diagrama esquemáticode la figura 91.

De hecho, por obvias razones eslo único que será visible de la cerra-dura electrónica, ya que lo demás, latarjeta entrenadora PICAXE-18 y el so-lenoide deben permanecer ocultos.

Realmente el circuito que se pro-pone es muy simple, y esto se debe aque la cerradura electrónica es unbloque muy compacto, que inclusivepuede ser instalando dentro de unacaja del mismo tipo que las emplea-das para colocar los apagadores delos focos de las casas.

En el esquema de la figura 92, semuestra la manera en que tiene queconectarse tanto la tarjeta entrenado-ra del PICAXE-18, como el tecladomatricial, además de los dispositivoselectrónicos complementarios.

La forma de operar de la cerradura electrónica es la si-guiente: La cerradura se basa principalmente en la lectura delteclado matricial, por lo que se emplean 4 salidas del micro-controlador PICAXE-18 para tal efecto, las salidas empleadasse encuentran identificadas como S0, S1, S2 y S3. Por otraparte para completar la lectura del teclado es necesario el em-pleo de otras 4 terminales del PICAXE, pero ahora serán termi-nales de entrada siendo las terminales E0, E1, E2 y E6 las quese dedican a dicha labor.

Para que se tenga una buena referencia eléctrica de la in-formación que se hace llegar a las terminales de entrada delmicrocontrolador PICAXE, se utilizan los resistores identificadoscomo Rext4, Rext5, Rext6 y Rext7.

Una vez que se ingrese la clave adecuada a la cerraduraelectrónica, será necesario enviar una señal que active un sole-noide para que abra (desatore) el cerrojo de una puerta, paraello se emplea la salida S4 del microcontrolador PICAXE-18, ypara activar al solenoide se hace por medio de los contactosde un relevador, que a su vez la bobina del relevador tiene que

Figura 90 - Puerta protegida por una cerradura electrónica

Figura 91 - Diagrama esquemático de la tarjeta entre-nadora PICAXE-18.

CLUB SABER ELECTRONICA 69

ser energizada por medio de la salida antes mencionada (S4).Como se sabe, la bobina de un relevador es clasificado comoelemento de potencia, y ninguno de éstos (aunque se trate deun led) debe ser alimentado directamente por la salida de unmicrocontrolador cualquiera que este sea. Por lo tanto paraactivar la bobina del relevador se emplea un amplificador ope-racional, en la configuración de seguidor de voltaje, el resistoridentificado como Rext2 tiene la tarea de colocar una referen-cia de voltaje a GND en la entrada del seguidor de voltaje, ypara manejar la corriente que demanda la bobina finalmentese tiene un transistor (Q1), y por último un diodo identificadocomo D1 cuya función es la de eliminar la fuerza contra-elec-tromotriz que produce la bobina del relevador. Las termina-les del contacto del relevador que será empleado para activaró desactivar al solenoide se identifican como TerSol1 y TerSol2,entre estas terminales puede utilizarse un solenoide ya sea pa-ra voltaje de corriente directa (CD) como para voltaje de co-rriente alterna (CA), por lo que dependiendo del tipo de ener-gía se tiene que hacer llegar ésta al contacto del relevador.

Después de explicar cuál es el circuito que será empleadopara nuestra cerradura electrónica, ahora procederemos a de-sarrollar el programa para que el microcontrolador PICAXE-18realice la función de la cerradura.

Para comenzar con el programa en primera instancia expli-caremos cuál es el algoritmo sobre el que trabaja la lectura delteclado matricial, para ello se emplean las salidas S0, S1, S2y S3 y a cada una de las salidas se tendrá que enviar un “1”lógico a la vez, mientras las 3 restantes se fijan con un “0” ló-gico. Esos “1's” lógicos se hacen llegar al teclado matricial,y en él se van activando cada una de sus filas, y así tenemosque para activar la fila F0 se tiene que enviar un “1” lógico através de la salida S0, posteriormente tenemos que enviar un“1” lógico por la salida S1 para que sea activada la fila F1, yasí sucesivamente hasta llegar a la fila F3 que corresponde con

la salida S3. Lo que es importante tomar en cuenta es que si enuna salida se tiene un “1” lógico, las 3 terminales restantes sefijarán con un “0” lógico. El “1” lógico tiene que ser enviadosólo uno a la vez, para que de esa manera se sepa que fila esla que se está activando.

Una vez que el “1” lógico se encuentra en el teclado ma-tricial, ahora sólo tenemos que esperar a que sea presionadauna tecla y dependiendo de la que sea oprimida, se regresaraa una de las terminales de entrada el “1” lógico que previa-mente se envió a través de una salida del PICAXE (S0, S1, S2ó S3).

Recordemos que las terminales de entrada que se utilizaránson E0, E1, E2 y E6, que respectivamente corresponden a lascolumnas 0, 1, 2 y 3.

En el teclado matricial cuando es presionada una tecla, secierra un interruptor que interconecta una fila con una columna,es por ello que solo se envía un “1” lógico a la vez a la fila co-rrespondiente, porque ese “1” lógico se reflejara en una colum-na que es en donde se oprime el botón del teclado matricial.Si fueran enviados mas de “1” lógico a la vez, no se tendríacontrol de que botón fue el que se oprimió.

En la figura 93 se muestra el teclado matricial y la identifi-cación de sus teclas, para poder ingresar los datos que se re-quieren y se pueda validar alguna clave de acceso. En estaocasión del teclado matricial de 4X4 solo serán empleadas 3de sus 4 columnas, pero eso no quiere decir que no se puedenutilizar todas sus teclas, ya que aparte de los números se pue-den implementar las funciones de “borrar”, “validar”, etc.

En la tabla 7 se muestra cuál es la combinación de fila ycolumna que se presenta cuando una tecla es oprimida.

Figura 93 - Teclado matrical y la definición de sus teclaspara la cerradura electrónica

Figura 92 - Conexión de la cerradura electrónica

70 CLUB SABER ELECTRONICA

A continuación vamos a explicar el programa con el que sehace trabajar al microcontrolador PICAXE, teniendo el progra-ma la misma base de operación que la propuesta para contro-lar al teclado matricial.

Tal como se explico en líneas anteriores que lo que se tie-ne que ir haciendo es activar cada fila una por una, por lo tan-to, se tiene que comenzar de la primera, o sea la fila 0. Pa-ra ello a través del comando “let pins=1” se envía un “1” lógi-co a la salida S0 del microcontrolador PICAXE y que correspon-de con la fila 0. Como paso siguiente se produce un retardo oespera de 10 mseg, tiempo suficiente para eliminar el rebote

que genere el interruptor que se oprima del teclado, una vezque termina el tiempo de 10 mseg, podemos dar por hechoque si fue oprimida una tecla, esta ya se estabilizo y por lo tan-to ahora se puede saber que tecla fue la que se acciono, por-que como ya se explico en la parte de la electrónica del circui-to de la cerradura electrónica, una vez que se activa una filadel teclado matricial, es a través de la columna que sabemosque tecla se oprimió.

Es por ello que se pregunta por cual terminal de entrada serecibe un “1” lógico (si es que se oprimió una tecla). Recorde-mos que pueden ser posibilidades las que nos reporten la posi-ble identificación de una tecla, porque si se activa la fila 0 se

Figura 94 - Fragmento del diagrama de flujo que activala fila 0 del teclado matricial.

Figura 95 - Fragmento del diagrama de flujo que activala fila 1 del teclado matricial.

Tabla 7 - Combinación de filas y columnasC0 = E0 C1 = E1 C1 = E1 C3 = E6

FO=S0 1 2 3 NIF1=S1 4 5 6 NIF2=S2 7 8 9 NIF3=S3 * 0 # NI

NI - No Implementado.

CLUB SABER ELECTRONICA 71

tiene abierta la identificación de las teclas “1”, “2” y “3” quecorresponden con las columnas 0, 1 y 2, y que a su vez se re-cibe la información a través de las entradas 0, 1 ó 2. Espor ello que si una condición es valida en los comandos “if” delfragmento del diagrama de flujo de la figura 94, dependiendocuál entrada se esté comparando se le asignará a la variable“b0” el valor correspondiente con la tecla que ha sido identifi-cada (si es que ésta fue presionada). Una vez que fue presio-nada una tecla entonces se procede a guardar el valor de la te-cla en la localidad que le corresponde, esto es, si la clave pa-ra abrir la cerradura es de 4 dígitos, se guardara el valor dela tecla en la posición correspondiente, digito 1 digito 2 o di-gito 3 ó digito 4, esto se hace en un paso posterior emplean-do el salto identificado como un 1 encerrado en un circulo.

Si ninguna tecla de la fila 0 es accionada, entonces el re-sultado de los comandos “if” de la figura 94 darán como resul-tado una acción no valida, y por lo tanto ahora se tiene queactivar la fila siguiente que en este caso se refiere a la fila 1,para esto se emplea el salto identificado con el valor 2 ence-rrado en un circulo, y por lo tanto ahora se estará activando lafila 1, tal como se ilustra en la figura 95.

Para llevar un control sobre que digito de la clave se esta

guardando, se emplea la variable “b13” que se es quien a tra-vés de un contador se lleva el control de la posición del digitoque integra la clave de la cerradura electrónica. En esteejemplo se tiene una clave de 4 dígitos, por lo tanto dependien-do del digito que se este buscando, será el valor de la variableb13, y por lo tanto llegara hasta máximo un valor de 4.

Básicamente cuando se pasa a la activación de la fila 1, elproceso es el mismo que para la fila 0, solo que en esta opor-tunidad, la salida que se activará será la identificada en el mi-crocontrolador PICAXE como S1 y que corresponde con la fila1, haciéndose esta operación por medio del comando “letpins=2”. De igual manera para evitar los rebotes mecáni-cos de los interruptores del teclado matricial, es empleado unretardo (comando “pause 10”) de 10 mseg. Acto seguido de-pendiendo en que columna se encuentra la tecla que se opri-ma, será por donde se reciba el correspondiente “1” lógico através de la terminal de entrada, solo que en esta ocasión lasposibles teclas que pueden ser activadas con las identificadascomo 4, 5, ó 6. Que corresponden con las entradas E0, E1

Figura 96 - Fragmento del diagrama de flujo que activala fila 2 del teclado matricial.

Figura 97 - Fragmento del diagrama de flujo que activa lafila 3 del teclado matricial.

72 CLUB SABER ELECTRONICA

ó E2. Si fue presionada una tecla de la fila 1, se procederá aguardarla en el registro correspondiente dependiendo de la po-sición del dígito que se esta buscando. En caso de que no seoprima tecla alguna de la fila 1, entonces se pasara a buscarsi en la fila 2 es en donde se presione una tecla.

La operación que se realiza para las filas 0 y 1 es la mis-ma que se utiliza para las filas 2 y 3, pero buscando que seoprima cualquiera de las teclas 7, 8 ó 9 para la fila 2, ó las te-clas *, 0 ó # para la fila 3, de acuerdo a como se observa enlas figuras 96 y 97 correspondientemente.

En la fila 3 las teclas * y # las relacionamos con un valordigital que son el 255 para * y 254 para #, por lo tanto aun-que no se trate de un valor numérico, podemos relacionar cual-quier acción que queremos que haga una tecla con un identifi-cador para que al final se tenga la posibilidad de tener variasopciones para fijar en un teclado matricial.

Por último en la figura 98 se muestra que dependiendo delvalor que tenga la variable “b13”, será alojado el valor de la

tecla que fue encontrado previamente, el dato antes de ser alo-jado adecuadamente se encuentra en una variable temporal yse trata de la variable “b0”. Si el digito que se esta buscandoes el primero, entonces su valor será alojado en la variable“b1”, o en la variable “b2” si se trata del segundo digito, y asísucesivamente hasta completar los 4 dígitos.

Si el valor de b13 es menor que 4, entonces una vez quese ha guardado el valor de la tecla, se incrementa en una uni-dad el valor de b13, mientras que si después de guardar el va-lor del cuarto digito (recordemos que la clave propuesta es de4 dígitos), entonces el paso siguiente es el de corroborar quela clave es valida, por lo tanto se compara digito por digito conrespecto a un valor previo que fue almacenado. En caso de quela clave no sea la “buena”, entonces se limpian los registros delos dígitos de la clave y nuevamente nos vamos a recorrer la fi-la 0 del programa. En esta ocasión la clave preestablecida esla dada por la siguiente secuencia de dígitos”4321”.

Una vez que se observa que la clave es la misma que la

Figura 98- Fragmento del diagrama de flujo que valida la clave del teclado matricial.

CLUB SABER ELECTRONICA 73

preestablecida, entonces como paso siguiente se procede a re-correr el cerrojo de la puerta, haciéndose esta acción por me-dio de la salida 4 que es por medio de esta que se activa alsolenoide. La salida 5 también es activada para que un indi-cador luminoso nos avise que la cerradura electrónica nos per-mite ingresar a una determinada zona.

La activación del solenoide no será permanente, y es porello que se dispone de un temporizador para que esta accióndure tal solo 3 segundos, tiempo suficiente para empujar o ja-lar la puerta que acaba de abrirse a través de la cerraduraelectrónica. Cuando se cumple el tiempo de 3 segundos, se de-sactivan las salidas 4 y 5, y también se limpian los registros delos dígitos de la clave de la cerradura electrónica

En la figura 99 se muestra el diagrama de flujo completodel programa que controla la cerradura electrónica.

A continuación se encuentra el código del programa delmicrocontrolador PICAXE en basic, que es la conversión deldiagrama de flujo.

Programa en Basic del Diagrama de Flujo de la figura 99main:label_35: let b13= 1label_3C: let pins = 1 ' %00000001

pause 10if pin0=1 then label_5Bif pin1=1 then label_54

label_23: if pin2=1 then label_4D

let pins = 2 ' %00000010pause 10if pin0=1 then label_A3if pin1=1 then label_9Cif pin2=1 then label_95

let pins = 4 ' %00000100pause 10if pin0=1 then label_154if pin1=1 then label_14Dif pin2=1 then label_146

let pins = 8 ' %00001000pause 10if pin0=1 then label_1B0if pin1=1 then label_1A9if pin2=1 then label_1A2

goto label_3C

label_4D: let b0= 3label_43:label_B6: if b13= 1 then label_F7

if b13= 2 then label_F0if b13= 3 then label_E9if b13= 4 then label_E2

label_230: let b1= 0let b2= 0let b3= 0let b4= 0

Figura 99 - Diagrama de flujo completo.

74 CLUB SABER ELECTRONICA

goto label_35label_54: let b0= 2

goto label_43

label_5B: let b0= 1goto label_43

label_95: let b0= 6label_101:

goto label_B6

label_9C: let b0= 5goto label_101

label_A3: let b0= 4goto label_101

label_E2: let b4=b0if b1= 1 then label_20Fgoto label_230

label_E9: let b3=b0label_2E: let b13=b13+ 1label_1E0: if pin0=0 then label_1EB

goto label_1E0

label_F0: let b2=b0goto label_2E

label_F7: let b1=b0goto label_2E

label_146: let b0= 9label_15D:

goto label_B6

label_14D: let b0= 8goto label_15D

label_154: let b0= 7goto label_15D

label_1A2: let b0= 255label_1B9:

goto label_B6

label_1A9: let b0= 0goto label_1B9

label_1B0: let b0= 254goto label_1B9

label_1EB: if pin1=0 then label_1F6goto label_1EB

label_1F6: if pin2=0 then label_1D2goto label_1F6

label_1D2:goto label_3C

label_20F: if b2= 2 then label_21Agoto label_230

label_21A: if b3= 3 then label_225goto label_230

label_225: if b4= 4 then label_25Egoto label_230

label_25E: high 4high 5wait 3low 4low 5

goto label_230

Recuerden que a través de nuestra página de internetwww.webelectronica.com.ar pueden descargar tanto el progra-ma “Programming Editor” como los códigos tanto en diagramade flujo como en basic del presente ejemplo, tan solo utilicen laclave “picaxe”. ************

marketplace 261.qxd 4/10/12 4:30 PM Página 79

marketplace 261.qxd 4/10/12 4:30 PM Página 78

4ª forros.qxd:Maquetación 1 15/01/14 12:45 Página 1

3ª forros.qxd:Maquetación 1 15/01/14 12:46 Página 1