2ª de forros.qxd
9/5/11
12:53 PM
Página 2ªFo1
Sumario club 161_ArtTapa 10/03/2019 11:11 a. m. Página 1
Programación Fácil de Microcontroladores PICAXE Programación Fácil de
Microcontroladores
PICAXE
Capítulo 1: Qué Son y Cómo Se uSan loS pICaXe 3 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Ventajas del Sistema PICAXE . . . . . . . . . . . . . . . .6 Comenzando a Trabajar con PICAXE . . . . . . . . . .8 El Editor de Programas . . . . . . . . . . . . . . . . . . . . .9 Los Distintos Tipos de PICAXE . . . . . . . . . . . . . .12 Kits PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Tarjeta Entrenadora PICAXE-08 . . . . . . . . . . . . .14 Tarjeta Entrenadora PICAXE-18 . . . . . . . . . . . . .16 PLC PICAXE-18 (ICA-017) . . . . . . . . . . . . . . . . .16 Control de Display de LCD para PICAXE-18 . . .16
Capítulo 2 trabajando Con mICroControladoreS pICaXe . . . . . . . . . . . . . . . . . . . . . . . . .19 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 El Sistema PICAXE . . . . . . . . . . . . . . . . . . . . . .20 Comenzando las Prácticas . . . . . . . . . . . . . . . . .22 Usando COMENTARIOS . . . . . . . . . . . . . . . . . . .22 Uso de SYMBOL . . . . . . . . . . . . . . . . . . . . . . . . .23 Uso de Constantes . . . . . . . . . . . . . . . . . . . . . . .23 Designación de Variables . . . . . . . . . . . . . . . . . .24 Los Comandos de Programación BASIC en PICAXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 FOR ... NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . .27 HIGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 LOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 IF…THEN IF…AND…THEN IF…OR…THEN . .31 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 INFRAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 READADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 READADC10 . . . . . . . . . . . . . . . . . . . . . . . . . . .36 PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 I2CSLAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Sumario READI2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 WRITEI2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 READOWSN . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 SERTXD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 PULSIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 PULSOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 SERIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 SEROUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 SETINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 BRANCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 BUTTON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 SERVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 SOUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 READTEMP - READTEMP12 . . . . . . . . . . . . . .54 PWMOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 SETFREQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
Capítulo 3 aprendIendo a programar pICaXe . . .59 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 ¿Qué es una batería? . . . . . . . . . . . . . . . . . . . . .59 Uso y Prueba de LEDs . . . . . . . . . . . . . . . . . . . .61 Uso y Prueba de Timbres y Zumbadores . . . . . .63 Prueba y Uso de Sensores Digitales . . . . . . . . . .65 Prueba y Uso de Fotorresistencias . . . . . . . . . . .67 Utilizando el Comando Symbol . . . . . . . . . . . . .70 Practicando con el PICAXE-18 . . . . . . . . . . . . . .72 Utilizando Bucles For…Next . . . . . . . . . . . . . . . .73 Controlando la Velocidad de un Motor . . . . . . . .74 Uso de Timbres y Zumbadores Electrónicos en el Sistema PICAXE . . . . . . . . . . . . . . . . . . . . .75 Uso de Entradas con Sensores Digitales . . . . . .77 Uso de Entradas con Sensores Analógicos . . . .78 Cómo se Leen las Entradas Analógicas . . . . . . .78
apéndICe robótICa para nIñoS, adoleSCenteS y adultoS . . .81 Bitbloq 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Club Saber Electrónica Nº 161 1
Sumario club 161_ArtTapa 10/03/2019 11:11 a. m. Página 2
Qué Son y Cómo se Usan los PICAXE
Editorial director Ing. Horacio D. Vallejo autor de este tomo de Colección: Autores Varios Selección y Coordinación: Ing. Horacio Daniel Vallejo Editorial QUarK S.r.l. Propietariadelosderechosencastellanodelapublicación mensual SabEr ElECtróNiCa - Altolafguirre 310(1870)VillaDomínico-BuenosAires-ArgentinaT.E.1142061742 administración y negocios Patricia Rivero Rivero (SISA SA de CV) Margarita Rivero Rivero (SISA SA de CV) Staff Liliana Teresa Vallejo Mariela Vallejo Diego Vallejo Luis Alberto Castro Regalado (SISA SA de CV) Federico Vallejo atención al Cliente Alejandro Vallejo
[email protected] Internet: www.webelectronica.com.ar publicidad: Rafael Morales
[email protected] Club Se: grupo Quark Srl
[email protected] editorial Quark Srl San Ricardo 2072 (1273) - Capital Federal www.webelectronica.com.mx La Editorial no se responsabiliza por el contenido de las notas firmadas. Todos los productos o marcas que se mencionan son a los efectos de prestar un servicio al lector, y no entrañan responsabilidad de nuestra parte. Está prohibida la reproducción total o parcial del material contenido en esta revista, así como la industrialización y/o comercialización de los aparatos o ideas que aparecen en los mencionados textos, bajo pena de sanciones legales, salvo mediante autorización por escrito de la Editorial. SEGUNDA EDICIÓN, abril 2019
Del Editor al Lector Si esta es la primera vez que lee sobre este tema, le comentamos que PICAXE es un sistema de microcontroladores que nació como un proyecto educativo y que, rápidamente, se convirtió en referente para aprender a diseñar sistemas microcontrolados mediante programaciones fáciles de comprender. Básicamente son microcontroladores PIC a los que la empresa Education Revolution les programa un firmware para que puedan ser programados en el circuito en que se los va a utilizar (no es preciso un programador) utilizando una aplicación llamada Programing Editor que permite hacer programas en diagramas de flujo y en lenguaje Basic. En los tomos de colección Nº 7, 16 y 29 de esta obra, Club Saber Electrónica, nos dedicamos a explicar qué es PICAXE, cómo se los programa mediante el uso de diagramas de flujo y dimos varios circuitos prácticos. El objetivo de este tomo es introducirlo al lenguaje BASIC de modo que aprenda a programar utilizando un lenguaje sencillo que posee muy pocas instrucciones, con el que podrá darle “más poder” a los PICAXE dado que podrá ahorrar líneas de comando, haciendo más efectiva a la memoria EEPROM de estos micros. Para la elaboración del capítulo 2 nos basamos en escritos del Ingeniero Martín Alejandro Torres Fortelli de “ElectroEscuela Virtual” quien propone ejemplos básicos para que Ud. aprenda mientras realiza sus propias prácticas de simulación en el Programing Editor. A su vez, le brindamos la oportunidad de descargar 2 discos compactos completos, uno con un Curso Programado de PICAXE con Test de Evaluación y Diploma extendido por importantes Instituciones y otro con un Curso en video sobre Programación de Microcontroladores PICAXE. En esta segunda edición, decidimos agregar un capítulo sobre Bitbloq 2 es un lenguaje de programación por bloques, ideal para el aprendizaje de niños, adolescentes y adultos. Esperamos que disfrute de este material. ¡Hasta el mes próximo!
Sobre loS CDS y Su DeSCarga Ud, podrá descargar de nuestra web 2 CDs: “Curso Programado de Microcontroladores PICAXE” y “Ambiente de Programación de Microcontroladores PICAXE” (en video). El primero incluye un curso con asesoramiento a través de Internet y Diploma de aprobación. Para realizar la descarga deberá ingresar a nuestra web: www.webelectronica.com.mx, tendrá que hacer clic en el ícono password e ingresar la clave “picaxe79”. Tenga este texto cerca suyo ya que se le hará una pregunta aleatoria sobre el contenido para que pueda iniciar la descarga.
Club Saber Electrónica Nº 161 2
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 3
CAPÍTULO 1 Los microcontroladores PICAXE, mas que ser considerados como una serie de circuitos integrados fáciles de programar, constituyen la integración de todo un sistema en el cual están involucrados, a parte de los dispositivos electrónicos (los propios microcontroladores PICAXE), el software para programarlos (entorno de programación Programming Editor y aplicación Logicator). La ventaja que se tiene al utilizar los microcontroladores del sistema PICAXE es que, aun sin tener conocimientos, se puede aprender de una manera muy fácil, ya que utiliza un lenguaje BASIC muy sencillo, además de contar también con la posibilidad de programarlos con diagramas de flujo. En este capítulo explicaremos qué son los PICAXE, cómo podemos realizar fácilmente diseños de sistemas que los contengan, qué tipos de PICAXE podemos encontrar y cómo se usa el entorno de programación
QUÉ SON Y CÓMO SE USAN LOS
PICAXE
INTRODUCCIÓN Un PIC es un microcontrolador que precisa un entorno de desarrollo (el MPLAB) para editar programas, simularlos, convertir el programa en un archivo hexadecimal y realizar la simulación que verifique que está todo bien. Luego, se precisa un cargador para “descargar” el programa en la memoria del PIC, y por último se debe quitar el PIC del cargador y colocarlo en el circuito donde va a funcionar. Un PICAXE “no precisa nada de todo eso...” es un PIC al que se le ha grabado un programa interno (firmware) para que pueda ser “cargado” en la misma placa donde va a funcionar por medio de un software gratuito y en el que los programas pueden escribirse en BASIC o en diagrama de flujo. Desde que el primer microprocesador vio la luz del mundo (el 4004), y cuya única y principal operación era una suma de 1 bit, se comenzó con una carrera tecnológica que lejos de ver el fin, día a día va logrando cosas inimaginables, tal es el caso de los microcontroladores que vendrían a ser el ejemplo resumido y en miniatura, de una computadora personal (PC). Un microcontrolador del sistema PICAXE puede ser de 8, 18, 28 o 40 terminales o más (figura 1), inter-
Club Saber Electrónica Nº 161 3
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 4
Qué Son y Cómo se Usan los PICAXE
namente dentro de su encapsulado, posee como equipamiento mínimo un microprocesador, memoria RAM, y distintas versiones de memoria ROM. Los microcontroladores más avanzados, aparte de lo mencionado anteriormente, también llegan a poseer temporizadores ADC, DAC, Comunicación en paralelo, USAR, etc. Un microcontrolador, desde el punto de vista de operación, puede considerarse como si fuera una PC, ya FIGURA 1 - UN PICAXE ES UN PIC DE que cuenta con el conjunto básico de implementos MICROCHIP AL QUE SE LE AGREGÓ UN FIRMWARE que necesita para realizar sus funciones, esto es, PARA FACILITAR SU PROGRAMACIÓN. microprocesador, disco duro, memoria RAM, etc. Clásicamente, cuando programamos un microcontrolador, de forma implícita se tiene que desarrollar un programa que trabaja a manera del BIOS de una PC, ya que lo primero que debemos tomar en cuenta es la configuración de sus puertos, ya sea como de entrada o de salida, configurar sus demás herramientas como pueden ser los temporizadores, los ACD, etc. Han aparecido en el mercado, sistemas de desarrollo que permiten la programación del microcontrolador de una manera relativamente fácil, en la cual se puede emular el proceso que nos inteFIGURA 2 - LA EMPRESA EDUCATION resa desarrollar. R EVOLUTION FACILITA HERRAMIENTAS PARA Para la mayoría de estos sistemas de desarrollo, una APRENDER A TRABAJAR CON LOS MICROCONTROvez que se tiene terminada la aplicación, el paso LADORES PICAXE. siguiente es armar el prototipo e insertar el microcontrolador debidamente programado. En la figura 2 se puede observar un kit de desarrollo para trabajar con microcontroladores, en este caso con el sistema PICAXE. Tenga en cuenta que no es preciso que compre programa alguno para empezar a trabajar, dado que lo puede bajar gratis de Internet, además, Ud. puede armar el cable de conexión a la PC y la placa de circuito impreso del dispositivo que desee. Hace apenas un tiempo, se ha lanzado al mercado el sistema de desarrollo para programar microcontroladores PIC llamado PICAXE, que de por sí, quien ha utilizado estos microcontroladores, puede constatar lo sencillo que resulta su programación, el sistema de desarrollo PICAXE hace las cosas todavía más sencillas para el programador. El sistema de desarrollo PICAXE hace las cosas todavía más sencillas para el programador, ya que cuenta con dos opciones de diseñar una aplicación: una por medio de diagramas de flujo y otra por medio de “BASIC”, y aunque esto no es ninguna novedad, (ya que estas herramientas existían con anterioridad), lo ventajoso del PICAXE radica en el hecho de que se trata de un microcontrolador PIC que, en un segmento de memoria ROM interna le ha sido grabado desde su fabricación, un firmware a manera de BIOS que simplifica la forma de programarlo. Al igual que en todos los sistemas de desarrollo, existen ya predefinidas toda una serie de tarjetas de prácticas sobre las cuales podemos emular las aplicaciones que hemos diseñado, pero gracias al firm-
4
Club Saber Electrónica Nº 161
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 5
Programación Fácil de Microcontroladores PICAXE
ware que poseen los microcontroladores PICAXE “se puede armar la aplicación completa incluyendo al microcontrolador”, y sobre la aplicación programarlo sin necesidad del sistema de desarrollo, ni del circuito programador de microcontroladores (vea la figura 3). De hecho, el sistema PICAXE hace más accesible la programación de microcontroladores a todas aquellas personas que tan sólo cumplan con el único e indispensable requisito que es el de querer aprender. Vea en la figura 4 una “pantalla” de la aplicación que nos permitirá realizar el programa que vamos a carFIGURA 3 - UNA DE LAS VENTAJAS DEL PICAXE gar adentro del PIC. ES QUE LA PLACA EN QUE SE USA PUEDE TENER Aquí no vamos a mencionar las ventajas y desventaUN CONECTOR PARA PODER PROGRAMARLO SIN jas del sistema PICAXE con respecto a otros, lo único SACARLO DE SU ZÓCALO. que podemos agregar es que se trata de otra manera de programar microcontroladores PIC, empleando diagramas de flujo y/o lenguaje BASIC (figura 5), con los cuales, ya sea de manera consciente o totalmente implícita, recurrimos a ellos para elaborar un programa. Debemos aclarar que para programar en diagrama de flujo, la empresa Education Revolution desarrolló la aplicación “Logicator” que también sirve para trabajar con PICs y de la cual hablaremos más adeFIGURA 4 - LA APLICACIÓN PROGRAMING EDITOR PERMITE CONSTRUIR PROGRAMAS PARA PICAXE EN DIAGRAMAS DE FLUJO. HOY, LA EMPRESA lante. La empresa menciona EDUCATION REVOLUTION OFRECE EL PROGRAMA LOGICATOR QUE TAMque en el futuro ya no actualiBIÉN SIRVE PARA TRABAJAR CON LOS PIC DE MICROCHIP. PUEDE DESzará el editor por diagrama de CARGAR GRATUITAMENTE UN MANUAL COMPLETO SOBRE EL MANEJO DE LOGICATOR CON LA CLAVE: “PICAXELOGIC”. flujos del “Programing Editor” por lo cual el usuario deberá aprender a manejar el Logicator. Aquí el problema es que sólo será gratuita una versión limitada y para adquirir la versión full deberá comprar la licencia. A lo largo de estas páginas, iremos aprendiendo paso a paso la forma de cómo programar los microcontroladores bajo el sistema PICAXE. Para ello, como primer paso, emplearemos una tarjeta de desarrollo de la cual proporcionaremos su circuitería para que ustedes la puedan armar, posteriormente después de realizar algunas prácticas, avanzaremos sobre aplicaciones en donde se tenga al microcontrolador como elemento principal y al cual programaremos en sitio.
Club Saber Electrónica Nº 161 5
Cap 1 - PICAXE
VENTAJAS
9/6/11
DEL
10:03 AM
Página 6
Qué Son y Cómo se Usan los PICAXE
SISTEMA PICAXE
Como dijimos, el PICAXE es un sistema de microcontroladores PIC muy fácil de programar ya que utiliza un lenguaje BASIC muy sencillo, además de contar también con la posibilidad de programarlos con diagramas de flujo. Aprovecha todas las características de los microcontroladores de bajo costo que incorporan memoria FLASH. Está disponible en tres versiones que son el de 8 terminales (PICAXE-08), 18 terminales (PICAXEFIGURA 5 - EL PROGRAMING EDITOR PERMITE 18) y 28 terminales (PICAXE-28). En estos microPROGRAMAR EN BASIC O CONVERTIR EL DIAGRAMA DE FLUJO EN BASIC. controladores ya se tienen definidas las terminales que tienen la función de entrada y salida de datos, además de las terminales que sirven para programar al PICAXE en sitio, o en otras palabras sobre la misma aplicación. En las figuras 6, 7 y 8 se muestran los circuitos esquemáticos de la disposición de cada uno de los microcontroladores PICAXE. En la figura 6 se muestra el circuito esquemático para un PICAXE de 8 terminales, de las cuales las que están identificadas como Pin1 E/S, Pin2 E/S, Pin3 E/S y Pin4 E/S, son terminales que pueden funcionar como entradas o salidas de datos del exterior hacia el microcontrolador. Las terminales identificadas como Serial En y Serial Sal, se utilizan para programar al microcontrolador a través del puerto serie de una PC, para lo cual las terminales del conector identificado como CON1 se hacen llegar al conector DB9 de la PC, tal como se muestra en la figura 9. Por otra parte, de la misma figura 6 se observa que la terminal identificada como Serial Sal, cumple con una doble función, y dependiendo de dónde se ubique un jumper selector en el conector CON2, se podrá programar al PIC o esa misma terminal una vez programado el PIC tendrá la función de una terminal de salida de datos. Del circuito esquemático de la figura 7 se observa la forma en que están dispuestas las terminales de un PICAXE de 18 terminales, de las cuales las que se encuentran identificadas como En 0, En 1, En 2, En 6 y En 7 son dedicadas exclusivamente para adquirir datos del exterior hacia el microcontrolador. Las terminales que se encuentran identifiFIGURA 6 - CIRCUITO BÁSICO DE ENTRENAMIENTO PARA EL PICAXE-08. cadas de la Sal 0 a
6
Club Saber Electrónica Nº 161
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 7
Programación Fácil de Microcontroladores PICAXE
Sal 7 son exclusivamente para enviar datos hacia afuera del microcontrolador, mientras que las terminales identificadas como Serial Sal y Serial En, se utilizan para programar al microcontrolador. En el circuito de la figura 8 se muestra la forma de conectar a un PICAXE de 28 terminales, en donde aparte de las patas FIGURA 7 - CIRCUITO BÁSICO DE ENTRENAMIENTO PARA EL PICAXE-18. de entrada que se encuentran definidas como En 0 a En 7, también se cuenta con las terminales de salida identificadas como Sal 0 a Sal 7, además de 4 terminales para entrada de datos analógicos, y por último las terminales de programación del microcontrolador. Ya se ha mencionado que el sistema PICAXE no requiere de programador o borrador, FIGURA 8 - CIRCUITO BÁSICO DE ENTRENAMIENTO PARA EL PICAXE-28. ya que utiliza únicamente tres alambres conectados al puerto serie de una computadora, tal como se describe en la siguiente figura 9. Una vez que han sido identificadas las terminales a utilizar en el conector del puerto serie de la PC, ahora lo que sigue es preparar la conexión hacia el PIC tomando en cuenta las termiFIGURA 9 - LOS PICAXE SE COMUNICAN CON LA PC A TRAVÉS DEL PUERTO COM, UTILIZANDO PROTOCOLO RS232. nales, tal como se aprecia en la figura 10.
Club Saber Electrónica Nº 161 7
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 8
Qué Son y Cómo se Usan los PICAXE
Como se puede observar en la figura 10, se puede emplear (es recomendable) un plug de los utilizados para conectar los audífonos a la salida de audio de un walkman o discman, y tener un cable con un conector DB9 en un extremo y un plug de audio en el otro, tal como se ilustra en la figura 11. Ahora bien, la mayoría de las computadoras pequeñas, tipo nanobook, no poseen puerto RS232 y hasta las notebook FIGURA 10 - DIAGRAMA DE ARMADO DEL CABLE QUE SE UTILIZA PARA actuales tampoco lo incluyen. En PROGRAMAR LOS PICAXE. ese caso, se debe utilizar un conector que comercializa la empresa Education Revolution, o colocar un conversor USB a RS232 como el que publicamos en saber Electrónica Nº 178 o el circuito de Saber Electrónica Nº 223. En la figura 12 podemos observar el circuito eléctrico con su placa de circuito impreso de dicho conversor. Si desea más detalles del armado puede recurrir a dicha revista. También puede comprar un conversor USB a RS FIGURA11 - VISTA DEL CABLE DE PROGRAMA232 como el de la figura 13; en ese caso debe CIÓN TERMINADO. asegurarse que el dispositivo genere un puerto COM real, es decir, que no sea un dispositivo HID, ya que en ese caso no le va a servir. COMENZANDO A TRABAJAR CON PICAXE “PICAXE” es un sistema que emplea un micro fácil de programar que utiliza un lenguaje BASIC muy simple, el cual la mayoría de los estudiantes pueden aprender rápidamente. Los microcontroladores (con memoria FLASH) pueden ser programados una y otra vez sin la necesidad de un costoso programador PIC. El sistema no necesita de ningún programador, borrador o complejo sistema electrónico. El programa puede escribirse en BASIC o por medio de un diagrama de flujo y se carga mediante una conexión de tres cables conectada al puerto serie de la computadora. El sistema PICAXE consiste en tres componentes principales: 1) El software editor de programación. 2) El cable de conexión al puerto serial de la PC. 3) El chip PICAXE.
8
Club Saber Electrónica Nº 161
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 9
Programación Fácil de Microcontroladores PICAXE
FIGURA 12 - PARA PODER UTILIZAR UN SISTEMA PICAXE CON UNA COMPUTADORA A TRAVÉS DEL PUERTO USB SE DEBE EMPLEAR UN CONVERSOR DE PUERTO COMO EL MOSTRADO EN LA FIGURA Y CUYA CONSTRUCCIÓN SE EXPLICÓ EN SABER
ELECTRÓNICA Nº 221.
Ya retornaremos con este tema, cuando sepamos más acerca de las características principales de estos chips. Veamos ahora en qué consiste el software gratuito. EL EDITOR
FIGURA 13 - UN ADAPTADOR USB A RS232 COMERCIAL.
DE
PROGRAMAS
Lo diferente del sistema de microcontroladores PICAXE, con respecto a la programación tradicional de los microcontroladores PIC, radica en la progra-
Club Saber Electrónica Nº 161 9
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 10
Qué Son y Cómo se Usan los PICAXE
mación basada en un lenguaje BASIC y diagramas de flujo. Esto hace que los microcontroladores del sistema PICAXE sean muy fáciles de programar, en un ambiente amigable. Para programar los microcontroladores PICAXE debemos, en primera instancia, instalar el software que contiene el ambiente de programación, por lo que describiremos la forma de hacerlo. Si bien a lo largo de este texto vamos a explicar paso por paso cómo se emplea el “Programming Editor” (Editor de Programas), es necesario que ya lo tenga en su computadora. El software lo puede bajar de nuestra página de Internet que usted ya conoce www.webelectronica.com.mx, debe hacer clic en el ícono password e ingresar la clave PICAXEPRO. Recuerde que para bajar cualquier información debe ser socio del club SE, lo cual es gratuito y puede inscribirse por Internet en sólo un par de minutos (siga las instrucciones que dimos para bajar el programa y encontrará cómo hacerse socio, si aún no lo es). Una vez que se tenga el software, se contará con una carpeta con el nombre de “progedit”, a la cual debemos acceder (observe la figura 14). Luego debemos ingresar a la carpeta progedit y tenemos que ubicar el programa identificado como “Programming Editor”, al cual debemos hacerle un doble clic con el ratón de la pc para que éste se ejecute y se pueda instalar el programa de los PICAXE, tal como se muestra en la figura 15. Una vez que ejecutamos el programa de instalación Programming Editor aparecerá la ventana que se muestra en la figura 16, sobre la cual debemos de oprimir con el ratón el cuadro identificado como “next” para que continúe la insta-
10
Club Saber Electrónica Nº 161
FIGURA 14 - CARPETA PROGEDIT.
FIGURA 15 - SOFTWARE DE INSTALACIÓN “PROGRAMMING EDITOR”.
FIGURA 16 - VENTANA DE BIENVENIDA PARA LA INSTALACIÓN DEL SOFTWARE DE LOS PICAXE.
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 11
Programación Fácil de Microcontroladores PICAXE
FIGURA 17 - ACUERDO DE LICENCIA.
FIGURA 18 - INFORMACIÓN DEL USUARIO.
FIGURA 19 - DESTINO DEL SOFTWARE.
lación. Posteriormente será desplegada la ventana donde se muestra la licencia que debemos aceptar, porque de otra manera no podremos continuar con la instalación del software, por lo que nuevamente oprimiremos el cuadro identificado como “next”, esta acción se indica en la figura 17. Como paso siguiente, pregunta por el nombre del usuario que normalmente utilizará el software, aquí podemos instalar la aplicación para que pueda ser utilizada por todas las personas que utilicen la computadora, y después de seleccionar esta acción tenemos que oprimir el cuadro identificado como “next”, tal como se muestra en la figura 18. Posteriormente debemos decir en dónde se guardará el software de programación, que por lo general, aquí no tenemos que modificar dato alguno, a menos de que querramos asignar otra localidad, tal como se ilustra en la figura 19. Una vez seleccionada la opción correspondiente procederemos a hacer clic sobre el cuadro identificado como “next”. Por último, aparecerá una ventana de confirmación para estar seguros de que los datos que introdujimos se encuentran correctos, si es así debemos oprimir el cuadro identificado como “next” para que continúe la instalación, tal como se aprecia en la figura 20. Cuando se está instalando el software se indica gráficamente, tal como se ilustra en la figura 21, aquí debemos esperar hasta que se terminen de instalar, tanto el software de programación como todas las utilerías que serán empleadas por los PICAXE. En la figura 22 se muestra la ventana que nos indica que ya se ha concluido con la instalación, por lo que debemos oprimir el cuadro identificado
Club Saber Electrónica Nº 161
11
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 12
Qué Son y Cómo se Usan los PICAXE
como “finish”. Una vez instalado el software de programación de los PICAXE, en el escritorio de nuestra PC encontraremos un ícono de acceso directo identificado como “PICAXE Programming Editor”, al cual, para comenzar a programar los microcontroladores, debemos hacer un doble clic con el mouse para que se ejecute el programa, tal como se muestra en la figura 23. En la figura 24a se observa un ejemplo del ambiente gráfico en lenguaje BASIC y en la figura 24b en diagrama de flujo. En varias ocasiones editamos artículos mostrando cómo se emplea el editor por diagrama de flujo del Programing Editor pero, tal como hemos dicho, para los próximos PICAXE deberá emplear el Logicator, razón por la cual, más adelante explicaremos cómo se usa.
FIGURA 20 - VENTANA DE CONFIRMACIÓN DE DATOS.
LOS DISTINTOS TIPOS DE PICAXE El sistema PICAXE aprovecha todas las características de los microcontroladores de bajo costo que incorporan memoria FLASH. El sistema PICAXE está disponible en seis distintas versiones que son: De De De De De De
FIGURA 21 - VENTANA DE INSTALACIÓN DEL SOFTWARE.
8 terminales (PICAXE-08), 14 terminales (PICAXE-14), 18 terminales (PICAXE-18), 20 terminales (PICAXE-20), 28 terminales (PICAXE-28) y 40 terminales (PICAXE-40).
Estos microcontroladores ya tienen definidas las terminales que tienen la función de entrada y/o salida de datos, además de las terminales que sirven para programar al PICAXE en sitio, o en otras palabras sobre la misma aplicación.
12
Club Saber Electrónica Nº 161
FIGURA 22 - CUANDO LA INSTALACIÓN HAYA CONCLUIDO EL PROGRAMA NOS INDICARÁ QUE ESTAMOS LISTOS PARA COMENZAR A UTILIZARLO.
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 13
Programación Fácil de Microcontroladores PICAXE
FIGURA 23 - ICONO DE ACCESO RÁPIDO.
FIGURA 24A - LENGUAJE BASIC PARA PROGRAMAR LOS PICAXE.
Hace aproximadamente 6 años que comenzamos a escribir publicaciones sobre el sistema PICAXE aquí en Saber Electrónica, y a la fecha algunos de los microcontroladores PICAXE que al inicio les presentamos en diversos proyectos, ya se encuentran descontinuados o sustituidos por otros de reciente comer-
FIGURA 24B - DIAGRAMA DE FLUJO PARA PROGRAMAR LOS
PICAXE.
Club Saber Electrónica Nº 161
13
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 14
Qué Son y Cómo se Usan los PICAXE
cialización, por lo tanto, es importante tomar en cuenta con que matriculas disponemos para poder desarrollar nuestros proyectos. Incluso anteriormente los microcontroladores PICAXE, tenían grabadas las matriculas de los microcontroladores PIC (ya que la empresa Microchip es quien los fabrica), pero también en la actualidad algunos PICAXE ya traen grabada la matricula que les corresponde, dentro del sistema PICAXE, aun cuando los continua fabricando Microchip. En la tabla 1 se muestra la serie de microcontroladores PICAXE disponibles, así como la matrícula que tienen grabada. Por otra parte, en la tabla 2 se muestran las matrículas de los microcontroladores PICAXE, que sustituyen a los primeros que salieron al mercado, para que de esta manera, se pueda saber cuáles son los PICAXE de reciente aparición, y por obvias razones, con los que contamos para seguir trabajando. Para continuar conociendo a los microcontroladores PICAXE, en la tabla 3 se muestran las principales diferencias entre las distintas versiones que podemos encontrar y para ello los clasificaremos en PICAXE estándar y PICAXE Avanzado.
TABLA 1 - DISTINTOS TIPOS DE PICAXE.
KITS PICAXE A lo largo de los últimos años, en Saber Electrónica, publicamos varios circuitos con PICAXE, muchos de los cuales se ofrecen en forma de kits o que Ud. puede montar fácilmente, ya que todos los componentes son comunes. A continuación mostramos algunos de los proyectos publicados: TARJETA ENTRENADORA PICAXE-08 (ICA-011) Se trata de la primera tarjeta de entrenamiento universal para programar microcontroladores PICAXE de 8 terminales denominados PICAXE - 08, figura 25.
14
Club Saber Electrónica Nº 161
TABLA 2 - LAS MATRÍCULAS DE LOS PICAXE.
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 15
Programación Fácil de Microcontroladores PICAXE
TABLA 3 - DIFERENCIAS ENTRE LOS PICAXE.
FIGURA 25 - TARJETA PICAXE-08.
Sobre la tarjeta de circuito impreso se dispone de un total de 4 E/S (4 entradas y 4 salidas), pero estas terminales son configurables por medio de un jumper selector, ya que las terminales 3, 5, 6 y 7 del microcontrolador PICAXE cumplen con una doble función. La tarjeta entrenadora para PICAXE - 08 tiene la posibilidad de explotar al máximo las propiedades del cualquier PICAXE-08, y por lo tanto se pueden desarrollar proyectos en donde tan solo se tienen que conectar las señales de los sensores y los actuadores sobre las terminales que tiene destinadas la tarjeta entrenadora.
Club Saber Electrónica Nº 161
15
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 16
Qué Son y Cómo se Usan los PICAXE
TARJETA ENTRENADORA PICAXE-18 (ICA-016) Es la segunda tarjeta de entrenamiento universal que Saber Electrónica propone para programar microcontroladores PICAXE de 18 terminales denominados PICAXE 18, figura 26. Sobre la tarjeta se dispone de un total de 5 entradas y 8 salidas, de las entradas se pueden disponer hasta 3 para utilizar el convertidor ADC del microcontrolador PICAXE (depende si es 18, 18A,18X, 18M o 18M2). Sobre la misma tarjeta se tiene un área de experimentación la cual consta de 2 circuitos para generar estados lógicos mediante push butom para manipular las terminales de entada del microcontrolador PICAXE. Además cuenta también con dos circuitos con leds para verificar el estado de las salidas, y por último también posee dos espacios para colocarle distintos tipo de sensores,
FIGURA 26 - TARJETA PICAXE-18.
PLC PICAXE-18 (ICA-017) El PLC que se muestra en la figura 27 trabaja a partir de las características y ventajas que nos otorga el microcontrolador PICAXE - 18, por lo tanto este PLC contara con 5 entradas y 8 salidas, ambas de naturaleza digital. Este PLC cuenta con sus respectivos módulos de entrada y salida, uno para cada uno resFIGURA 27 - PLC PICAXE-18. pectivamente, por lo que tanto las entradas como salidas de datos del microcontrolador PICAXE - 18 están protegidas. Este PLC posee todo lo necesario para emplearlo en cualquier aplicación industrial, ya que cuenta en sus terminales con bornes de conexión con tornillos, este PLC requiere 12 VCD para su alimentación. CONTROL DE DISPLAY DE LCD PARA PICAXE-18 (ICA-018) El control de display que se observa en la figura 28 emplea un microcontrolador PICAXE- 18 (cualquier versión de PICAXE - 18), empleando todas las características y ventajas que nos otorgan estos microcontroladores. Para controlar al display de LCD se emplean las 8 salidas del PICAXE, mientras que se dispone de las 5 terminales de entrada, para hacerle llegar la información que se requiere imprimir en el display, por lo tanto este circuito tiene una función a manera de monitor, desplegando todos los caracteres que acepta el display. Este circuito es muy versátil, en cuanto al diseño de instrumentos de medición, ya que dispone de todas sus terminales de entrada, y en 3 de ellas se cuenta con convertidores analógico - digital. Los mencionados son sólo algunos de los proyectos que hemos publicado en Saber Electrónica como “montajes destacados” y que puede conseguir en forma de kits, por razones de espacio no podemos mencionarlos a todos ellos. Sugerimos visitar nuestra web para más información. ☺
16
Club Saber Electrónica Nº 161
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 17
Cap 1 - PICAXE
9/6/11
10:03 AM
Página 18
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 19
CAPÍTULO 2 “PICAXE” es un sistema de microcontroladores fácil de programar ya sea usando diagramas de flujo o empleando lenguaje BASIC, el cual la mayoría de las personas puede aprender rápidamente, dado su nivel de interaccionar con su lenguaje. En los tomos 7, 16 y 29 de la colección Club Saber Electrónica hablamos sobre PICAXE y dimos varios proyectos comentados utilizando en Programing Editor pero hasta ahora no hemos programado en BASIC, tema que abordaremos a continuación. En forma sintética, el lenguaje que se implementa, es un sencillo diálogo muy intuitivo, que da órdenes muy precisas empleando un juego de comandos limitados.
TRABAJANDO CON MICROCONTROLADORES
PICAXE
INTRODUCCIÓN El microcontrolador PIC, es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de entrada/salida, en una sola unidad. Digamos que es muy similar a un ordenador o computadora PC, pero en formato pequeño. El microcontrolador PICAXE, es un sencillo microcontrolador PIC, que tiene por característica, tener alojado dentro de su memoria, un pequeño firmware que permite ser programado bajo lenguajes más sencillos que el Assembly. Como ya sabrán, los microcontroladores son comprados en “blanco” y luego son programados con un programa específico de control. Una vez programado, este microcontrolador es introducido en algún producto para cumplir el rol de trabajo de controlador. Es sabido, que estos diminutos circuitos integrados, tienen una inteligencia limitada por nosotros mismos a la hora de ejecutar una acción; pues, según se lo programe, se delega solo la responsabilidad de la orden impartida. Por ejemplo, si nosotros programamos a este microcontrolador para que ejecute la tarea de monitorear y administrar el funcionamiento de un motor a explosión como lo que podemos ver en un automóvil, éste sólo hará lo que le dijimos por intermedio de las instrucciones de programación, y no esperen que este haga otra cosa que no le hallamos enseñado en su rutina de control. Hoy en día, se suele aplicar microcontroladores en los desarrollos electrónicos, por que estos pueden reemplazar a un gran número de partes separadas, o incluso a un circuito electrónico completo. Algunas de las ventajas obtenidas con el uso de microcontroladores en el diseño de productos son:
Club Saber Electrónica Nº 161
19
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 20
Trabajando con PICAXE
o Aumento en la confiabilidad debido al menor número de partes. o Reducción en los niveles de existencia ya que un microcontrolador reemplaza varias partes. o Simplificación del ensamblaje del producto y productos finales más pequeños. o Gran flexibilidad y adaptabilidad del producto ya que las funciones del producto están programadas en el microcontrolador y no incorporadas en el hardware electrónico. o Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrónico. En la Industria, los microcontroladores son usualmente programados utilizando programación en lenguaje C. Sin embargo, debido a la complejidad de este lenguaje, es muy difícil el aprendizaje de dichos lenguajes de programación en personas adultas que nunca tuvieron formación alguna, inclusive, también podríamos incluir a los estudiantes muy jóvenes de bachillerato, que por lo general, su ansiedad los lleva a buscar formas practicas y rápidas de inserción a los microcontroladores. No voy hacer mucho énfasis sobre si deben o no tratar de aprender una manera de programación o no, solo les voy a mencionar, que es preferible estudiar lenguajes de programación que contengan un nivel de lenguaje de programación mas alto que el que podemos encontrar con estos microcontroladores. EL SISTEMA PICAXE El sistema “PICAXE” es un sistema de microcontrolador fácil de programar que utiliza un lenguaje BASIC muy simple, el cual la mayoría de las personas pueden aprender rápidamente dado su nivel de interaccionar con su lenguaje. Ya hemos dado las características sobresalientes de este sistema en capítulos anteriores de esta obra pero no está demás resumir los rasgos sobresalientes del sistema PICAXE. En forma sintética, el lenguaje que se implementa, es un sencillo diálogo muy intuitivo, que da órdenes muy precisas… como ejemplo, podría darles este ejemplo citado en la figura 1. En la rutina de dicha figura, lo único que hice, fue programar el microcontrolador con un diálogo sencillo, en inglés, pero muy deducible para aquellos que estén flojos con este idioma. Prácticamente, lo único que le ordené al microcontrolador, es que monitoree la entrada numero cero (input cero), y en caso de tener algún estado definido (un alto o un bajo, o sea, un 1 o un 0 lógico), éste actúe dando como resultado una acción determinada. Internamente, estas líneas de programación, funcionan de la siguiente manera dentro del microcontrolador: Siempre, la rutina se lee y se ejecuta FIGURA 1 - RUTINA EN BASIC PARA PROGRAMAR UN PICAXE desde la primer línea para abajo, salvo
20
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 21
Programación Fácil de Microcontroladores PICAXE
que halla un salto en el camino, figura 2. En este caso en particular, arranca el ciclo en la etiqueta “main”, pasa por la primera FIGURA 3 - UNA INSTRUCCIÓN PUEDE INDICAR QUE, instrucción que SI SE CUMPLE ALGUNA CONDICIÓN, EL PROGRAMA indica que visua“SALTE” A OTRA INSTRUCCIÓN O SUBRUTINA. lice y compare el estado de la entrada cero con el valor pre establecido y en caso de ser positivo el resultado tiene que saltar e ir al sub programa “encendido”, figura 3. FIGURA 2 - EL PROGRAMA CONEn el caso de que la comparación de “cero”, el microcontrolador SISTE EN UN JUEGO DE INSTRUCsigue líneas abajo leyendo las instrucciones. Como pueden observar, CIONES QUE SE ESCRIBE EN EL PROGRAMING EDITOR. la siguiente instrucción es similar, compara el estado de la señal en la entrada cero, y si la comparación es positiva, salta al subprograma “apagado”. En caso de ser nula la comparación, el programa sigue leyendo las siguientes líneas hasta llegar al fin del programa o bien, hasta llegar a una bifurcación. En nuestro caso, llega hasta la instrucción “goto”, lo cual, hace repetir el programa una y otra vez sin tener fin. Se observa entonces que este sistema implementa un diálogo de instrucción muy fácil de aprender, de manera que en tan sólo unos pasos Ud. podrá aprender rápidamente a realizar sus propios proyectos microcontrolados. Este sistema explota las características únicas de la nueva generación de microcontroladores de bajo costo FLASH. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un costoso programador. El poder del sistema PICAXE radica en su sencillez. No necesita de ningún programador, borrador o complejo sistema electrónico. El microcontrolador es programado mediante una conexión de tres cables conectada al puerto serie de una PC (con un simple programa en BASIC o un diagrama de flujo). El circuito operacional PICAXE utiliza únicamente tres componentes y puede ser ensamblado fácilmente en una placa experimental para componentes electrónicos, en una placa corriente o en una placa PCB. EL sistema PICAXE está disponible en varias versiones (8 pines, 18 pines, 28 pines, 40 pines). El controlador PICAXE-28 provee 22 pines de entrada/salida (8 salidas digitales, 8 entradas digitales y 4 entradas analógicas). El sistema PICAXE-18 provee 8 salidas y 5 entradas. Las características principales del sistema PICAXE son las siguientes: o Bajo costo, circuito de fácil construcción. o Hasta 8 entradas, 8 salidas y 4 canales analógicos en la versión intermedia. o Rápida operación de descarga mediante el cable serial. o Software “Editor de Programación” gratuito y de fácil uso. o Lenguaje BASIC simple y fácil de aprender. o Editor de diagramas de flujo incluido. o Puede ser programado también mediante el software “Crocodile Technology” o “Programming Editor”. o Extenso número de manuales gratuitos y foro de apoyo en línea.
Club Saber Electrónica Nº 161
21
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 22
Trabajando con PICAXE
o Circuito experimental, manejo y tutoriales incluidos en la página del fabricante (gratuitos). o Paquete de control remoto infrarrojo disponible. o Paquete de servo controlador disponible. Estas son sólo algunas de las funciones y utilidades disponibles. COMENZANDO
LAS
PRÁCTICAS
Esta obra está diseñada para que el lector pueda realizar sus prácticas tanto con la placa entrenadora y sus módulos correspondientes, como así también poder realizar simulaciones en el laboratorio virtual Proteus, con sus librerías y diagramas de circuitos del laboratorio para que puedan saber cómo se va a comportar el circuito casi como si lo efectuáramos con nuestra placa entrenadora física. Si bien este laboratorio virtual es una gran herramienta virtual; debemos remarcar que posee algunos errores menores que pueden complicarnos algunos diseños y o simulaciones. Los errores encontrados hasta el momento son: o No tolera mas de 16gosub o No reconoce #REM-#ENDREM o No reconoce #setfreq o No reconoce #Picaxe08/18 o Genera algún que otro error cuando al terminar nuestro código de programación, no se implementa un espacio después de la última línea de programación. La figura 4 muestra imágenes de un laboratorio de prácticas microcontroladas (varias placas de circuito impreso) para trabajar y aprender con PICAXE. USANDO COMENTARIOS Usar comentarios en un programa, aunque sea perfectamente obvio para todos ustedes, puede ser una herramienta extra que el día de mañana, le puede ayudar a comprender por qué implementó una acción en su rutina, además, hay que tener en cuenta que si lo compartimos, alguien más puede leerlo y puede no tener idea de lo que Ud. ha querido hacer. Cabe aclarar que los comentarios usan espacio en el archivo fuente (.bas) pero no lo hacen en la memoria del PICAXE, ya que éstos no son subidos junto a la rutina de programación. Implementar un bloque de comentarios en el comienzo del programa y antes de cada sección del código, puede describir cuál es la función de la rutina que tenemos, o bien, podemos describir con más detalles cada línea de nuestro programa. Para reconocer los comentarios, podemos dirigirnos a nuestra sección configuración del software, y en la pestaña “editor” seleccionamos preferencias de colores en la sintaxis. Con esta ultima acción, podremos diferenciar en nuestras rutinas los comandos, los comentarios con un color distinto. Los comentarios en el programa comienzan con un apóstrofe (‘) o punto y coma (;) y continúa hasta el final de la línea. Es decir, en una línea, todo lo que está después del apóstrofe (‘) o punto
22
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 23
Programación Fácil de Microcontroladores PICAXE
y coma (;) es simplemente un comentario y no es tenido en cuenta en la ejecución del programa por parte del PICAXE. También es muy común que las personas de habla inglesa y con viejas mañas del antiguo basic, implementen la palabra clave “REM”. Esta palabra también puede ser usada para comentarios, pero yo personalmente no la aconsejo, ya que un error en la escritura, por ejemplo REN, nos daría errores en la compilación y o simulación. En la figura 4 tenemos un ejemplo; configuramos el software (programa) como mencionamos anteriormente y mostramos las diferentes formas de hacer comentarios. USO
DE
SYMBOL
Los símbolos en nuestras rutinas, son palabras clave que identifican constantes, variables y direcciones en el programa. La asignación del símbolo se realiza poniendo el comando “symbol + nombre del símbolo” y seguido de éste implementamos el signo igual (=). Posterior a estas líneas, agregamos la variable o constante. Los símbolos pueden ser cualquier palabra que no sea la relativa a un comando. Los símbolos pueden contener caracteres numéricos (por ejempolo: ucontrol1, salida2, etc.) pero el primer carácter no puede ser uno numérico, es decir, no podría ser “1salida”, por dar un ejemplo. El uso de símbolos no aumentan la longitud del programa. O sea, esta función no tiene peso alguno en lo que refiere al programa. Por lo general se implementa este comando para renombrar las entradas y salidas del microcontrolador lo que ayuda a recordar cuál es la función de cada terminal I/O a la hora de leer y o modificar un programa. Las direcciones del programa configuradas con el comando symbol, siempre tienen que ir sobre la primer instrucción o, mejor dicho, al inicio del programa. En la figura 5 tenemos un ejemplo de programa en el que se han realizado asignaciones de símbolos. FIGURA 4 - TODA ESCRITURA EN UNA LÍNEA QUE ESTÁ DES-
PUÉS DE UN APÓSTROFE O UN PUNTO Y COMA ES UN COMENTARIO Y NO FORMA PARTE DEL PROGRAMA.
Uso de Constantes Las llamadas constantes, pueden ser creadas de manera similar a las variables. Puede que sea más conveniente usar un nombre para la constante en lugar de implementar un número como constante. Si el valor u operando de la “constante” necesita ser cambiada, únicamente se modifica en algún lugar del programa donde se define la constante en lugar de modificar cada parte del programa en la que interviene. Dentro de las constantes, no pueden guardarse datos variables. Las constantes declaradas pue-
Club Saber Electrónica Nº 161
23
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 24
Trabajando con PICAXE
den ser de cuatro tipos: decimal, hexadecimal, binario y ASCII.
o Los números decimales se escriben directamente sin ningún prefijo. o Los números hexadecimales se preceden del símbolo “peso” ($). o Los números binarios de preceden del símbolo “tanto por ciento” (%). o Los valores ASCII se colocan entre comillas (“…”). DESIGNACIÓN
DE
VARIABLES
Veamos los tipos de variable según el sistema, ya que éstas varían en su aplicación según cada modelo de programación : PICAXE es usado al programar módulos PICAXE. El BASIC y Extended son usados al programar módulos Stamp. El ensamblador es el utilizado con código de ensamblador. Veamos entonces que tipos de variables se pueden emplear en función del sistema de programación que utilizamos:
FIGURA 5 - EL COMANDO SYMBOL DEFINE EL NOMBRE Y LA ACCIÓN DE CONSTANTES O VARIABLES.
Las Variables en PICAXE: El sistema PICAXE da soporte a las siguientes variables: Words: W0, W1, W2, W3, W4, W5, W6. Bytes: DIRS, PINS (solo PICAXE-08), INFRA, KEYVALUE B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13. Bits: PIN0, PIN1, PIN2, PIN3, PIN4, PIN5, PIN6, PIN7 (conjuntamente igual PINS) BIT0, BIT1, BIT2, BIT3, BIT4, BIT4, BIT5, BIT6, BIT7 (conjuntamente igual B0) BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15 (conjuntamente igual B1).
24
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 25
Programación Fácil de Microcontroladores PICAXE
In/Out: INPUT0, INPUT1, etc. puede usarse en lugar de PIN0, PIN1, etc. OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2, etc. Las variables en BASIC El modo BASIC da soporte a las siguientes variables: Words: PORT W0, W1, W2, W3, W4, W5, W6. Bytes: DIRS, PINS B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13 Bits: DIR0, DIR1, DIR2, DIR3, DIR4, DIR5, DIR6, DIR7, BIT0, BIT1, BIT2, BIT3, BIT4, BIT4, BIT5, BIT6, BIT7, BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15 Nota: B12 y B13 (W6) es usado dentro de las órdenes GOSUB como una pila. Por consiguiente no debería utilizarse como un registro de propósito general. Las Variables en el Modo Extendido (EXTENDED) El modo extendido da soporte a todas las variables de BASIC. Además: INPUT0, INPUT1, etc. puede usarse en lugar de pin0, pin1, etc. OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2 etc. Nota: B12 y B13 (W6) es usado dentro de las órdenes GOSUB como una pila. Por consiguiente no debería utilizarse como un registro de propósito general. Las Variables en el Modo Ensamblador El modo ensamblador soporta los mismos modelos de variables que el modo extendido.
LOS COMANDOS
DE
PROGRAMACIÓN BASIC
EN
PICAXE
La tabla 1 representa un breve resumen de los diferentes comandos disponibles para los microcontroladores PICAXE. Veremos a continuación la estructura y el significado de algunos de los comandos básicos que se emplean para programar un PICAXE y cómo se los emplea. GOTO
FIGURA 6 - GOTO SE USA PARA INDICAR A DÓNDE SIGUE EL PROGRAMA.
Este comando tiene como función la ejecución del programa que continua en la declaración de la etiqueta. Dicho en otras palabras, este comando tiene como función dar una dirección donde saltara el programa y seguirá la lectura de las instrucciones para continuar ejecutando el programa. En la figura 6 tenemos un ejemplo práctico.
Club Saber Electrónica Nº 161
25
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 26
Trabajando con PICAXE
TABLA 1 - RESUMEN DE COMANDOS USADOS EN PICAXE.
GOSUB Este comando tiene como función saltar a la subrutina indicada en la etiqueta, guardando su dirección de regreso en la memoria pila (stack). A diferencia del GOTO, cuando se llega a un RETURN, la ejecución sigue con la declaración siguiente al último GOSUB ejecutado. Se puede usar un número ilimitado de subrutinas en un programa y pueden estar anidadas. En otras palabras, las subrutinas pueden llamar a otras subrutinas. Cada anidamiento no debe ser mayor de cuatro niveles. Como ejemplo, cuando nosotros ejecutamos GOSUB, salta el programa a una etiqueta, y cuando llega al comando RETURN, vuelve a la siguiente línea de donde partió con el comando GOSUB. La figura 7 muestra un ejemplo de uso de este comando.
26
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 27
Programación Fácil de Microcontroladores PICAXE
FOR ... NEXT
El bucle FOR … NEXT permite a los programas ejecutar un número de declaraciones tantas veces como se lo defina, usando una variable como contador. Este comando es ideal para acortar líneas de programas repetitivas. Para tener una idea de su potencial, sea el siguiente programa que permite el parpadeo de un Led conectado en una salida del PICAXE cinco veces:
FIGURA 7 - GOSUB ES SIMILAR A GOTO PERO GUARDA LA DIRECCIÓN DONDE ESTABA EN EL STACK.
symbol led1= 7 ejemplo1: high led1 pause 1000 low led1 pause 1000 high led1 pause 1000 low led1 pause 1000 high led1 pause 1000 low led1 pause 1000 high led1 pause 1000 low led1 pause 1000 high led1 pause 1000 low led1 pause 1000 end
En esta rutina, “high led1” es una instrucción que pone un “1” (prende) en la salida donde estará conectado el led. La instrucción “low led1” pone un “0” (apaga) en la salida donde estará conectado el led. “pause 1000” es una instrucción que permite que el micro no haga nada durante mil milisegundos (1 segundo), es decir, es una instrucción de espera. Como puede observar, tuvimos que prender 5 veces el led, apagarlo otras 5 veces y en cada operación decirle que espere un segundo. Ahora, veamos este otro modo de realizar la misma acción: bucle: for b0 =1 to 5 high 1 pause 1000
low 1 pause 1000 next b0 end
Club Saber Electrónica Nº 161
27
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 28
Trabajando con PICAXE
En este punto le aconsejo que realice una práctica en su PC. Ejecute el software “Programming Editor” y copie las líneas de programación dadas en la figura 8 (configure el programa para usarlo con el PICAXE18X), revise las sintaxis y luego haga la simulación mediante el comando RUN del menú del “Programming Editor”. Al iniciarse el programa, cuando la lectura ingresa en el contador (for b0 = 1 to 20), se precarga el valor 1 en un espacio de memoria determinado (en este caso b0) y comienza un conteo que finalizará cuando llegue a 20. En el caso de la rutina que ejemplifiqué, luego de pasar por la instrucción de FIGURA 8 - FOR... NEXT SE EMPLEA PARA HACER BUCLES DE comenzar con el contador, sigue leyendo FORMA DE REPETIR UN ALGORITMO TANTAS VECES COMO SE REQUIERA EN UN PROGRAMA. el resto de las líneas y ejecutando toda acción que conlleven en ellas (high1pause-low1-pause) hasta llegar a la línea donde dice “next b0”. En esta línea, lo que hace, es decirle al contador que adicione un entero (que le sume uno) en la memoria que alojamos el conteo (b0)y luego salta automáticamente a la línea donde comienza el contador (for b0 =1 to 20) iniciando nuevamente toda la acción descrita anteriormente hasta llegar a almacenar en la memoria el valor 20 (por que esa fue la instrucción que le dimos cuando le dijimos que cuente de1 a 20 en la línea de instrucción “for b0 = 1 to 20”). Note que cuando llega a 20, en vez de retornar a la línea del contador, sigue leyendo la siguiente línea. En este caso, la siguiente línea nos dice con el comando FIGURA 9 - EJEMPLO DE USO DEL COMANDO FOR... NEXT. PAUSE y GOTO que debe hacer un retardo y volver al programa u etiqueta “bucle”. Después de esto, como el contador tenía registrado el valor 20, no tendría que seguir contando... pero no es así, ya que al volver a reiniciarse el programa, el contador vuelve a cero también. Para el caso en que nosotros quisiéramos que al llegar a determinado conteo, el programa termine, lo que podríamos hacer, es implementar la rutina mostrada en la figura 9.
28
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 29
Programación Fácil de Microcontroladores PICAXE HIGH
FIGURA 10 - LAS INSTRUCCIONES HIGH Y LOW SE EMPLEAN PARA ESTABLECER LAS CONDICIONES DE LAS SALIDAS DIGITALES.
A medida que vayamos avanzando en nuestros proyectos, iremos notando que la gran mayoría de nuestros desarrollos microcontrolados requieren de un control de estados de las entradas y salidas. Hay dos comandos que definen el estado lógico de una salida: HIGH y LOW. El comando HIGH pone a nivel alto (“1” lógico) un pin determinado del microcontrolador. Se usa este comando para activar una salida.
LOW Es el comando contrario a HIGH y se usa para poner una salida en estado bajo (“0” lógico) o desactivar dicha salida. Veamos cómo funcionan los comandos high y low en el ejemplo mostrado en la figura 10: Simplemente se pone un “1” lógico en el PIN 1 del microcontrolador, se detiene el programa durante 5 segundos, luego se pone un “0” lógico en el PIN 1, nuevamente se tiene una espera de 5 segundos y el programa vuelve al inicio. Es decir, se trata de un programa que activa y desactiva la pata del micro correspondiente al PIN1 en períodos de 5 segundos en cada estado. INPUT Este comando refiere a un puerto de entrada específico. En cierta manera, convierte una patita de un puerto (PIN) en una entrada. O, mejor dicho, con esta instrucción se está diciendo que el PIN en cuestión será una entrada. Aclaremos que para definir nuestra entrada, se puede implementar el comando INPUT, o bien, podemos adoptar el número de puerto (0 a 7 para el caso de los micros 18x) y definirlo con un sencillo IN antes del número de puerto de entrada (in7 / input7). Al usar el comando IMPUT en nuestro programa automáticamente estamos mencionando que vamos a trabajar con señales digitales entrantes en un puerto definido. OUTPUT Este comando refiere a un puerto de salida específico. En cierta manera, convierte una patita de un puerto (PIN) en una salida. O, mejor dicho, con esta instrucción se está diciendo que el PIN en cuestión será una salida. Como mencionamos anteriormente al
Club Saber Electrónica Nº 161
29
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 30
Trabajando con PICAXE
describir el comando input, no es que podemos configurar nuestros puertos como entradas y salidas; a lo que me refiero, es que definimos en una línea qué acción queremos que adopte esa salida. Para definir nuestra salida, se puede implementar el comando OUTPUT, o bien, podemos adoptar el número de puerto (0 a 7 para el caso de los micros 18x) y definir la acción o estado de este puerto (high 7 -low 7 / high output7 -low output7). Es hora de realizar una nueva práctica: ejecute el “Programming Editor” en su PC y copie las instrucciones del programa de la figura 11, nos preparamos para ver cómo funcionan las instrucciones IMPUT y OUTPUT.
FIGURA 11 - LA CONFIGURACIÓN DE LOS PUERTOS, COMO ENTRADAS O SALIDAS, SE PUEDE HACER CON LOS COMANDOS IMPUT Y OUTPUT.
Nota: en este ejemplo, cité ambas maneras en las que podemos definir o nombrar un puerto de entrada o salida. Cuando simule esta rutina, verá que el software las reconoce a ambas como lo mismo y no genera ningún conflicto. END Este comando tiene como objeto detener la ejecución del proceso y el microcontrolador no sigue ejecutando el programa hasta que lo reiniciemos o bien, hasta que no le demos la instrucción manual de volver a comenzar con su ciclo.
30
Club Saber Electrónica Nº 161
Cap 2 - Trabajando con PICAXE
9/6/11
10:19 AM
Página 31
Programación Fácil de Microcontroladores PICAXE
Cuando el microcontrolador es detenido por el comando END entra en modo de bajo consumo. Otra de las característica de este comando es que cuando se ejecuta esta instrucción todos los datos presentes en los pines de entrada y salida se congelan y permanecen en el estado en que se encuentran. Para ver mejor cómo funciona este comando, realice una nueva práctica; para ello, ejecute en su PC nuevamente el “Programming Editor” y copie el programa mostrado en la figura 12, realice la simulación y verifique la estructura del comando. IF…THEN IF…AND…THEN IF…OR…THEN
FIGURA 12 - LA INSTRUCCIÓN END SE EMPLEA PARA DETENER EL PROGRAMA Y QUE EL MICRO QUEDE EN LA CONDICIÓN DE BAJO CONSUMO.
= >= > < Opciones -> Puerto Serie, para elegir el puerto serie correspondiente en su computadora. Si ya compró un cable de sistema PICAXE armado y utiliza una computadora que posee el antiguo conectador de puerto serie de 25 pines, utilice un adaptador 9-25 para poder conectar el cable PICAXE de 9 pines. Estos adaptadores pueden ser comprados en cualquier tienda (casa) especializada en computadoras. Pero también, Ud. puede armar el cable siguiendo las instrucciones que le daremos oportunamente. UTILIZANDO BUCLES FOR…NEXT Con frecuencia, es útil repetir una parte de un programa varias veces, por ejemplo al encender/apagar sucesivamente un diodo LED (Light Emitting Diode, Diodo emisor de luz). En estos casos un bucle for…next puede ser utilizado. El programa de la tabla 6 enciende y apaga 15 veces el diodo LED conectado al pin de salida 7. El número de veces que el código debe ser repetido es almacenado usando la variable b0 (el PICAXE tiene 14 variables de 1 byte para uso general, nombradas de b0 a b13 en la memoria RAM del chip PICAXE). Estas variables pueden ser renombradas usando el comando symbol con el fin de hacerlas más fácil de recordar. _______________________________________________________________________ TABLA 6 symbol counter = b0 symbol dp = 7
'definir la variable “counter” como b0 'asignar al pin 7 con el “dp”
main:
Club Saber Electrónica Nº 161
73
Cap 3 - Aperendiendo a Programar
9/6/11
10:23 AM
Página 74
Aprendiendo a Programar PICAXE
for counter = 1 to 15 'iniciar un bucle for.....next high dp 'encender pin 7 pause 500 'esperar 0,5 segundos next counter 'siguiente counter (b0) end 'fin del programa ______________________________________________________________________
Note nuevamente cómo los espacios en blanco han sido utilizados para mostrar claramente todos los comandos contenidos entre los comandos for y next. CONTROLANDO
LA
VELOCIDAD
DE UN
MOTOR
Debido a que el sistema PICAXE opera muy rápidamente, es posible controlar la velocidad de motores, encendiéndolos y apagándolos muy rápidamente. Este tipo de control se conoce como PWM (Pulse Width Modulation, Modulación por ancho del impulso). La PWM es una buena técnica de control ya que permite a los motores operar a bajas velocidades manteniendo un alto torque (fuerza de giro). FIGURA 18 La PWM es utilizada frecuentemente en muchas aplicaciones, por ejemplo, para controlar la velocidad de taladros y destornilladores eléctricos. Para que la PWM funcione correctamente, se necesitan motores de alta calidad. Los programas aquí mostrados están diseñados para motores “solares” y puede que no funcionen correctamente si se utilizan motores de juguete baratos. Para la conexión del motor en nuestro entrenador, vea la figura 18. El programa se muestra en la tabla 7. _____________________________________________________________________________________ TABLA 7 symbol symbol symbol symbol
mark1 = b6 space1 = b7 mark2 = b8 space2 = b9
'renombrar variables
let mark1 = 2 let space1 = 10
'precargar mark1/space1 con relación de 2:10 (1:5)
let mark2 = 20 let space2 = 10
'precargar mark2/space2 con relación de 20:10 (2:1)
74
Club Saber Electrónica Nº 161
Cap 3 - Aperendiendo a Programar
main:
9/6/11
10:23 AM
Página 75
Programación Fácil de Microcontroladores PICAXE
for b2 = 1 to 200 'iniciar un bucle for...next high 0 'encender motor pause mark1 'esperar tiempo indicado por mark1 low 0 'apagar motor pause space1 'esperar tiempo indicado por space1 next b2 'siguiente b2 pause 2000 'detener motor por 2 segundos for b2 = 1 to 200 'iniciar un bucle for.....next high 0 'encender motor pause mark2 'esperar tiempo indicado por mark2 low 0 'apagar motor pause space 2 'esperar tiempo indicado por space1 next b2 'siguiente b2 pause 2000 'detener motor por 2 segundos goto main _____________________________________________________________________________________ Intente seguir el programa para ver si puede comprenderlo; si no lo logra.... no se preocupe, recién estamos empezando. USO
DE TIMBRES Y
ZUMBADORES ELECTRÓNICOS
EN EL
SISTEMA PICAXE
Los timbres emiten un sonido cuando están conectados a una fuente de alimentación. Este sonido, usualmente, está “fijo” a una frecuencia determinada; así, los timbres pueden emitir un solo “tono”. Los zumbadores electrónicos usan un tipo de sistema y pueden ser utilizados para emitir sonidos en diferentes tonos al proveerlos con una salida de diferentes frecuencias. El sistema PICAXE puede crear automáticamente sonidos de diferentes frecuencias utilizando el comando sound (ver tabla 8). _____________________________________________________________________________________ TABLA 8 main: sound 6, (50,100) 'emitir un sonido en salida 6 con frecuencia 50 y longitud 100 sound 6, (100,100) 'emitir un sonido en salida 6 sound 6, (120,100) 'emitir un sonido en salida 6 pause 1000 'esperar 1 segundo goto main 'saltar al inicio del programa (main) _____________________________________________________________________________________ Para probar este programa se debe instalar un zumbador electrónico en el tablero tutorial (entrenador). Para hacer esto, ubique los conectores del zumbador, marcados con la palabra PIEZO (figuras 19 y 20). Luego suelde el cable rojo al agujero marcado “+” y el cable negro al agujero marcado “-”.
Club Saber Electrónica Nº 161
75
Cap 3 - Aperendiendo a Programar
9/6/11
10:23 AM
Página 76
Aprendiendo a Programar PICAXE
FIGURA 19 En el programa, el primer número indica el número de pin (en el tablero tutorial el pin de salida 6 es utilizado). El siguiente número es el tono, seguido por la duración del sonido (longitud). Mientras más alto sea el número de tono, mayor será la “altura tonal” del sonido (frecuencia, note que algunos zumbadores no pueden producir tonos muy altos y por lo tanto números de tono mayores de 127 puede que FIGURA 20 no sean escuchados). El siguiente programa que vemos en la tabla 9 utiliza un bucle for…next para producir 120 sonidos diferentes. El número almacenado en la variable b0 aumenta 1 unidad en cada bucle (1-2-3, etc.). Por consiguiente, al utilizar la variable b0 para asignar el tono, el mismo puede ser cambiado en cada bucle. _____________________________________________________________ TABLA 9 main: for b0 = 1 to 120 'iniciar un bucle for....next sound 6, (b0,50) 'emitir sonido en salida 6 con frecuencia b0 y longitud 50 Next b0 'siguiente b0 end _____________________________________________________________________________________ En la tabla 10 se ve el programa que realiza la misma función pero cambiando el tono en orden descendente, es decir de 120 a 1. _____________________________________________________________________________________ TABLA 10 main: for b0 = 120 to 1 step -1 'iniciar un bucle for.....next (en cuenta regresiva) sound 6, (b0, 50) 'emitir sonido en salida 6 con frec. b0 y longitud 50 next b0 'siguiente b0 end _____________________________________________________________________________________ En la tabla 11 vemos el programa que emite todos los 256 sonidos posibles. _____________________________________________________________________________________ TABLA 11 main: sound 6, (b0, 50) 'emitir sonido en salida 6 let b0 = b0 + 1 'sumar 1 al valor de la variable b0 goto main 'ir a inicio del programa (main) _____________________________________________________________________________________ En este último caso el programa es ejecutado indefinidamente. Sin embargo, es importante comprender cómo el PICAXE ejecuta las operaciones matemáticas. El PICAXE sólo interpreta números en “byte”, o sea números enteros del 0 al 255. No puede interpretar fracciones, ni números negativos, ni números mayores de 255.
76
Club Saber Electrónica Nº 161
Cap 3 - Aperendiendo a Programar
9/6/11
10:23 AM
Página 77
Programación Fácil de Microcontroladores PICAXE
Así, si se trata de sumar 1 a 255, el PICAXE saltará de nuevo a 0. Por consiguiente, en el programa anterior, el valor de la variable b0 se comportará de la siguiente manera mientras el programa se ejecuta: …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 interruptores oscilantes · Interruptores de lengüeta
FIGURA 21
La placa entrenadora propuesta para esta práctica tiene dos interruptores de presión conectados a las entradas 6 y 7 (figura 21). Adicionalmente se pueden conectar otros dos interruptores a las entradas 0 y 1. En la tabla 12 vemos el programa que indica al PICAXE cómo reaccionar cuando los interruptores de botón de presión son presionados. En el programa el pin de salida 7 se ilumina cada vez que el interruptor de botón de la entrada 6 es presionado.
_____________________________________________________________________________________ TABLA 12 main: '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 main flash: 'hacer etiqueta llamada “flash” high 7 'encender salida 7 (output 7) pause 2000 'esperar 2 segundos low 7 'apagar salida7 goto main 'ir a “main” _____________________________________________________________________________________ En este programa las tres primeras líneas forman un bucle continuo. Si la entrada está apagada el programa se reiniciará una y otra vez. Una vez que el interruptor es presionado, el programa salta a la etiqueta llamada “flash”. El programa luego activa la “salida 7” por dos segundos antes de regresar nuevamente a “main”. Note cuidadosamente la ortografía en la línea del comando if…then – entrada6 (input6) es una sola palabra (sin espacios en blanco). Note también que únicamente se debe escribir la etiqueta posterior al comando then – no se permite ninguna otra palabra aparte de la etiqueta.
Club Saber Electrónica Nº 161
77
Cap 3 - Aperendiendo a Programar
USO
DE
9/6/11
10:23 AM
Página 78
Aprendiendo a Programar PICAXE
ENTRADAS
CON
SENSORES ANALÓGICOS
Los sensores analógicos miden señales continuas tales como luz, temperatura o posición. El sensor analógico provee una señal que consiste en un voltaje variable (figura 22). Este voltaje puede luego ser representado con un número del 0 al 255 (Por ejemplo muy oscuro = 0, luz muy brillante = 255). Ejemplos típicos de sensores analógicos son: · Fotorresistencias ó LDRs (Light Dependent Resistors - Resistencias variables con la luz ). · Termistores · Resistencias variables (potenciómetros)
FIGURA 22 FIGURA 23
El tablero tutorial (entrenador) posee una fotorresistencia montada en el mismo, la cual está conectada a la entrada 2 (input2). La fotorresistencia es un componente cuya resistencia cambia al variar la intensidad de luz que incide sobre la misma, es decir, su resistencia cambia según el nivel de luz. Bajo luz brillante su resistencia es baja (típicamente alrededor de 1kΩ) mientras que en la oscuridad, su resistencia es muy alta (típicamente alrededor de 1MΩ). En la figura 23 se muestra el símbolo y la curva típica de resistencia contra intensidad de luz para la fotorresistencia. La fotorresistencia está conectada a la entrada 2 en configuración de divisor de voltaje. Tal como se muestra en la figura 24.
FIGURA 24
Cómo se Leen las Entradas Analógicas El valor de una entrada analógica puede ser fácilmente copiado dentro de una variable utilizando el comando readadc. Luego, se puede probar el valor de la variable (0 a 160). El programa de la tabla 13 enciende un diodo LED si el valor es mayor que 120 y otro diodo LED, si el valor es menor de 70. Si el valor está entre 70 y 120, ambos diodos LED permanecen apagados. _____________________________________________________________________________________ TABLA 13 main:
78
readadc 2,b0 if b0 > 120 then stop if b0 < 70 the bot low 1
'hacer etiqueta llamada “main” 'leer señal de canal 2 en variables b0 'si b0 >120 ir a “stop” 'si b0