Programación de μC PICAXE
Cuaderno de Prácticas de Laboratorio Profesora: Encarna García ver. 13.0
Projecte d'innovació Docent 2011
“Plataforma Docent per a l’Aprenentatge d’Electrònica Analògica per a Estudiants de Batxillerat i de Grau”.
Índice de Prácticas de Laboratorio
P1. Introducción a los microcontroladores: PICAXE. P2. Project Board PICAXE08M2. P3. PICAXE Programming Editor. P4. Entradas y salidas digitales. P5. Entradas analógicas. P6. Control de motores DC (Control PWM). P7. Receptor de códigos IR. P8. Salidas acústicas (Control PWM).
Introducción a los microcontroladores: PICAXE P1 1. Objetivos. 1. Conocer los dispositivos PIC. 2. Analizar las características del PICAXE08M2.
2. Material. PC con conexión a Internet.
3. Introducción teórica. El uso de microcontroladores ha ido incrementándose en las últimas décadas de forma espectacular en los diferentes sistemas y equipos electrónicos destinados a multitud de aplicaciones de todo tipo. Pensemos que, en la actualidad, es inusual encontrar equipos profesionales destinados al entorno industrial, en comunicaciones, en audio y vídeo, en domótica, automoción, etc., que no lleven al menos un microcontrolador para el control y/o procesado de la información y señales que manejan. Incluso la inmensa mayoría de electrodomésticos de uso común que tenemos en nuestras viviendas (hornos microondas, lavavajillas, lavadoras, etc.) llevan uno o varios microcontroladores para controlar la secuencia de sus programas de cocinado, lavado, etc. Los microcontroladores, especialmente los de bajo coste, son, por tanto, pieza fundamental en los actuales equipos y sistemas electrónicos.
Figura 1. Aplicaciones de los microcontroladores.
Práctica diseñada por la profesora Encarna García
1/5
3.1. Los microcontroladores Un microcontrolador es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Los microcontroladores son comprados en “blanco” y luego programados con un programa específico de control. Una vez programado, este microcontrolador es introducido en algún producto para hacerlo más “inteligente” y fácil de usar. A modo de ejemplo, un horno microondas puede utilizar un solo microcontrolador para procesar información proveniente del teclado numérico, mostrar información para el usuario en la pantalla de visualización y controlar los dispositivos de salida (motor de la mesa giratoria, luz, timbre y magnetrón).
Figura 2. Microcontroladores comerciales.
Un microcontrolador puede a menudo 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: ✔ Aumento en la confiabilidad debido al menor número de partes . ✔ Reducción en los niveles de stock, ya que un microcontrolador reemplaza varias partes . ✔ Simplificación del ensamblaje del producto y productos finales más pequeños . ✔ 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 . ✔ Rapidez en modificaciones y desarrollo del producto mediante cambios en el programa del microcontrolador, y no en el hardware electrónico .
3.2. Los microcontroladores PIC. Los PIC (Periferical Interface Controller) son una familia de microcontroladores fabricados por la empresa Microchip Technology Inc. Se trata de una gama de microcontroladores de bajo coste con potencia y prestaciones equivalentes a otros modelos de empresas competidoras. La gran aceptación en la industria de este tipo de microcontroladores se debe a su gran versatilidad, bajo coste y facilidad de programación. Por este motivo, los PIC son uno de los tipos de microcontroladores más utilizados en aplicaciones industriales, equipos de consumo (mandos a distancia, juguetes, electrodomésticos, sistemas informáticos Figura 3. Microcontroladores PIC. … ) y por los estudiantes y aficionados a la Electrónica.
Práctica diseñada por la profesora Encarna García
2/5
Los microcontroladores PIC utilizan una arquitectura tipo Harvard (Fig. 4) que dispone de: un procesador (CPU), una memoria de programas (tipo ROM), una memoria de datos (tipo RAM) y la electrónica necesaria para recibir y enviar señales al exterior (puertos de salida). MEMORIA DE PROGRAMA
CPU
(ROM)
MEMORIA DE DATOS (RAM)
Figura 4. Estructura Harvard.
3.3. El sistema PICAXE. Los microcontroladores utilizan lenguajes de programación de bajo nivel como el ensamblador (assembler), es decir, lenguaje máquina, próximo al código binario. Programar en ensamblador resulta muy complejo, ya que el programador necesita conocer con detalle la estructura o arquitectura del dispositivo. Por este motivo, se comercializa una versión didáctica de los PICs: el sistema PICAXE. El sistema PICAXE es un sistema de microcontrolador fácil de programar que utiliza un lenguaje de programación de alto nivel BASIC (Beginners Allpurpose Symbolic Instruction Code). La facilidad y la potencia de programación de PICAXE se debe a la incorporación de un módulo de programa (firmware) en los microcontroladores PIC. Este módulo es capaz de interpretar las instrucciones en BASIC que pueden ser cargadas directamente en la placa donde va a funcionar por medio de un software gratuito.
Figura 5. PICAXE 08M2
Podemos encontrar diferentes modelos de microcontroladores PICAXE en el mercado (8, 14, 18, 20, 28 y 40 pines) que nos ofrecen diferentes prestaciones que se resumen en la tabla 1.
Práctica diseñada por la profesora Encarna García
3/5
Tabla 1. Comparación de los principales modelos comerciales de las series M2 y X2.
De los diferentes dispositivos comerciales, utilizaremos el PICAXE 08M2 en nuestros proyectos debido a alguna de sus principales características: ✔ Tiene solamente 8 pines, lo cual simplifica el diseño de la placa de circuito impreso (Project Board PICAXE 08M2) y su posterior desarrollo. ✔ Dispone de 6 pines que pueden configurarse como entradas/salidas digitales. ✔ Tiene 3 pines que pueden configurarse como entradas analógicas. ✔ Contiene un convertidor analógicodigital (ADC) de 10 bits de resolución. ✔ Permite el control de motores, mediante el driver adecuado. ✔ Puede recibir y transmitir códigos IR; por tanto, puede accionarse a través de un mando a distancia universal. ✔ Tiene una memoria de programación de 80 líneas. ✔ Tiene un bajo coste (2,5 € aprox.)
Figura 6. Pinout del PICAXE 08M2
Práctica diseñada por la profesora Encarna García
4/5
4. Desarrollo y realización de la práctica. Después de leer con detenimiento la información proporcionada en el presente guión de prácticas, contesta las siguientes cuestiones en un documento de texto: 1. Enumera 5 dispositivos, que utilices a diario, que estén controlados por un microcontrolador. Explica que función realiza el microcontrolador en cada uno de los casos. 2. Busca y anota el significado de las siguientes siglas: CPU, ROM, RAM, PIC, μC y BASIC . 3. Explica la diferencia entre los lenguajes de programación de alto y bajo nivel. Pon algún ejemplo de cada tipo de lenguaje de programación. 4. Explica la diferencia entre memoria RAM y memoria ROM. 5. Busca 5 empresas que fabriquen y comercialicen microcontroladores. 6. Busca información sobre los diferentes tipos de encapsulado que pueden presentar los microcontroladores. Realiza una tablaresumen donde se muestren los principales tipos. Debes incluir una imagen de cada tipo.
Práctica diseñada por la profesora Encarna García
5/5
P2
PROJECT BOARD PICAXE08M2
1. Objetivos. 1. Conocer el diseño y analizar el funcionamiento de la Project Board PICAXE08M2 (PIC Board) 2. Comprobar el funcionamiento de la PICBoard ejecutando el programa de pruebas.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Mando a distancia universal.
3. Introducción teórica. Un sistema de control automático es el conjunto de elementos técnicos que tiene como objetivo conseguir que una máquina o proceso realice una serie de funciones, minimizando la intervención humana. La intervención humana se limita a introducir determinadas órdenes de funcionamiento en el sistema de control para que éste ejecute de manera adecuada las fases de trabajo. Entrada de materia y/o energía
MÁQUINA O PROCESO
Salida de materia y/o energía
ACTUADORES
SISTEMA DE CONTROL CONTROLADOR
ÓRDENES
SENSORES
INFORMACIÓN
Figura 1. Diagrama de bloques sobre el funcionamiento básico de un sistema de control automático.
Práctica realizada por la profesora Encarna García
1/6
Cualquier sistema de control está formado por cuatro partes básicas: elementos de accionamiento manual (interruptores, pulsadores, etc.), sensores (LDR, NTC, PTC, detectores de presencia, receptores IR, etc.), controladores (PICAXE o similar) y actuadores (LEDs, motores, zumbadores, etc.). La PICBoard es una placa de desarrollo de proyectos que contiene los principales elementos que podemos encontrar en cualquier automatismo: sensores, controladores y actuadores. Cabe destacar que el control de nuestra placa de desarrollo de proyectos lo realiza un microcontrolador PICAXE08M2. Hemos elegido este modelo debido a que se trata de un microcontrolador fácil de programar, con grandes prestaciones y bajo coste. El PICAXE es, por tanto, el encargado de recibir las entradas, a través de los elementos de accionamiento manual y sensores, ejecutar un programa y proporcionarnos unas determinadas salidas accionando los actuadores pertinentes. En función de la forma de trabajar del automatismo podemos distinguir dos tipos de sistemas de control: control en lazo abierto y control en lazo cerrado. El control en lazo abierto se caracteriza porque, una vez activado, ejecuta el proceso durante un tiempo prefijado, con independencia del resultado obtenido (figura 2).
Máquina/ Proceso
Controlador
Entrada
Salida
Figura 2. Diagrama de bloques sobre el funcionamiento de un sistema de control automático en lazo abierto.
En cambio, los sistemas de control en lazo cerrado establecen una supervisión sobre la variable de salida, actuando hasta obtener el resultado deseado (figura 3). En este tipo de automatismos tiene lugar un proceso continuo de realimentación, que consiste en comparar el estado de la salida con el de la consigna para modificar la respuesta del automatismo de acuerdo con el resultado de la comparación. Esta comparación es lo que llamamos error del sistema.
Entrada
+
-
Controlador
Máquina/ Proceso
Salida
Señal de error
Realimentación
Figura 3. Diagrama de bloques sobre el funcionamiento de un sistema de control automático en lazo cerrado.
Práctica realizada por la profesora Encarna García
2/6
3.1. La Project Board PICAXE08M2. Este curso utilizaremos la PICBoard, una placa de desarrollo de proyectos muy completa que nos permitirá realizar un gran número de prácticas y proyectos. Las principales características de la PICBoard son las siguientes: ✔ Alimentación a 9 V. ✔ Soporta el microcontrolador PICAXE08M2. ✔ 1 entrada analógica externa conectada al pin C.4 del microcontrolador. ✔ 1 entrada digital externa conectada al pin C.4. La placa dispone de un micropulsador (P1) conectado al mismo pin C.4, por lo que puede ser activado desde la placa o como conexión externa. ✔ 1 receptor de códigos infrarrojos conectado al pin C.3 del microcontrolador. ✔ 3 salidas digitales conectadas a los pines C.0, C.1 y C.2 y que están representadas mediante LEDs de color rojo (L1), amarillo (L2) y verde (L3), respectivamente. ✔ 2 salidas digitales conectadas a los pines C.1 y C.2 que permiten conectar un motor. El funcionamiento de este motor está controlado por el driver L298. ✔ Circuito programador que permite la programación del PICAXE sin necesidad de extraerlo de la placa de pruebas. ✔ Circuito de alimentación. La fotografía de la figura 4 muestra los principales componentes que integran la placa, con los que tendremos que irnos familiarizando para realizar las próximas sesiones prácticas de laboratorio.
Figura 4. Descripción de la PICBoard.
Práctica realizada por la profesora Encarna García
3/6
En términos generales se distinguen las siguientes elementos: 1. Conector jack (permite la conexión del PICAXE con el PC a través del cable AXE027) 2. Conector de alimentación (Pila de 9 V) 3. Regulador de tensión 7805. 4. Interruptor. 5. Microcontrolador PICAXE08M2. 6. Conector de la entrada analógica/digital. 7. Detector de Infrarrojos. 8. Micropulsador. 9. LEDs indicadores de salidas digitales. 10. Conectores de salidas digitales. 11. Conectores de salidas de los motores. 12. Driver controlador del motor.
3.2. Funcionamiento de la PICBoard. Como se ha comentado con anterioridad, cualquier sistema de control está formado por sensores, controladores y actuadores. Como puede apreciarse en el diagrama de bloques de la figura 5, la PICBoard dispone de las siguientes entradas: ✔ Un micropulsador que utilizaremos como elemento de accionamiento manual o bien para simular entradas digitales. ✔ Un conector que nos permitirá utilizar sensores analógicos de diferente tipo (LDR, NTC, humistores, etc.). ✔ Un detector de infrarrojos que nos permite captar las señales emitidas por un mando a distancia universal. También está equipado de los siguientes elementos de salida: ✔ Tres diodos LED que permiten visualizar salidas digitales. ✔ Tres conectores donde podremos conectar otros actuadores o salidas digitales (zumbadores, LEDs, altavoces, etc.). ✔ Un conector de motores de corriente continua. La placa dispone de un driver específico que permite el control de la velocidad de dicho motor. Por último, recordar que el elemento encargado de realizar el procesador es un microcontrolador PICAXE08M2 que ejecuta un programa y activa las salidas en función de las entradas que les son proporcionadas.
Práctica realizada por la profesora Encarna García
4/6
Figura 5. Diagrama de bloques de las principales entradas y salidas que soporta la placa PICBoard.
4. Desarrollo y realización de la práctica. A continuación, comprobaremos el correcto funcionamiento de la PICBoard accionando una serie de entradas y observando las salidas que son activadas. Cada grupo dispone de una PICBoard cuyo PICAXE tiene cargado un programa de pruebas. Sigue las siguientes instrucciones y completa la información que se te solicita: 1. Alimenta la Project Board con una pila de 9 V, tal y como se indica en la figura 6.
Figura 6. Alimentación de la Project Board PICAXE 08M2.
2. Acciona el interruptor I1 y comprueba que se enciende el LED rojo que hay justo a la derecha del mismo. 3. Acciona el pulsador P1. Describe en tu hoja de respuestas qué salidas se activan y de qué modo.
Práctica realizada por la profesora Encarna García
5/6
4. Configura el mando a distancia siguiendo las instrucciones que se indican en la figura 7. 5. Acciona la tecla 1 del mando a distancia y describe en tu hoja de respuestas el estado de las salidas. 6. Acciona la tecla 2 del mando a distancia y describe en tu hoja de respuestas el estado de las salidas. 7. Acciona la tecla 3 del mando a distancia y describe en tu hoja de respuestas el estado de las salidas.
Figura 7. Instrucciones para la configuración del mando a distancia universal.
Práctica realizada por la profesora Encarna García
6/6
P3
PICAXE Programming Editor
1. Objetivos. 1. Instalar el Software PICAXE Programming Editor. 2. Instalar el driver para el cable de conexión AXE027. 3. Programar la PICBoard desde el PC.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con conexión a Internet. 5. Anexo: AXE027 PICAXE USB CABLE .
3. Introducción teórica. Los microcontroladores utilizan lenguajes de programación de bajo nivel como el ensamblador (assembler); es decir, lenguaje máquina, próximo al código binario. Programar en ensamblador resulta muy complejo, ya que el programador necesita conocer con detalle la estructura o arquitectura del dispositivo. Por este motivo, se comercializa una versión didáctica de los PICs: el sistema PICAXE. El sistema PICAXE es un sistema de microcontrolador fácil de programar que utiliza un lenguaje de programación de alto nivel BASIC (Beginners Allpurpose Symbolic Instruction Code). La facilidad y la potencia de programación de PICAXE se debe a la incorporación de un módulo de programa (firmware) en los microcontroladores PIC. Este módulo es capaz de interpretar las instrucciones en BASIC que pueden ser cargadas directamente en la placa donde va a funcionar por medio de un software gratuito (PICAXE Programming Editor).
3.1. El PICAXE Programming Editor. El PICAXE Programming Editor es un programa gratuito que permite editar programas en BASIC o en lenguajes gráficos (diagramas de flujo y diagramas de puertas lógicas), simularlos, compilarlos y transferirlos a la Project Board PICAXE08M2. Podemos obtener el programa de forma gratuita de la página web de PICAXE: www.picaxe.com.
Práctica realizada por la profesora Encarna García
1/4
3.2. El driver AXE027. Para transferir un programa en el microcontrolador PICAXE de la PICBoard es necesario utilizar un cable de comunicaciones. Nosotros utilizaremos un cable de descarga USB AXE027. Conectaremos un extremo al puerto USB de nuestro PC y, el otro, al conector jack de la PICBoard. No obstante, el cable USB AXE027 contiene un sencillo circuito que hace necesario instalar previamente un driver que podemos descargar de la página web de PICAXE: www.picaxe.com. Figura 1. Cable USB AXE027
4. Desarrollo y realización de la práctica. Al finalizar esta sesión de prácticas, debemos tener instalado y configurado el Software PICAXE Programming Editor. Para ello, debes seguir los siguientes pasos: 1. Descárgate el PICAXE Programming Editor de la página web de PICAXE: www.picaxe.com. 2. Instala el programa en tu PC. 3. Descárgate el driver: AXE027 USB Cable Driver de la página web de PICAXE. 4. Con ayuda del documento adjunto “AXE027 PICAXE USB CABLE”, instala el driver del cable de conexión. 5. Abre el programa y, una vez dentro del programa, abre el menú de opciones (Options). Selecciona la pestaña Mode e indica el modelo de PICAXE de la PIC Board: PICAXE08M2 (Figura 2).
Figura 2. Selección del modo PICAXE08M2
Práctica realizada por la profesora Encarna García
2/4
6. A continuación, conecta el cable de conexión AXE027 al PC y enciende la PICBoard y selecciona la pantalla Serial Port. 7. Comprueba qué puerto de comunicaciones está preparado y selecciónalo. En el caso de la figura se trata del puerto de comunicaciones COM4. Esta pantalla te indica en qué puerto USB de tu PC tienes conectado el USB.
Figura 3. Selección del puerto de comunicaciones activo.
8. Finalmente, comprueba la versión del firmware que incorpora el PICAXE. Para ello, acciona la pestaña Mode y clicka sobre el botón Check Firmware Version. Debe aparecerte una ventana similar a la que se muestra en la figura 4.
Figura 4. Comprobación del firmware.
Práctica realizada por la profesora Encarna García
3/4
Actividad 1. Edita el programa de la figura 5 y guárdalo con el nombre de P3_primer_programa.
Figura 5. Primer programa de pruebas.
A continuación, clicka sobre el icono Program del menú principal y se iniciará la descarga del programa en el PICAXE de la PICBoard.
Figura 6. Menú principal del PICAXE Programming Editor.
Recuerda que para que se realice correctamente la descarga la placa debe estar encendida. Puedes observar el progreso de la descarga en la pantalla que se muestra en la figura 7. Figura 7. Ventana de descarga.
Una vez finalizada la descarga el programa muestra la ventana de la figura 8.
Figura 8. Ventana de verificación de descarga.
¡Enhorabuena, acabas de cargar tu primer programa PICAXE! Comprueba que salidas se activan en la PICBoard y comenta los resultados con tu profesora.
Práctica realizada por la profesora Encarna García
4/4
P4
Entradas y salidas digitales
1. Objetivos. 1. Conocer algunas instrucciones BASIC fundamentales para el control de entradas y salidas digitales. 2. Aprender a programar entradas y salidas digitales.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con el programa PICAXE Programming Editor.
3. Introducción teórica. La placa de entrenamiento PICBoard dispone de diferentes dispositivos de entrada y salida (Figura 1). En la presente práctica nos centraremos en el control de las entradas y salidas digitales de la misma.
Figura 1. Placa de entrenamiento PICBoard.
En concreto, la placa está equipada con las siguientes entradas y salidas digitales (Figura 2): ✔ 1 entrada digital: micropulsador (P1) conectado al pin C.4 del μC. ✔ 3 salidas digitales conectadas a los pines C.0, C.1 y C.2 y que están representadas mediante LEDs de color rojo (L1), amarillo (L2) y verde (L3), respectivamente.
Práctica realizada por la profesora Encarna García
1/4
Figura 2. Diagrama de bloques que muestra las entradas y salidas digitales que soporta la PICBoard.
3.1 Entradas digitales: micropulsador. La PICBoard dispone de un micropulsador NO (Normally Open) que nos permitirá programar y simular entradas digitales. Pulsadores, interruptores y finales de carrera son componentes electrónicos que pueden ser considerados como sensores digitales. Una señal digital es aquella que que evoluciona de forma discreta en el tiempo. En nuestro caso, solamente puede adquirir dos estados: encendido (estado alto o 1 lógico) y apagado (estado bajo o 0 lógico). Figura 3. Señal digital.
3.2. Salidas digitales: diodos LED. La PICBoard está equipada con tres diodos LED (colores rojo, amarillo y verde) que utilizaremos como indicadores luminosos.
3.3. Instrucciones BASIC para controlar entradas y salidas digitales. La tabla 1 muestra las principales instrucciones BASIC (BASIC Commands) que necesitaremos para programar las entradas y salidas digitales de la PICBoard. Tabla 1. Instrucciones BASIC para controlar las entradas y salidas digitales. Instrucción
Acción
Ejemplo
high
Activa un pin de salida.
high C.0 (enciende el LED rojo)
low
Desactiva un pin de salida.
low C.2
Espera un tiempo en ms.
pause 500 (espera 500 ms)
Espera un tiempo en s.
wait 2
Permite renombrar entradas y salidas.
symbol LED_rojo = C.0
pause wait symbol
Práctica realizada por la profesora Encarna García
(apaga el LED verde) (espera 2 s)
2/4
4. Desarrollo y realización de la práctica. Durante el desarrollo de esta práctica deberéis programar, compilar y probar en la PICBoard, los programas propuestos a continuación: Programa 1. Encendido de diodos LED. En primer lugar, copia el siguiente programa en el PICAXE Programming Editor, descárgalo en la PICBoard y comprueba su funcionamiento.
A continuación, realiza un programa que encienda durante 5 segundos los 3 LEDs de la placa de pruebas. Programa 2. LED intermitente. Copia el siguiente programa en el PICAXE Programming Editor, descárgalo en la PICBoard y comprueba su funcionamiento.
A continuación, modifica el programa anterior utilizando el comando symbol:
Práctica realizada por la profesora Encarna García
3/4
Finalmente, realiza y comprueba los siguientes programas: P2.1. Programa que encienda y apague de forma intermitente los diodos LED L1, L2 y L3 de forma secuencial (efecto conocido como “el coche fantástico”). P2.2. Programa que simule el funcionamiento de un semáforo. Programa 3. Control Pulsador. En primer lugar, copia el siguiente programa en el PICAXE Programming Editor, descárgalo en la PICBoard y comprueba su funcionamiento.
A continuación, modifica el programa anterior utilizando el comando symbol:
Finalmente, realiza y comprueba los siguientes programas: P3.1. Programa que, al pulsar el micropulsador, encienda y apague de forma intermitente los diodos LED L1, L2 y L3 de forma secuencial (“coche fantástico”). P3.2. Programa que simule el funcionamiento de un semáforo que solamente se pone en rojo después de que un peatón accione un pulsador manual.
Práctica realizada por la profesora Encarna García
4/4
P5
Entradas analógicas
1. Objetivos. 1. Conocer algunas instrucciones BASIC fundamentales para el control de entradas analógicas. 2. Aprender a programar entradas analógicas.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con el programa PICAXE Programming Editor. 5. 1 sensor LDR
3. Introducción teórica. La placa de entrenamiento PICBoard dispone de diferentes dispositivos de entrada y salida (Figura 1).
Figura 1. Placa de entrenamiento PICBoard.
En concreto, en esta práctica utilizaremos las siguientes entradas y salidas (Fig. 2): ✔ 1 entrada digital: micropulsador (P1) conectado al pin C.4 del µC. ✔ 1 entrada analógica (IN ADC) conectada al pin C.4 del µC. ✔ 3 salidas digitales conectadas a los pines C.0, C.1 y C.2 y que están representadas mediante LEDs de color rojo (L1), amarillo (L2) y verde (L3), respectivamente. Práctica realizada por la profesora Encarna García
1/4
Figura 2. Diagrama de bloques que muestra las entradas y salidas que utilizaremos en esta práctica.
3.1 Entrada analógica: LDR La PICBoard dispone de un conector (IN ADC) que nos permitirá introducir, programar y simular entradas analógicas, en concreto una resistencia LDR. Las resistencias dependientes de la luz o LRD (Light Dependent Resistors) son componentes electrónicos que varían el valor de resistencia en función de la intensidad de luz que incide sobre su superficie.
Figura 3. LDR
Las LDRs tienen una resistencia eléctrica muy elevada cuando el ambiente es oscuro o con poca luz. En cambio, cuando están expuestas a la luz, su resistencia se reduce drásticamente y permiten el paso de corriente eléctrica. Las LDRs pueden considerarse, por tanto, un sensor analógico que mide la luz y proporciona una variación de resistenca en función de la intensidad luminosa. El microcontrolador PICAXE interpreta el voltaje instantáneo que proporciona la entrada analógica asignando un valor entre 0 (obscuridad absoluta) y 255 (luz brillante). Nosotros fijaremos por programa una valor umbral, por encima o debajo del cual, el programa realizará una determinada función.
3.2 Entradas digitales: micropulsador. La PICBoard dispone de un micropulsador NO (Normally Open) que nos permitirá programar y simular entradas digitales. Pulsadores, interruptores y finales de carrera son componentes electrónicos que pueden ser considerados como sensores digitales. Una señal digital es aquella que que evoluciona de forma discreta en el tiempo. En nuestro caso, solamente puede adquirir dos estados: encendido (estado alto o 1 lógico) y apagado (estado bajo o 0 lógico).
Práctica realizada por la profesora Encarna García
Figura 4. Señal digital.
2/4
3.3. Salidas digitales: diodos LED. La PICBoard está equipada con tres diodos LED (colores rojo, amarillo y verde) que utilizaremos como luces indicadoras.
3.4. Instrucciones BASIC para controlar entradas y salidas analógicas y digitales. La tabla 1 muestra las principales instrucciones BASIC (BASIC Commands) que necesitaremos para programar las entradas y salidas que utilizaremos en esta práctica. Tabla 1. Instrucciones BASIC para controlar las entradas y salidas analógicas y digitales. Instrucción
Acción
Ejemplo
high
Activa un pin de salida.
high C.0 (enciende el LED rojo)
low
Desactiva un pin de salida.
low C.2
Espera un tiempo en ms.
pause 500 (espera 500 ms)
Espera un tiempo en s.
wait 2
readadc
Lee la entrada analógica.
readadc C.0, b1 (Lee la entrada del puerto C.4 y la guarda en la variable b1)
debug
Abre la ventana de visualización de datos. debug
symbol
Permite renombrar entradas y salidas.
pause wait
(apaga el LED verde) (espera 2 s)
symbol LED_rojo = C.0
4. Desarrollo y realización de la práctica. Durante el desarrollo de esta práctica deberéis programar, compilar y probar en la PICBoard, los programas propuestos a continuación: Programa 1. Detector de obscuridad. En primer lugar, copia el siguiente programa en el PICAXE Programming Editor, descárgalo en la PICBoard y comprueba su funcionamiento.
Nota: es posible que tengas que modificar la consigna para obtener el efecto deseado.
Práctica realizada por la profesora Encarna García
3/4
Para comprobar el funcionamiento de este programa, debes conectar una LDR en el conector IN ADC de la PICBoard. Cubre la superficie de la resistencia de la LDR con algún elemento opaco para simular oscuridad. A continuación, realiza un programa que encienda los 3 diodos LED de la placa de pruebas al detectar luz. Programa 2. Detector de temperatura. Copia el siguiente programa en el PICAXE Programming Editor, descárgalo en la PICBoard y comprueba su funcionamiento.
Nota: es posible que tengas que modificar la consigna para obtener el efecto deseado.
Para comprobar el funcionamiento de este programa, debes conectar un termistor en el conector IN ADC de la PICBoard. Calienta el termistor con tus dedos para simular el aumento de temperatura. A continuación, realiza un programa que simule una alarma de incendios al detectarse altas temperaturas. Puedes simular la alarma encendiendo y apagando los diodos LED amarillo y verde de forma intermitente.
Práctica realizada por la profesora Encarna García
4/4
P6
Control de motores DC (Control PWM)
1. Objetivos. 1. Conocer algunas instrucciones BASIC fundamentales para el control de un motor DC mediante la placa de pruebas PICBoard.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con el programa PICAXE Programming Editor. 5. 1 motor DC.
3. Introducción teórica. La placa de entrenamiento PICBoard dispone de diferentes dispositivos de entrada y salida (Figura 1).
Figura 1. Placa de entrenamiento PICBoard.
En concreto, en esta práctica utilizaremos las siguientes entradas y salidas (Fig. 2): ✔ 1 entrada digital: micropulsador (P1) conectado al pin C.4 del µC. ✔ 3 salidas digitales conectadas a los pines C.0, C.1 y C.2 y que están representadas mediante LEDs de color rojo (L1), amarillo (L2) y verde (L3), respectivamente. ✔ 2 salidas digitales conectadas a los pines C.1 y C.2 que permiten conectar un motor (M1). El funcionamiento de este motor está controlado por el driver L298.
Práctica realizada por la profesora Encarna García
1/4
Figura 2. Diagrama de bloques que muestra las entradas y salidas que utilizaremos en esta práctica.
3.1 Entradas digitales: micropulsador. La PICBoard dispone de un micropulsador NO (Normally Open) que nos permitirá programar y simular entradas digitales. Pulsadores, interruptores y finales de carrera son componentes electrónicos que pueden ser considerados como sensores digitales. Una señal digital es aquella que que evoluciona de forma discreta en el tiempo. En nuestro caso, solamente puede adquirir dos estados: encendido (estado alto o 1 lógico) y apagado (estado bajo o 0 lógico).
Figura 3. Señal digital.
3.2. Salidas digitales: diodos LED. La PICBoard está equipada con tres diodos LED (color rojo, amarillo y verde) que utilizaremos como luces indicadoras.
3.3. Salidas digitales: motor D.C. La PICBoard integra un driver L298 que controla el funcionamiento de un motor de D.C que conectaremos a los pines C.1 y C.2.
Práctica realizada por la profesora Encarna García
2/4
4. Desarrollo y realización de la práctica. Durante el desarrollo de esta práctica deberéis programar, compilar y probar en la PICBoard, los programas propuestos a continuación: Programa 1. Control de un motor.
Programa 2. Encendido de un motor mediante un pulsador.
Práctica realizada por la profesora Encarna García
3/4
Programa 3. Apagado de un motor mediante un pulsador.
Práctica realizada por la profesora Encarna García
4/4
P7
Receptor de códigos IR
1. Objetivos. 1. Conocer algunas instrucciones BASIC fundamentales para el control del receptor de códigos IR. 2. Aprender a programar a partir de los códigos IR emitidos por el mando a distancia universal.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con el programa PICAXE Programming Editor. 5. Mando a distancia universal.
3. Introducción teórica. La placa de entrenamiento PICBoard dispone de diferentes dispositivos de entrada y salida (Figura 1).
Figura 1. Placa de entrenamiento PICBoard.
En concreto, en esta práctica utilizaremos las siguientes entradas y salidas (Fig. 2): ✔ 1 receptor de códigos infrarrojos (IR) conectado al pin C.3 del microcontrolador. ✔ 3 salidas digitales conectadas a los pines C.0, C.1 y C.2 y que están representadas mediante LEDs de color rojo (L1), amarillo (L2) y verde (L3), respectivamente.
Práctica realizada por la profesora Encarna García
1/5
Figura 2. Diagrama de bloques que muestra las entradas y salidas que utilizaremos en esta práctica.
3.1. El detector de infrarrojos (IR). La mayoría de los mandos o controles remotos funcionan con diodos LED emisores de luz infrarroja. Cuando pulsamos una tecla, el mando envía una secuencia de pulsos de luz infrarroja que transportan un código de N bits que identifica la tecla pulsada. La figura 3 muestra un ejemplo de señal IR emitida por un diodo LED de un mando a distancia cualquiera.
Figura 3. Ejemplo de señal IR emitida por un mando a distancia.
La PICBoard dispone de un detector de IR que tiene como función recibir la información emitida por el mando a distancia y enviar el código digital al microcontrolador PICAXE. El microcontrolador PICAXE08M2 nos permite realizar programas que interpretan este tipo de entradas digitales a través de una serie de instrucciones específicas como el comando irin que se explica en el apartado 3.3.
Práctica realizada por la profesora Encarna García
2/5
3.2. Configuración del mando a distancia universal.
En esta práctica utilizaremos entradas digitales emitidas por el LED emisor de señales digitales de un mando a distancia universal. Es necesario seguir las instrucciones de la figura 4 para configurar el mando a distancia.
Figura 4. Instrucciones para la configuración del mando a distancia universal.
3.3. Instrucción irin. El comando irin es una instrucción de espera hasta que el microprocesador PICAXE recibe una entrada infrarroja. Como se ha comentado anteriormente, utilizaremos un mando a distancia universal para emitir la señal de IR. La instrucción irin se define a partir de los elementos de la expresión 1:
irin [ 100 , inicio ], C.3, b0 [expresión 1] donde: •
100 es el tiempo de espera expresado en milisegundos.
•
inicio es la etiqueta a la que tiene que regresar de forma recursiva tras pasar el tiempo de espera.
•
C.3 es el puerto donde se conecta el detector de IR (en nuestro caso siempre es el C.3).
•
b0 es la variable donde se guarda el código IR emitido por el mando a distancia; corresponde, por tanto, a la tecla pulsada.
La instrucción de la expresión 1 hace que el microcontrolador realice una lectura del puerto C.3 (dónde está conectado el detector de IR) cada 100 ms. En caso de recibir una señal de infrarrojos guarda el código recibido en la variable b0. El microcontrolador PICAXE 08M2 decodifica esta entrada identificando de que tecla se trata. El siguiente ejemplo nos ayudará a entender la utilización de este comando para poder introducir entradas a través del teclado del mando a distancia:
Práctica realizada por la profesora Encarna García
3/5
inicio: irin [ 100, inicio ], C.3, b0 if b0 = 1 then subprograma_1 if b0= 2 then subprograma_2 goto inicio: subprograma_1: high C.1 goto inicio: subprograma_2: high C.2 goto inicio Este programa permite seleccionar uno de los dos subprogramas, accionando las teclas 1 o 2 del mando a distancia.
4. Desarrollo y realización de la práctica. Durante el desarrollo de esta práctica deberéis programar, compilar y probar en la PICBoard, los programas propuestos a continuación: Programa 1. Control del mando a distancia universal
Práctica realizada por la profesora Encarna García
4/5
A continuación, comprueba los valores que adquiere la variable b0 cuando pulsas diferentes teclas del mando a distancia. Observa que el valor de la variable b0 es siempre una cifra inferior al número marcado. Por este motivo, ha sido necesario incrementar en una unidad el valor de b0 inicialmente (instrucción inc b0).
Finalmente, realiza un programa con el que cumpla, como mínimo, las siguientes especificaciones: 1. Si pulsamos la tecla 1 se enciendan los 3 diodos LED durante 2 s. 2. Si pulsamos la tecla 2 se enciendan y apaguen, de forma intermitente, los diodos LED de forma secuencial. 3. Si pulsamos la tecla 3 se active un programa que simule un semáforo que solamente se ponga en rojo después de que un peatón accione un pulsador manual.
Práctica realizada por la profesora Encarna García
5/5
P8
Salidas acústicas (Control PWM)
1. Objetivos. 1. Conocer algunas instrucciones BASIC fundamentales para el control de salidas acústicas. 2. Aprender a programar salidas acústicas mediante control PWM.
2. Material. 1. PICBoard. 2. Pila de 9 V. 3. Cable de conexión USB AXE027. 4. PC con el programa PICAXE Programming Editor. 5. 1 Zumbador.
3. Introducción teórica. La placa de entrenamiento PICBoard dispone de diferentes dispositivos de entrada y salida (Figura 1).
Figura 1. Placa de entrenamiento PICBoard.
En concreto, en esta práctica utilizaremos las siguientes entradas y salidas (Fig. 2): ✔ 1 entrada digital: micropulsador (P1) conectado al pin C.4 del μC. ✔ 1 salida digital conectada al pin C.2 donde conectaremos el zumbador. Debe conectarse necesariamente a esta salida ya que es la única que tiene control PWM.
Práctica realizada por la profesora Encarna García
1/6
Figura 2. Diagrama de bloques que muestra las entradas y salidas que utilizaremos en esta práctica.
3.1. Timbres y zumbadores electrónicos. Un zumbador electrónico es un “minialtavoz” de bajo coste que se utiliza para emitir sonidos. El sonido generado por el zumbador puede modularse modificando la frecuencia de las señales electrónicas suministradas por el microcontrolador. El polo positivo del zumbador debe conectarse en el conector correspondiente al puerto C.2 (Fig. 1) y el negativo al conector negativo de la pila.
Figura 3. Zumbador.
Los zumbadores emiten sonidos que pueden ser modulados por programa utilizando los comandos sound y play, que se explicarán en detalle en los siguientes apartados.
3.2. Instrucción sound. El comando sound es una instrucción que nos permite modular y emitir señales sonoras que emulan timbres, alarmas, etc. La instrucción sound se define a partir de los elementos de la expresión 1:
sound pin (nota, duración) [expresión 1] donde: •
pin es el puerto al que conectamos el terminal positivo del zumbador. En nuestro caso siempre es el C.2.
•
nota es la frecuencia del sonido que se emite. Puede ser un valor comprendido entre 0 y 255. Se consideran notas ascendentes valores entre 0 y 127, siendo descendentes valores comprendidos entre 128 y 255.
•
duración es el tiempo durante el cual se emite una determinada nota.
Práctica realizada por la profesora Encarna García
2/6
El siguiente ejemplo nos ayudará a entender la utilización de este comando para poder emitir sonidos: inicio: sound C.2, (65, 100) goto inicio: Este programa permite emitir un sonido, por el puerto de salida C.2, de 65 Hz de frecuencia durante 100 ms. Si queremos emitir sonidos con diferentes frecuencias y elaborar de este modo nuestra propia melodía podemos utilizar la expresión 2:
sound pin (nota, duración, nota, duración, nota, duración ...)
[expresión 2]
El siguiente ejemplo nos ayudará a entender la utilización de este comando para poder diseñar nuestras propias melodías: inicio: sound C.2 (120, 50, 80, 50, 120, 50 ) goto inicio:
3.3. Instrucción play. El comando play es una instrucción que nos permite emitir melodías preinstaladas en el microcontrolador PICAXE. La instrucción play se define a partir de los elementos de la expresión 3:
play tune, LED_option [expresión 3] en donde: •
tune es la un valor comprendido entre 0 y 3 que indica la melodía preinstalada escogida. La tabla 1 muestra la relación de melodías disponibles.
•
LED_option es un valor de 0 a 3. Normalmente utilizaremos el valor 1. Tabla 1. Melodías preinstaladas. Tune
Melodía
0
Happy Birthday
1
Jingle Bells
2
Silent Night
3
Rudolph the Red Nosed Reindeer
Práctica realizada por la profesora Encarna García
3/6
El siguiente ejemplo nos ayudará a entender la utilización del este comando para reproducir una determinada melodía, en este caso “Happy Birthday”: inicio: play 0, 1 goto inicio:
3.3. Instrucción tune. El comando tune es una instrucción de nos permite emitir melodías de móviles, como salidas del microcontrolador PICAXE. La aplicación Programming Editor tiene un Wizard (Tune Wizard) que es un asistente para crear el código de una melodía diseñada personalmente, la carga de una ya existente o bien importar un ringtone monofónico para móviles. Estos ringtones están ampliamente disponibles en Internet en formato RTTL (usados en la mayoría de teléfonos Nokia). Podemos descargarnos más de 10.000 melodías de la página web de PICAXE: http://www.picaxe.com/RTTTLRingtonesforTuneCommand/ Para ejecutar el Tune Wizard iremos al menú y seleccionamos: PICAXE → Wizard → Tune Wizard (Figura 4) .
Figura 4. Ruta para acceder al menú de edición de melodías de PICAXE.
Práctica realizada por la profesora Encarna García
4/6
La forma más fácil para importar un ringtone de Internet es encontrar la melodía en una página web, marcar el código RTTL y copiar (botón derecho y copiar o Ctrl.+C). Si hemos descargado los tonos de la página web de PICAXE, se trata de abrir el archivo y copiar todo el contenido. Una vez copiado, regresamos al Tune Wizard y pegamos (botón derecho y copiar o Ctrl+V). Sabremos que se ha copiado la información de forma correcta cuando obtengamos una ventana similar a la de la figura 5. Finalmente, accedemos a la pestaña Edit y copiamos el código BASIC en el programa (Figura 6).
Figura 5. Ventana del PICAXE Tune Wizard.
Figura 6. Edición del código BASIC de la melodía.
4. Desarrollo y realización de la práctica. Durante el desarrollo de esta práctica deberéis programar, compilar y probar en la PICBoard, los programas propuestos a continuación: Programa 1. Alarma. A continuación se muestran 3 formas de programar el sonido de una alarma. Prueba las 3 opciones y realiza un programa que controle una alarma activada y/o desactivada mediante un micropulsador. Puedes utilizar tu propia melodía. Opción A:
Práctica realizada por la profesora Encarna García
5/6
Opción B:
Opción C:
Programa 2. Melodías preinstaladas. Prueba las 4 melodías preinstraladas en el microcontrolador PICAXE. Programa 3. Melodías para móviles. Realiza un programa que te permita reproducir al menos un ringtone monofónico para móviles tras accionar un pulsador.
Práctica realizada por la profesora Encarna García
6/6