1 LA CONTROLADORA PICAXE EN TECNOLOGÍA ÍNCICE Fabricación de circuitos impresos por transferencia térmica 3 Introducción a los microcontroladores 6 Construcción de un entrenador PICAXE08 8 Construcción de un entrenador PICAXE18 16 Comandos básicos 22 Amplificador de salidas ULN2003 29 Placa de control de motores 31 Experimentando con una LDR 34 Experimentando con una NTC 42 Construcción microrrobot controlado por PICAXE 44 Barrera de infrarrojos 66 Construcción móvil controlado por PICAXE 70 Cruce de semáforos controlado por PICAXE 73 La casa soñada 78 Barrera electromecánica 89 2 LA CONTROLADORA PICAXE EN TECNOLOGÍA Fabricación de circuitos impresos por transferencia térmica: Este método consiste en imprimir el diseño del circuito con una impresora láser (o hacer una fotocopia) y posteriormente transferir mediante calor el tóner del papel a la cara del cobre de la placa virgen. Como el tóner es resistente al ácido, todo lo que haya quedado cubierto por esta sustancia estará preservado de la solución corrosiva. Los pasos que hay que seguir para obtener un circuito impreso por este método son los siguientes: 1. Diseño del circuito impreso Se hace a partir del esquema del circuito usando un programa informático o bien por el método tradicional (a mano). Nosotros hemos optado por la primera opción y hemos usado el programa PCBwizard para la obtención del esquema del circuito impreso. 2. Impresión láser del fotolito. Se imprime con una impresora láser a escala 1:1, tal y como se vería desde la cara de los componentes (modo espejo). Si no disponemos de impresora láser podemos utilizar otra cualquiera y posteriormente fotocopiar el resultado. Es fundamental usar un papel de calidad lo más satinado posible. También se obtienen excelentes resultados con papel fotográfico EPSON PHOTO PAPER SO41141. Antes de realizar un proyecto es conveniente realizar una probeta con un pequeño trozo de placa virgen para verificar que el papel que vamos a usar es el adecuado. 3. Preparación de la placa virgen Lo primero que hay que hacer es cortar un trozo del tamaño exacto y quitar con una lima las rebabas. Después hay eliminar totalmente la suciedad y el óxido puliendo la cara metálica con lana de acero para cobre o lija al agua del Nº 600, hasta que la superficie metálica quede brillante. Por último, es necesario desengrasar la superficie del cobre usando acetona o cualquier disolvente de similares propiedades. El método de limpieza más eficaz es dar dos pasadas usando dos papeles de cocina. La primera pasada elimina la mayor parte de la suciedad y la segunda, con un papel nuevo deja la superficie impecable. Una vez terminado el proceso de limpieza, es fundamental no tocar con los dedos la cara del cobre de la placa y no dejar pasar mucho tiempo entre la limpieza de la placa y el ataque de la misma, pues podría volver a formarse una capa de óxido. 4. Planchado Ésta es la parte más delicada. Usaremos una plancha normal a su máxima temperatura (sin vapor), un trozo de papel de cocina y una tabla o similar para apoyar. Lo primero que tenemos que hacer es colocar el fotolito sobre el cobre, de manera que el tóner toque la cara del cobre de nuestra placa. Se puede asegurar el papel sobre la placa con pequeños trozos de cinta adhesiva pues es fundamental que no se 3 LA CONTROLADORA PICAXE EN TECNOLOGÍA mueva durante este proceso. Posteriormente, colocaremos la placa con el papel dentro de un trozo de papel de cocina doblado para evitar el contacto directo con la plancha y procederemos a “planchar” sobre el papel que cubre la placa. Se debe tener el cuidado de presionar el centro y los bordes por igual utilizando la parte central de la plancha suavemente, sin apretar mucho, durante cuatro o cinco minutos, para que el tóner se funda y adhiera al cobre. El cambio de color del papel que cubre la placa es síntoma de que se ha aplicado la cantidad de calor adecuada. Una vez llegado a este punto, para evitar que el papel encoja, es necesario sumergir inmediatamente la placa en agua jabonosa, y dejar reposar durante unos 20 minutos. 5. Despegado del papel Después de unos 20 minutos procederemos a retirar el papel que cubre la placa. Si el proceso ha salido bien, el papel ha de desprenderse con mucha facilidad, sin hacer ninguna fuerza y ha de salir “limpio” (sin restos de tóner). Si notamos que está aun pegado al cobre debemos de volver a sumergirla y esperar más tiempo. 6. Lavado Una vez retirado el papel es necesario limpiar la placa para retirar los restos de celulosa y ceras que puedan interferir en el proceso de ataque químico. Para ello, frotaremos con una esponja suave impregnada con jabón líquido y agua abundante durante aproximadamente un minuto. 7. Corrección de errores Si hubiese algún defecto en alguna pista, podemos corregirlo con un rotulador adecuado (Edding 3000), sobre la placa seca. Para mejorar la calidad de estos “parches” se pueden dar varias capas de rotulador. 8. Inmersión en solución corrosiva A continuación se numeran los atacadores más usuales: a) Atacador lento comercial: su composición es cloruro férrico y se vende en forma de perlas, en envases de distinto tamaño, para diluir en agua. El tiempo necesario para atacar una placa es muy alto y depende de la temperatura a la que se encuentre el líquido corrosivo. En el caso de una temperatura ambiente muy baja puede superar las 6 horas. Se recomienda calentar la mezcla al baño maría hasta temperatura de unos 35 grados. No se deben superar los 40 grados. b) Atacador lento casero: es una mezcla de una parte de agua fuerte (salfumant) y dos de agua oxigenada de 10 volúmenes. Es bastante lento y no deja de ser peligroso. c) Atacador rápido comercial: se suele vender en dos recipientes, una botella de ácido clorhídrico al 16% (muy diluido pero peligroso) y un recipiente de perborato sódico (oxidante sólido en polvo). El contenido de estos dos recipientes se mezcla en un recipiente de plástico. Se puede utilizar esta mezcla para varias ocasiones. d) Atacador rápido casero: este sistema es más casero y económico. Se compone de agua fuerte y agua oxigenada de 110 volúmenes (muy importante que sea de 110 volúmenes, ya que el agua 4 LA CONTROLADORA PICAXE EN TECNOLOGÍA oxigenada de botiquín es de 10 volúmenes). Estos líquidos se mezclan con agua en la proporción 2:1:2 (agua: agua oxigenada: agua fuerte). Esta proporción depende del la experiencia de cada persona, con proporciones más altas de agua se puede reducir la velocidad de atacado (un atacado muy rápido produce gran cantidad de vapores tóxicos y calor). El proceso del atacado no tiene misterio. Utilizaremos pinzas de plástico para manejar la placa y guantes de látex para evitar quemaduras y no dejar nuestras huellas en el cobre. Si no disponemos de una bandeja de plástico podemos emplear un táper que ya no servirá para otra cosa. Para la realización de placas por transferencia térmica, los mejores resultados se obtienen con atacadores rápidos. 9. Lavado y eliminación del tóner: Una vez concluido el atacado, procederemos a sumergir la placa en agua para detener la reacción y lavaremos con abundante agua y jabón para eliminar los restos de ácido y sales corrosivas. El atacado finaliza cuando todo el cobre que no está enmascarado desaparece. Si vemos que hay alguna zona en la que no se va el cobre, pese a que el ácido está empezando a comerse parte de las pistas, lo mejor es dar por concluido el atacado y retirar manualmente el cobre que nos molesta. Si el ácido se ha comido parte de alguna pista, la repararemos con estaño. Después de reparar los posibles fallos, habrá que verificar con un multímetro que existe continuidad en las pistas y no hay cortocircuitos. 10. Taladrado, soldadura y acabado: Finalmente sólo queda la parte de taladrado y protección de la placa. Para hacer los agujeros, se necesita una broca de 0,7mm para la mayoría de los componentes típicos, y una de 1mm o incluso mayor para los componentes con patillas más anchas. Justo antes de comenzar a soldar es conveniente limpiar las pistas con lana de acero para cobre para retirar el oxido que haya podido formarse. Para terminar de realizar la placa se puede aplicar una capa protectora anti óxido. El FLUX SK10 es una resina que al secarse deja una capa protectora soldable. El PLASTIK 70 es un barniz sintético, por lo que es recomendable aplicarlo en un lugar aireado. También recomiendo que para este producto se aplique la capa después de soldar, ya que es difícil soldar con la capa aislante. Y con esto ya tendremos nuestro circuito impreso casero con aspecto profesional 5 LA CONTROLADORA PICAXE EN TECNOLOGÍA INTRODUCCIÓN A LOS MICROCONTROLADORES Controlador y microntrolador Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los límites prefijados, genera las señales adecuadas que accionan los actuadores que intentan llevar el valor de la temperatura dentro del rango estipulado. Aunque el concepto de controlador ha permanecido invariable a través del tiempo, su implementación física ha variado frecuentemente. Hace tres décadas, los controladores se construían exclusivamente con componentes discretos, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una placa de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador. Realmente consiste en un sencillo pero completo ordenador contenido en el corazón de un circuito integrado. Microntroladores Como se ha visto anteriormente, un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada, como el control de un microondas, un teclado de un ordenador, una impresora, un sistema de alarma, etc. Para esto, el microcontrolador precisa de muy pocos componentes asociados. La utilización de microcontroladores en un circuito, reduce notablemente el tamaño y el número de componentes y, en consecuencia, disminuye el número de averías, el volumen, el peso y el precio de los equipos, entre otras ventajas. El microcontrolador nace cuando las técnicas de integración han progresado lo suficiente para permitir su fabricación; pero también porque, muy a menudo, tanto en las aplicaciones domésticas como industriales, se tiene la necesidad de sistemas “inteligentes” o, al menos programables. El microcontrolador uno de los inventos más notables del siglo XX. En el mercado hay gran cantidad de ellos, con multitud de posibilidades y características. Microcontroladores PIC En los últimos años han tenido gran auge los microcontroladores PIC (Peripheral Interface Controller) son una familia de microcontroladores que ha tenido gran aceptación y desarrollo en los últimos años, gracias a que sus excelentes características, bajo coste, reducido consumo, pequeño tamaño, gran calidad, fiabilidad y abundancia de información, lo convierten en muy fácil, cómodo y rápido de utilizar. 6 LA CONTROLADORA PICAXE EN TECNOLOGÍA Microcontroladores PICAXE Para programar un microcontrolador, es preciso tener conocimientos de programación en lenguaje C y disponer de un circuito programador para cargar los programas en el chip, lo cual puede ser un problema para estudiantes o aficionados a la electrónica, debido a la complejidad del lenguaje C y a que hay que extraer el microcontrolador del circuito impreso e insertarlo en un programador cada vez que queramos reprogramarlo. El sistema "PICAXE" es un sistema de microcontrolador fácil de programar que utiliza un lenguaje BASIC muy simple y fácil de aprender por cualquier persona. El sistema PICAXE explota las características únicas de la nueva generación de microcontroladores de bajo costo provistos de memoria FLASH. Estos microcontroladores pueden ser programados una y otra vez sin la necesidad de un programador PIC. La ventaja del sistema PICAXE radica en su sencillez. No necesita de ningún programador, borrador o complejo sistema electrónico. El microcontrolador es programado (con un simple programa en BASIC o un diagrama de flujo) mediante un cable conectado al puerto serie del ordenador. Para montar un circuito basado en un microcontrolador PICAXE se necesitan muy pocos componentes, el montaje es muy sencillo y se puede realizar sobre un circuito impreso o sobre una placa de prototipos (protoboard). Existe varios modelos de microcontroladores PICAXE (desde 8 hasta 40 pines). Las características principales del sistema PICAXE son las siguientes: Bajo costo y fácil construcción Rápida operación de descarga desde el puerto serie Software "Editor de Programación" gratuito y de fácil uso Lenguaje BASIC simple y fácil de aprender Editor de diagramas de flujo y simulador incluidos Puede ser programado también mediante el software "Crocodile Technology" Extenso número de manuales gratuitos y foro de apoyo en línea Posibilidad de control remoto mediante infrarrojos Compatible con servomotores de radiocontrol. 7 LA CONTROLADORA PICAXE EN TECNOLOGÍA CONSTRUCCIÓN DE UN ENTRENADOR PICAXE 08 SOBRE CIRCUITO IMPRESO Características del Picaxe08 El microcontrolador Picaxe08 es el más pequeño de la familia y aunque tiene poca memoria para almacenar líneas de programa, su simplicidad permite incluso realizar un entrenador en una placa de prototipos. Las características de este circuito son las siguientes: Nº de pines 8 ! Memoria (líneas de Pines Salidas programa) activos 40 5 1-4 Entradas Memoria Datos Interrupciones 1-4 128 - NOTA: El pin 3 es de sólo entrada y el pin 0 de sólo salida. Se puede alimentar el circuito con una tensión comprendida entre 3 y 6 v. El pin 0 se utiliza para la descarga del programa y como salida. Por este motivo, es necesario colocar un conmutador o un jumper para seleccionar la función del pin. Este circuito puede suministrar unos 25 mA por salida, por lo que sólo se deben conectar directamente pequeñas cargas (led, altavoz etc...). Para conectar cargas que consuman corrientes superiores a 25 mA será necesario intercalar un transistor o circuito similar. 8 LA CONTROLADORA PICAXE EN TECNOLOGÍA Circuito básico: 1 2 3 Cable de programación: Esquema mejorado: Este esquema representa el circuito básico, al que se le han añadido cuatro LED para indicar el estado de las salidas, un microaltavoz conectado a la salida 0 y un LED indicador de funcionamiento. 9 LA CONTROLADORA PICAXE EN TECNOLOGÍA Relación de componentes Fotolito a escala 1:1 10 LA CONTROLADORA PICAXE EN TECNOLOGÍA Resultado: 11 LA CONTROLADORA PICAXE EN TECNOLOGÍA Prueba de la placa: Para comprobar el correcto funcionamiento del circuito seguimos los siguientes pasos: Conectamos la alimentación (5v) Conectamos el cable de programación a la placa y al ordenador. Ponemos el interruptor en posición de carga. Abrimos el editor de programas e indicamos el tipo de chip que estamos usando (Picaxe 08). Escribimos uno de los programas de prueba y pulsamos el botón “cargar”. Cambiamos la posición del conmutador de carga. 1. Prueba de las salidas: Este programa prueba las salidas. Es necesario colocar el jumper que habilita los LED en la posición correcta. '********************** '* prueba led * '********************** prueba: 'nombre del programa high 0 'enciende LED en pin 0 wait 1 'retardo 1 segundo high 1 'enciende LED en pin 1 wait 1 'retardo 1 segundo high 2 'enciende LED en pin 2 wait 1 'retardo 1 segundo high 4 'enciende LED en pin 4 wait 1 'retardo 1 segundo 2. Prueba del microaltavoz Este programa prueba el altavoz conectado a la salida 0. Es necesario colocar el jumper que habilita el altavoz en la posición correcta. '********************** '* prueba sonido * '********************** prueba: 'nombre del programa sound 0, (100,20) pause 100 sound 0, (110,30) pause 100 sound 0, (115,40) pause 100 sound 0, (120,50) 'sonido en la salida 0 de tono 100 y duración 20 'retardo de 100 milisegundos 'sonido en la salida 0 de tono 110 y duración 30 'retardo de 100 milisegundos 'sonido en la salida 0 de tono 115 y duración 50 'retardo de 100 milisegundos 'sonido en la salida 0 de tono 120 y duración 50 goto prueba 'vuelve al principio del programa 3. Verificación de las entradas Realizaremos el siguiente programa para verificar el funcionamiento de las entradas de la placa. En el ejemplo se ha hecho para la entrada 1, pero habrá que repetirlo para el resto (2, 3 y 4). 12 LA CONTROLADORA PICAXE EN TECNOLOGÍA Una vez cargado el programa, se conecta un trozo de cable al positivo de la alimentación y una resistencia de 10k entre la entrada a probar y masa. Para probar la entrada en cuestión hay que tocar con el extremo del cable al borne de dicha entrada. Al hacer esto debe cambiar el sonido. '************************** '* prueba entrada 1 * '************************** prueba: 'nombre del programa sound 0, (7, 10) pause 300 'sonido inicial de espera 'retardo 300 milisegundos if input1 is on then sonido 'Si la entrada 1 está anivel 'alto, se ejecuta la subrutina "sonido" 'vuelve al inicio del programa goto prueba sonido: 'subrutina sonido sound 0, (120, 10) pause 30 sound 0, (120, 10) pause 30 sound 0, (120, 10) pause 30 sound 0, (120, 10) pause 30 sound 0, (120, 10) pause 30 'sonido agudo en 0 de duración 10 milisegundos 'retardo 30 milisegundos 'sonido agudo en 0 de duración 10 milisegundos 'retardo 30 milisegundos 'sonido agudo en 0 de duración 10 milisegundos 'retardo 30 milisegundos 'sonido agudo en 0 de duración 10 milisegundos 'retardo 30 milisegundos 'sonido agudo en 0 de duración 10 milisegundos 'retardo 30 milisegundos goto prueba 'vuelve al inicio del programa Más programas sencillos: '********************** '* led movimiento * '********************** b0 = 70 'define la variable b0 y le asigna el valor 70 led: 'nobre del programa high 0 pause b0 low 0 'enciende LED en pin 0 'retardo b0 milisegundos 'apaga LED en pin 0 high 1 pause b0 low 1 'enciende LED en pin 1 'retardo b0 milisegundos 'apaga LED en pin 0 high 2 pause b0 low 2 'enciende LED en pin 2 'retardo b0 milisegundos 'apaga LED en pin 0 high 4 pause b0 low 4 'enciende LED en pin 4 'retardo b0 milisegundos 'apaga LED en pin 0 goto led 'vuelve al inicio 13 LA CONTROLADORA PICAXE EN TECNOLOGÍA '************************* '* led movimiento 2 * '************************* b0 = 70 b1 = 100 led: high 0 pause b0 'enciende LED en pin 0 'retardo b0 milisegundos high 1 pause b0 'enciende LED en pin 1 'retardo b0 milisegundos high 2 pause b0 'enciende LED en pin 2 'retardo b0 milisegundos high 4 pause b0 'enciende LED en pin 4 'retardo b0 milisegundos low 0 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos low 1 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos low 2 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos low 4 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos goto led 'vuelve al inicio 14 LA CONTROLADORA PICAXE EN TECNOLOGÍA '************************** '* led movimiento 3 * '************************** b0 = 70 b1 = 100 'asigna el valor 70 a la variable b0 'asigna el valor 100 a la variable b1 led: 'nombre del programa high 0 pause b0 high 1 pause b0 high 2 pause b0 high 4 pause b0 'enciende LED en pin 0 'retardo b0 milisegundos 'enciende LED en pin 1 'retardo b0 milisegundos 'enciende LED en pin 2 'retardo b0 milisegundos 'enciende LED en pin 4 'retardo b0 milisegundos low 0 pause b1 low 1 pause b1 low 2 pause b1 low 4 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos high 4 pause b0 high 2 pause b0 high 1 pause b0 high 0 pause b0 'enciende LED en pin 0 'retardo b0 milisegundos 'enciende LED en pin 1 'retardo b0 milisegundos 'enciende LED en pin 2 'retardo b0 milisegundos 'enciende LED en pin 4 'retardo b0 milisegundos low 4 pause b1 low 2 pause b1 low 1 pause b1 low 0 pause b1 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos 'apaga LED en pin 0 'retardo b1 milisegundos goto led 'vuelve al inicio 15 LA CONTROLADORA PICAXE EN TECNOLOGÍA CONSTRUCCIÓN DE UN ENTRENADOR PICAXE 18 Características del Picaxe18 El microcontrolador Picaxe18 posee 4 entradas y 8 salidas y tiene una memoria con capacidad hasta para 600 líneas de programa en la versión 18X. Los modelos 18A y 18X admiten interrupciones y poseen puerto de infrarrojos. El tipo 18X tiene puerto i2c y salida PWM para el control de la velocidad de motores. Las características de este circuito son las siguientes: Modelo Nº de Memoria pines (líneas de programa) A/D Entradas Salidas Memoria Datos Interrupciones 18 18 40 3 5 8 128 no 18A 18 80 3 5 8 256 si 18X 18 600 3 5 9 256+i2c si 18 17 16 15 14 13 12 11 10 7 8 9 PICAXE 18 1 2 ! 3 4 5 6 19.Entrada 2 (analógica o digital) 20.Salida serie 21.Entrada serie 22.Reset 23.Masa 24.Salida 0 25.Salida 1 26.Salida 2 27.Salida 3 28.Salida 4 29.Salida 5 30.Salida 6 31.Salida 7 32.Alimentación + 33.Entrada 6 (digital) 34.Entrad 7 (digital) 35.Entrada 0 (analógica o digital) 36.Entrada 1 (analógica o digital) NOTA: No es preciso resonador externo, pues el chip posee uno interno. Este circuito puede suministrar unos 25 mA por salida, por lo que sólo se deben conectar directamente pequeñas cargas (led, altavoz etc...). Para conectar cargas que consuman corrientes superiores a 25 mA será necesario intercalar un transistor o circuito similar. 16 LA CONTROLADORA PICAXE EN TECNOLOGÍA Circuito básico: Circuito mejorado: Cable de programación 17 LA CONTROLADORA PICAXE EN TECNOLOGÍA Relación de componentes: Ref D1 D2.....D 9 R1......R 9 R10….. R15 R16 R17 Descripción Led verde 3mm Ø Led rojo 3mm Ø Resistor 220Ω ¼ w Resistor 10KΩ ¼ w Resistor 22KΩ ¼ w Clemas dobles CI I2, I3 Condensador 100 μF, 16v Microcontrolador Picaxe 18, 18A, o 18x Pulsador araña pequeño Conmutador CI pequeño o tiras de 3 pines con jumpers 3 clemas circuito impreso triples 3 clemas circuito impreso dobles 1 microaltavoz varios 4 separadores latón 10mm C1, C2 IC1 I1 4 tornillos M3 5mm 8 arandelas M3 1 Conector audio estéreo 3,5 mm hebra 1 zócalo de 18 pines Fotolito: 18 LA CONTROLADORA PICAXE EN TECNOLOGÍA Distribución de entradas y salidas: Resultado: 19 LA CONTROLADORA PICAXE EN TECNOLOGÍA Verificación del entrenador: VERIFICACIÓN DEL ALTAVOZ Para verificar el funcionamiento del altavoz utilizamos el comando sound que genera un sonido en la salida indicada. „********************************************************************************************************** ‟*****************************************PRUEBA ALTAVOZ****************************************** „********************************************************************************************************** Altavoz: sound 7,(100,300) pause 200 goto altavoz „Pone un sonido de tono 100 y 300 ms de duración en la salida 0 „Espera 200 ms „Vuelve al inicio del programa VERIFICACIÓN DE LAS SALIDAS Para comprobar que las salidas funcionan correctamente, realizaremos un programa que ilumine secuencialmente los led indicadores. „********************************************************************************************************** ‟*****************************************PRUEBA SALIDAS****************************************** „********************************************************************************************************** Salidas: high 0 pause 1000 high 1 pause 1000 high 2 pause 1000 high 3 pause 1000 high 4 pause 1000 high 5 pause 1000 high 6 pause 1000 high 7 „Pone la salida “0” a nivel alto. Se debe iluminar el primer LED „Espera 1000 ms „Pone la salida “1” a nivel alto. Se debe iluminar el segundo LED „Espera 1000 ms „Pone la salida “2” a nivel alto. Se debe iluminar el tercer LED „Espera 1000 ms „Pone la salida “3” a nivel alto. Se debe iluminar el cuarto LED „Espera 1000 ms „Pone la salida “4” a nivel alto. Se debe iluminar el quinto LED „Espera 1000 ms „Pone la salida “5” a nivel alto. Se debe iluminar el sexto LED „Espera 1000 ms „Pone la salida “6” a nivel alto. Se debe iluminar el séptimo LED „Espera 1000 ms „Pone la salida “3” a nivel alto. Se debe iluminar el último LED Se deben ir encendiendo secuencialmente todos los LED, uno cada segundo. Al finalizar el programa todos los LED han de quedar encendidos. VERIFICACIÓN DEL RESET Verificaremos el buen funcionamiento del pulsador RESET accionándolo mientras se ejecuta un programa anterior. Si funciona bien, deberá reiniciarse el programa. 20 LA CONTROLADORA PICAXE EN TECNOLOGÍA VERIFICACIÓN DE LAS ENTRADAS Para comprobar el correcto funcionamiento de las entradas debemos conectar un trozo de cable al borne (+) del bloque de entradas. Posteriormente grabamos el siguiente programa: „********************************************************************************************************** ‟*******************************************PRUEBA ENTRADAS************************************** „********************************************************************************************************** Entradas: If input2 is on then indica goto entradas „Si la entrada “2” está a nivel alto salta la subrutina “indica” „Vuelve al inicio del programa „Nombre de la subrutina Let pins=%00000001 „Pone simultáneamente todas las salidas a los niveles „indicados „en el número binario 00000001. Los ceros indican nivel bajo y „los unos nivel alto. El primer dígito de la combinación „corresponde a la salida 7 „Espera 100 ms „Pone las salidas a 00000010 „Espera 100 ms „Pone las salidas a 00000100 „Espera 100 ms „Pone las salidas a 00001000 „Espera 100 ms „Pone las salidas a 00010000 „Espera 100 ms „Pone las salidas a 00100000 „Espera 100 ms „Pone las salidas a 01000000 „Espera 100 ms „Pone las salidas a 10000000 „Espera 100 ms „Pone las salidas a 00000000 Indica: pause 100 Let pins=%00000010 pause 100 Let pins=%00000100 pause 100 Let pins=%00001000 pause 100 Let pins=%00010000 pause 100 Let pins=%00100000 pause 100 Let pins=%01000000 pause 100 Let pins=%10000000 pause 100 Let pins=%00000000 Una vez grabado el programa, cuando toquemos con el extremo del cable el borne de la entrada 2 se deberán encender los LED siguiendo la secuencia programada. Si queremos repetir el test, deberemos resetear la placa y volver a poner la entrada 2 a nivel alto. Para comprobar las demás entradas, cambiaremos el 2 de la primera línea del programa por el número de la entrada a testear, grabaremos el nuevo programa y repetiremos todos los pasos para las entradas restantes. 21 LA CONTROLADORA PICAXE EN TECNOLOGÍA COMANDOS BÁSICOS DEBUG Var Visualiza la información contenida en la variable Var en la ventana del depurador durante la ejecución. Var: variable con un valor previamente cargado Ejemplo: inicio: debug b1 let b1 = b1+1 pause 500 salto inicio visualiza el valor de b1 incrementa el valor de b1 en una unidad espera de 0,5 segundos salta a inicio (bucle) VARIABLES 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) In/Out añade los pseudo nombres: INPUT0, INPUT1, etc. puede usarse en lugar de PIN0, PIN1, tec. OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2, etc. END Detiene la ejecución del proceso y entra en modo de bajo consume. Todos los pins de I/O permanecen en el estado en que se encuentran. END trabaja ejecutando una instrucción SLEEP continua dentro de un bucle. Un END, STOP ó GOTO deben ser colocados al final de un programa para evitar pasar del límite de la misma u comience nuevamente. Ejemplo: inicio: let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end „set b2 con valor 15 „espera de 2 segundos „salta al procedimiento flash „set b2 con valor 5 „espera de 2 segundos „salta al procedimiento flash for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return „define el bucle con el valor b2 „salida 1 a nivel alto „espera de 0,5 segundos „salida 1 a nivel bajo „espera de 0,5 segundos „fin de bucle „retorno a linea siguiente de la llamada flash: 22 LA CONTROLADORA PICAXE EN TECNOLOGÍA FOR … NEXT FOR contador = start TO end {STEP {-} inc} {body} El bucle FOR … NEXT permite a los programas ejecutar un número de declaraciones {body} un número de veces, usando una variable como contador. Debido a su complejidad y versatilidad, es mejor describirla paso a paso. El valor de start se asigna a la variable índice: count, que puede ser una variable de cualquier tipo. Se ejecuta las instrucciones de body. Body es opcional y puede ser omitido (quizás por un bucle de demora). El valor de inc es sumado a (ó restado si se especifica “-“) count. Si no se define un valor steep, se incrementa count en una unidad. Si count no pasó end ó desbordó el tipo de variable, la ejecución vuelve al paso 2. Si el bucle necesita contar más de 255 (count > 255), se debe usar una variable de tamaño Word. Ejemplo: bucle: for b0 = 1 to 20 high 1 pause 500 low 1 pause 500 next b0 pause 2000 goto bucle „define el bucle con repetición de 1 a 20 „salida 1 a nivel alto „espera de 0,5 segundos „salida 1 a nivel bajo „espera de 0,5 segundos „fin de bucle „espera de 2 segundos „salta a bucle para comienzo de nuevo GOSUB etiqueta Salta a la subrutina indicada en etiqueta, guardando su dirección de regreso en la pila (snack). 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 otra subrutina. Cada anidamiento no debe ser mayor de cuatro niveles. Ejemplo: inicio: let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end „set b2 con valor 15 „espera de 2 segundos „salta al procedimiento flash „set b2 con valor 5 „espera de 2 segundos „salta al procedimiento flash for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return „define el bucle con el valor b2 „salida 1 a nivel alto „espera de 0,5 segundos „salida 1 a nivel bajo „espera de 0,5 segundos „fin de bucle „retorno a linea siguiente de la llamada flash: 23 LA CONTROLADORA PICAXE EN TECNOLOGÍA GOTO etiqueta La ejecución del programa continúa en la declaración de la etiqueta. Ejemplo: inicio: high 1 „salida 1 a nivel alto pause 5000 „espera de 5 segundos low 1 „salida 1 a nivel bajo pause 5000 „espera de 5 segundos goto inicio „salta a inicio HIGH pin Pone a nivel alto el pin especificado y lo convierte automáticamente en salida. Pin puede ser una constante, 0 – 7, ó una variable que contenga un número de 0 – 7 (p. ej. B0) ó un número de pin (p. ej. PORTA.0) Ejemplo: bucle: high 1 pause 5000 low 1 pause 5000 goto bucle „pone salida 1 a nivel alto „espera de 5 segundos „pone la salida 1 a nivel bajo „espera de 5 segundos „salta a comienzo de bucle repetitivo if…then if…and…then if…or…then IF variable ?? valor {AND/OR variable ?? valor …} THEN etiqueta Estructura de comparación condicional con salto a una dirección determinada (etiqueta) en caso de que se cumpla. ??: condicional =, <>, >=, <=, >, < Variable: valor de la comparación Valor: variable constante Etiqueta: dirección del salto en caso de cumplir el condicional Efectúa una o más comparaciones. Cada término variable puede relacionar un valor con una constante ú otra variable e incluye uno de los operadores listados anteriormente. IF…THEN evalúa la comparación en términos de CIERTO o FALSO. Si lo considera cierto, se ejecuta la operación posterior al THEN. Si lo considera falso, no se ejecuta la operación posterior al THEN. Las comparaciones que dan 0 se consideran falso. Cualquier otro valor es cierto. Ejemplo: inicio: if pin0 = 1 then flash „salta a flash si el valor del pin0 es un 1 goto inicio „sino salta a inicio high 1 pause 5000 low 1 goto inicio „pone a valor alto la salida 1 „espera de 5 segundos „pone a valor bajo la salida 1 „salto a inicio flash: 24 LA CONTROLADORA PICAXE EN TECNOLOGÍA INPUT pin Convierte el Pin especificado en una entrada. Pin debe ser una constante entre 0–7, o una variable que contenga un número 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0) Ejemplo: inicio: input 1 reverse 1 reverse 1 output1 configura el pin1 como entrada configura el pin 1 como salida configura el pin1 como entrada configura el pin1 como salida LOW pin Coloca el pin especificado en valor bajo y automáticamente lo convierte en salida. Pin puede ser una variable/constante de 0-7. Ejemplo: inicio: high 1 pause 5000 low 1 pause 5000 goto inicio pone el pin 1 a nivel alto espera de 5 segundos pone el pin 1 a nivel bajo espera de 5 segundos salta a inicio del bucle OUTPUT pin Convierte el Pin especificado en una salida. Pin debe ser una constante entre 0–7, o una variable que contenga un número 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0) Ejemplo: inicio: input 1 reverse 1 reverse 1 output1 configura el pin1 como entrada configura el pin 1 como salida configura el pin1 como entrada configura el pin1 como salida PAUSE periodo Detiene el programa por periodo milisegundos. Periodo tiene 16 bits, por lo que los retardos pueden ser hasta 65635 milisegundos (un poco más de un minuto). Ejemplo: inicio: high 1 pause 5000 low 1 pause 5000 goto inicio pone el pin 1 a nivel alto espera de 5 segundos pone el pin 1 a nivel bajo espera de 5 segundos salta a inicio del bucle 25 LA CONTROLADORA PICAXE EN TECNOLOGÍA READADC canal,variable El contenido del convertidor A/D (8 bits de resolución) indicado por canal es almacenado en variable. Canal:variable/constante que especifica el canal (0-3) Variable: variable donde se almacena el byte leido. Ejemplo: inicio: readadc 1,b1 if b1 > 50 then flash goto inicio lee el valor y lo almacena en b1 salta a flash si b1 > 50 sino salta a inicio high 1 pause 5000 low 1 goto inicio pone a nivel alto el pin 1 espera de 5 segundos pone a nivel bajo la salida 1 salto a inicio flash: READTEMP pin,variable READTEMP pin,wordvariable Lee la temperatura de un DS18B20, sensor digital de temperatura, conectado en pin y almacena su lectura en variable. Pin: es el pin de entrada del PICAXE que tiene conectado el sensor. Variable: donde se almacena el byte leído. READTEMP: la resolución de la lectura es de enteros de grado, y el sensor funciona de -55 ºC hasta +125 ºC. El bit 7 indicará si los valores de temperatura son positivos (0) o negativos (1).READTEMP12: (para programadores avanzados). La temperatura viene expresada con una resolución de 0,125 ºC y necesita 12 bits para su representación digital. El usuario debe interpretar los datos a través de cálculo matemático. Ver el dataste del DS18B20 (www.dalsemi.com) para más información en relación con Data Temperatura. Ejemplo: inicio: readtemp 1,b1 if b1 > 127 then neg serout, 7, T2400, (#b1) goto inicio lee el valor del sensor en pin 1 y lo almacena en b1 chequeo si el valor medido es negativo transmite el valor al LCD en formato serie salta a inicio let b1 = b1 – 128 serout 7,T2400, (“-“) serout 7,T2400, (#b1) goto inicio ajuste del valor negativo en b1 transmite el símbolo negativo transmite el valor al LCD en formato serie neg: RETURN Vuelve desde una subrutina. Retoma la ejecución en la declaración que sigue al GOSUB que llamó la subrutina. Ejemplo: inicio: 26 LA CONTROLADORA PICAXE EN TECNOLOGÍA let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end asigna a la variable b2 el valor 15 espera de 2 segundos llamada a subrutina flash asigna a la variable b2 el valor 5 espera de 2 segundos llamada a subrutina flash for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return define el bucle para el tiempo de b2 pone la salida 1 a nivel alto espera 0,5 segundos pone la salida 1 a nivel bajo espera 0,5 segundos fin del bucle vuelve a línea siguiente de llamada flash: SERVO pin,pulse Envía un pulso por el pin indicado para el control de un dispositivo de radio control tipo servo. Pin: es un pin de salida del PICAXE (0-7). Pulse: es una variable/constante (75-225) que especifica la posición del servo. Este comando pone el pin a nivel alto durante un tiempo (x0.01 ms) cada 20ms indicado por pulse. Generalmente el servo de RC requiere un pulso (0.75 a 2.25ms de duración) cada 20ms. Por consiguiente el comando servo 1,75 moverá el servo a la posición de 0 grados, con el comando servo1,225 se posicionará en el extremo opuesto 180 º. Con el comando servo 1,150 colocará el servo en la posición central. No usar un valor de pulso menor de 75 o mayor de 255, dado que esto puede causar que el servo funcione incorrectamente. Debido a las tolerancias en la fabricación de los servos todos los valores son aproximados y requieren un ajuste fino por experimentación. Ejemplo: inicio: servo 4,75 pause 2000 servo 4,150 pause 2000 servo 4,225 pause 2000 goto inicio mueve el servo a la posición inicial 0 grados espera 2 segundos mueve el servo a la posición central espera 2 segundos mueve el servo a la posición final 180 grados espera 2 segundos salta a inicio y repite ciclo SOUND pin,(note,duration,note duration) Genera un tono y/o ruido blanco en el pin especificado. Pin se configura automáticamente como salida. Pin: es una variable/constante (0-7) que especifica el pin i/o a utilizar. Note(s): es una variable o constante (0-255) que especifica la frecuencia del sonido emitido. Note 0: silencio Note (1-127): tonos Note (128-255): ruido blanco Duration: es una variable/constante (0-255) que determina la duración de la nota, en incrementos de 12 ms. Los tonos y el ruido blanco están en una escala ascendente (p.e. 1 y 128 son las frecuencias menores,129 y 266 las mayores). Note 1 es aproximadamente 78,74 Hz y note 127 es aproximadamente 10000Hz. SOUND entrega como salida ondas cuadradas con nivel TTL. Gracias a las características del micro PIC, se puede manejar un altavoz a través de un condensador. El valor del condensador debe ser 27 LA CONTROLADORA PICAXE EN TECNOLOGÍA determinado en función de las frecuencias a usar y la carga del altavoz. Altavoces piezoeléctricos se pueden conectar directamente. Ejemplo: inicio: let b0 = b0 + 1 incrementa b0 sound 7,(b0,50) configura y emite sonido por pin 7 goto inicio repite programa indefinidamente WAIT seconds Pausa de ejecución del código del programa de seconds segundos. Seconds: es una constante (0-65) que especifica la duración de la pausa en segundos. Ejemplo: inicio: switch on 7 wait 5 switch off 7 wait 5 goto inicio configura pin 7 como salida a nivel alto espera 5 segundos configura pin 7 como salida a nivel bajo espera 5 segundos repite programa indefinidamente 28 LA CONTROLADORA PICAXE EN TECNOLOGÍA AMPLIFICADOR DE SALIDAS ULN2003 Debido a la pequeña potencia que suministran los microcontroladores, sólo podemos hacer funcionar directamente unos LED y poco más. Por este motivo es necesario amplificar las salidas en función de las cargas que vayamos a controlar. Un método sencillo y económico es emplear el integrado ULN2003A, que es un conjunto de Darlington (darlington array) montados en un chip con el que podemos controlar cargas de hasta medio amperio. El chip lleva diodos de protección contra las sobretensiones producidas por cargas inductivas. Esto lo hace ideal para gobernar relés. 1 2 3 4 5 6 7 MASA Común con la masa de la alimentación del circuito del que provienen las señales de entrada 1 2 3 4 5 6 7 SALIDAS ENTRADAS 1. ESQUEMA DE LA PLACA ALIMENTACIÓN CARGAS (MAX 30V) Si no queremos fabricar el circuito impreso, podemos montar el circuito en una placa perforada en tiras. Basta con realizar tres cortes y soldar los cables que unen las pistas del chip con las pistas de las clemas (debido a que ambas partes tienen distinto paso). El resultado por la cara del cobre es el siguiente: 29 LA CONTROLADORA PICAXE EN TECNOLOGÍA 2. CARACTERÍSTICAS DEL CHIP ULN2003A Intensidad por canal =500mA Tensión máxima de alimentación = 50 v Protección interna contra sobretensiones producidas por cargas inductivas Señal mínima de entrada = 2 v Los pares Darlington pueden colocarse en paralelo para gobernar cargas que consumen intensidades elevadas, como por ejemplo, pequeños motores. Precio aproximado = 0.6€ 3. CONEXIÓN Es necesario tener en cuenta que los terminales de salida de este chip conectan las cargas a masa cuando llega una señal positiva a las entradas adecuadas. Por este motivo, el terminal de la carga que no está conectado al chip ha de estar unido al borne positivo del generador. En el esquema de abajo vemos como se conectaría un motor al canal superior (1, 16). También se puede observar que pueden existir dos alimentaciones unidas por masa. En este ejemplo, el pulsador es el encargado de dar la señal de control al pin 1, para que el pin 16 se ponga a 0 voltios y quede conectado el motor. 4. ESQUEMA INTERNO Diagrama de un canal Esquema interno Esquema externo 30 LA CONTROLADORA PICAXE EN TECNOLOGÍA PLACA DE CONTROL DE MOTORES Características de los chips L293B y L293D DESCRIPCIÓN El chip L293 es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1A por canal. Cada canal es controlado por señales de entrada compatibles TTL y cada pareja de canales dispone de una señal de habilitación que desconecta las salidas de los mismos. Dispone de una patilla para la alimentación de las cargas que se están controlando, de forma que dicha alimentación es independiente de la lógica de control. Con este circuito integrado se puede controlar el sentido de giro de hasta dos motores simultáneamente. CARACTERÍSTICAS DEL CHIP L293D Intensidad por canal =600mA Intensidad de pico por canal=1,2 A Protección contra sobretemperaturas Protección interna contra sobretensiones producidas por cargas inductivas Alimentación independiente de las cargas y control Alta inmunidad al ruido Tensión de alimentación de las cargas ≤ 36 V Tensión de alimentación del chip = de 4.5 a 36 V CARACTERÍSTICAS DEL CHIP L293B Intensidad por canal = 1A Intensidad de pico por canal=2 A Protección contra sobretemperaturas Sin protección interna contra sobretensiones producidas por cargas inductivas Alimentación independiente de las cargas y control Alta inmunidad al ruido Tensión de alimentación de las cargas ≤ 36 V Tensión de alimentación del chip = de 4.5 a 36 V ESQUEMA PARA CONTROLAR DOS MOTORES 31 LA CONTROLADORA PICAXE EN TECNOLOGÍA FABRICACIÓN DE UN CIRCUITO PARA CONTROLAR DOS MOTORES Nos basamos en el esquema visto anteriormente al que hemos añadido diodos de protección contra sobretensiones producidas por cargas inductivas. De este modo podemos utilizar el L293B o L293D. En caso de emplear el modelo D, no será necesario colocar los diodos. RELACIÓN DE COMPONENTES: Los elementos necesarios para la fabricación del circuito son los siguientes: Nº Descripción Cantidad 1 L293B o L293D 1 2 Zócalo de 16 pines 1 2 Diodo 1N4148 8 3 Clemas circuito impreso dobles 6 4 Placa circuito impreso 1 FOTOLITO A ESCALA 1:1 DISTRIBUCIÓN DE LOS COMPONENTES 32 LA CONTROLADORA PICAXE EN TECNOLOGÍA RESULTADO: ALIMENTACIÓN DEL CHIP - + D C A B M1 M1 - + ALIMENTACIÓN DEL MOTOR A 0 1 0 1 B 0 1 1 0 M1 PARO PARO IZQUIERDA DERECHA C 0 1 0 1 D 0 1 1 0 M2 PARO PARO IZQUIERDA DERECHA 0= nivel bajo (0voltios) 1= nivel alto (>2,3voltios) 33 LA CONTROLADORA PICAXE EN TECNOLOGÍA EXPERIMENTANDO CON UNA LDR Introducción Una LDR es una resistencia dependiente cuyo valor varía en función de la intensidad de la luz que incide en su superficie activa. Las LDR están fabricadas a partir de una larga pista material fotosensible como el sulfuro de cadmio. La resistencia de este componente puede variar desde unos 10 Ω cuando está expuesta a la luz solar directa, hasta varios millones en la oscuridad absoluta. Las aplicaciones de la LDR son múltiples, debiéndose destacar los interruptores crepusculares, detectores de objetos, medidores de intensidad luminosa, detectores de humos, etc. Conexión típica Resistencia de una LDR en función de la iluminancia La resistencia Push Down de 10K, conectada entre la LDR y masa, se puede eliminar si la placa del microcontrolador la lleva incorporada. Al igual que en el punto anterior, si nuestra placa posee altavoz, no será necesario instalarlo. Montaje Si queremos utilizar la LDR para medir luz ambiental, no es necesario utilizar ningún accesorio, pero si queremos medir una luz puntual será preciso aislar el sensor del ambiente introduciéndolo dentro de un trozo de tubo opaco. En el caso de emplear la LDR como sensor para un láser, también habrá que aislar este elemento del ambiente con un tubo y tapar el extremo con un filtro rojo (se puede usar un trozo de celofán rojo) para evitar interferencias de la luz ambiental. 34 LA CONTROLADORA PICAXE EN TECNOLOGÍA Programación Medida de la intensidad luminosa: Podemos medir y visualizar el valor de la intensidad luminosa que recibe la LDR usando los comandos Readadc y Debug: '********************************************************* '********** MEDIDA LUZ ************************* '********************************************************* '***************CONEXIONES******************* 'LDR AL PIN 1 INICIO: readadc 1,b0 debug b0 pause 100 goto inicio 'lee la señal analógica de la LDR y carga el „valor en „variable b0 'transmite el valor b0 a la pantalla del PC 'pausa 'saltar a inicio Al cargar el programa, aparece inmediatamente en el monitor de nuestro ordenador una ventana como la que se muestra a la izquierda, donde se muestra el valor de la variable b0. Exponiendo la LDR a distintas fuentes de luz se han obtenido los siguientes resultados: Tipo de luz Distancia Medida 5 cm 5 cm 5 cm 5 cm 220 195 200 100 A 5 cm de un tubo fluorescente Láser de 5 mw a 5 cm Led blanco 14000 microcandelas Led rojo 5 mm normal Interruptor crepuscular: La señal analógica procedente de la LDR se almacena en la variable b0 y se compara con un valor de referencia (en este ejemplo 100). Si b0 es menor que 100 se pone a nivel alto el pin 0 y si es mayor el programa pone a nivel bajo el pin 0. '****************************************************** '***** INTERRUPTOR CREPUSCULAR ****** '****************************************************** '***************CONEXIONES********************** 'LDR AL PIN 1 INICIO: readadc 1,b0 if b0<100 then enciende „si la lectura de la LDR es menor que 100 „salta a la subrutina ENCIENDE if b0>100 then apaga „si la lectura de la LDR es mayor que 100 „salta a la subrutina APAGA goto inicio 35 LA CONTROLADORA PICAXE EN TECNOLOGÍA ENCIENDE: High 0 goto inicio APAGA: Low 0 goto inicio „pone el pin 0 a nivel alto. „pone el pin 0 a nivel bajo. Mediante la señal de salida del pin 0, se puede encender un LED directamente (esquema 1). Si queremos encender una pequeña bombilla tenemos intercalar un transistor o un amplificador darlington ULN2003 (esquema 2). Y si queremos gobernar una bombilla de mucha potencia habrá que intercalar un relé entre el ULN2003 y la lámpara (esquema 3). Esquema 1 Esquema 2 Esquema 3 36 LA CONTROLADORA PICAXE EN TECNOLOGÍA Barrera láser: En este caso, la LDR irá dentro de un trozo de tubo opaco que la proteja de la luz ambiental y sobre su superficie activa incidirá un láser. Si se interrumpe el rayo láser que incide sobre la LDR, el programa generará un sonido de alarma. '******************************************************* '*************** BARRERA LASER *************** '******************************************************* '***************CONEXIONES************************ 'LDR AL PIN 1 'ALTAVOZ AL PIN 0 INICIO: readadc 1,b0 if b0<180 then ALARMA „si la lectura de la LDR es menor que 180 „salta a la subrutina ALARMA if b0>180 then PARA „si la lectura de la LDR es mayor que 180 „salta a la subrutina PARA goto inicio ALARMA: Sound 0, (120, 10) goto inicio PARA: Low 0 goto inicio „genera un sonido agudo en el pin 0 „pone el pin 0 a nivel bajo. Regulador de luz: El siguiente programa aplicado al esquema 2 de la página anterior, funciona como un regulador proporcional que incrementa la intensidad luminosa al reducirse la iluminación ambiental. '********************************************************** '************ REGULADOR *************************** '********************************************************** ' '*************** CONEXIONES *********************** 'LDR AL PIN 1 „SALIDA: PIN 0 ldr: readadc 1, b1 if b1>200 then apagaluz if b1>187 then enciendeluz12 if b1>175 then enciendeluz11 if b1>162 then enciendeluz10 if b1>150 then enciendeluz9 if b1>137 then enciendeluz8 if b1>125 then enciendeluz7 if b1>112 then enciendeluz6 if b1>100 then enciendeluz5 37 LA CONTROLADORA PICAXE EN TECNOLOGÍA if b1>87 if b1>75 if b1>50 if b1<50 then enciendeluz4 then enciendeluz3 then enciendeluz2 then enciendeluz1 GOTO LDR enciendeluz1: high 0 goto ldr enciendeluz2: high 0 pause 9 low 0 pause 1 goto ldr enciendeluz3: high 0 pause 8 low 0 pause 2 goto ldr enciendeluz4: high 0 pause 7 low 0 pause 3 goto ldr enciendeluz5: high 0 pause 6 low 0 pause 4 goto ldr enciendeluz6: high 0 pause 5 low 0 pause 5 goto ldr enciendeluz7: high 0 pause 4 low 0 pause 6 38 LA CONTROLADORA PICAXE EN TECNOLOGÍA goto ldr enciendeluz8: high 0 pause 3 low 0 pause 7 goto ldr enciendeluz9: high 0 pause 2 low 0 pause 8 goto ldr enciendeluz10: high 0 pause 1 low 0 pause 9 goto ldr enciendeluz11: high 0 pause 1 low 0 pause 11 goto ldr enciendeluz12: high 0 pause 1 low 0 pause 12 goto ldr apagaluz: low 0 goto ldr 39 LA CONTROLADORA PICAXE EN TECNOLOGÍA Medidor de luz: Este programa sirve para medir la intensidad luminosa y representar el valor obtenido mediante ocho LED conectados a las ocho salidas de un PICAXE18. Los LEDS se irán encendiendo en función de la intensidad luminosa que incide sobre la LDR. '********************************************** '************MEDIDOR DE LUZ************* '********************************************** „CONEXIONES: 'LDR A LA ENTRADA 0 MEDIDOR: readadc 0, b0 if b0>250 then todoslosled if b0>175 then sieteled if b0>125 then seisled if b0>100 then cincoled if b0>75 then cuatroled if b0>50 then tresled if b0>25 then dosled if b0>10 then unled if b0<10 then ceroled goto medidor TODOSLOSLED: let pins= %11111111 goto medidor SIETELED: let pins= %01111111 goto medidor 40 LA CONTROLADORA PICAXE EN TECNOLOGÍA SEISLED: let pins= %00111111 goto medidor CINCOLED: let pins= %00011111 goto medidor CUATROLED: let pins= %00001111 goto medidor TRESLED: let pins= %00000111 goto medidor DOSLED: let pins= %00000011 goto medidor UNLED: let pins= %00000001 goto medidor CEROLED: let pins= %00000000 goto medidor 41 LA CONTROLADORA PICAXE EN TECNOLOGÍA EXPERIMENTANDO CON UNA NTC Introducción Las NTC y PTC son resistencias cuyo valor varía con la temperatura. Si al aumentar la temperatura aumenta la resistencia se denomina PTC, y si al contrario, un aumento de temperatura origina una disminución de la resistencia se denomina NTC. Se usan para termostatos, termómetros, sistemas de protección contra sobretemperaturas, etc. Conexión típica Resistencia de una NTC en función de la temperatura La resistencia Push Down de 10K, conectada entre la LDR y masa, se puede eliminar si la placa del microcontrolador la lleva incorporada. Programación Medida de la temperatura: Podemos medir y visualizar el valor de la temperatura a la que se halla la NTC usando los comandos Readadc y Debug: Símbolo '********************************************************* '********** MEDIDA DE Tª *********************** '********************************************************* '***************CONEXIONES******************* 'NTC AL PIN 1 42 LA CONTROLADORA PICAXE EN TECNOLOGÍA INICIO: readadc 1,b0 'lee la señal analógica de la LDR y carga el „valor en „variable b0 debug b0 'transmite el valor b0 a la pantalla del PC pause 100 'pausa goto inicio 'saltar a inicio Al cargar el programa, aparece inmediatamente en el monitor de nuestro ordenador una ventana como la que se muestra a la izquierda, donde se muestra el valor de la variable b0. Si modificamos la temperatura de la NTC veremos como varía la lectura que nos da el ordenador: Temperatura * 0º 9º 22º 36º 60º 82º Medida 100 105 115 123 149 171 *Para una NTC de 1500Ω a 25ºC (marrón, verde, rojo) Alarma de temperatura: La señal analógica procedente de la NTC se almacena en la variable b0 y se compara con un valor de referencia (en este ejemplo 140). Si b0 supera el valor 140 el programa genera un sonido de alarma: '****************************************************** '******* ALARMA TEMPERATURA ******** '****************************************************** '***************CONEXIONES********************** 'NTC AL PIN 1 INICIO: readadc 1,b0 if b0<140 then alarma „si la lectura de la NTC es superior a 140 „salta a la subrutina ALARMA goto inicio ALARMA: sound 1 (120,10) pause 100 goto inicio 43 LA CONTROLADORA PICAXE EN TECNOLOGÍA CONSTRUCCIÓN MICRORROBOT CONTROLADO POR PICAXE CARACTERÍSTICAS Se trata de un microrrobot capaz de moverse aleatoriamente esquivando obstáculos, seguir líneas oscuras dibujadas sobre fondo blanco y moverse hacia un foco de luz o alejarse del mismo. ESTRUCTURA La estructura del microrrobot va a ser una placa de aluminio de de 2 mm de espesor. Se ha elegido este material debido a su ligereza, la facilidad de mecanizado y por ser un material fácil de conseguir. Con respecto a la forma, ésta puede ser cualquiera, siempre y cuando se puedan acoplar las tres ruedas (dos motrices y una loca) formando un triángulo equilátero. El tamaño será algo mayor del mínimo necesario para no tener problemas en el caso de realizar alguna modificación sobre lo inicialmente previsto. Como forma, teniendo en cuenta el tamaño y posición de los distintos elementos que irán acoplados a la base, se ha elegido una foto de un trilobites para darle un aspecto atractivo. El diseño de esta base se ha realizado con un programa de CAD y se han incluido más taladros de los necesarios para no tener problemas a la hora de incluir nuevos elementos. Sobre esta base irán colocados dos motores con sus ruedas, la rueda trasera loca, la batería, los sensores, el regulador de tensión y los soportes que nos permitirán colocar una segunda plataforma que servirá de soporte para la circuitería. La plataforma superior será de metacrilato de 3 mm de espesor, se fijará a la base mediante 5 separadores de latón y alojará los circuitos, el interruptor general, algunos indicadores luminosos y los orificios necesarios para el paso de los cables. Por último, para proteger las partes más sensibles, se colocará una tercera lámina de metacrilato, montada sobre separadores. 44 LA CONTROLADORA PICAXE EN TECNOLOGÍA ENERGÍA Como fuente energética se ha elegido una batería de níquel-metal hidruro de 6 elementos, con una capacidad de 650 mAh a 7,4 voltios. Del cable de este elemento se ha sacado una derivación para dejar libre el terminal de salida y no tener que desconectar el dispositivo para proceder a su recarga. Como los motores y la circuitería funcionan a 5 voltios, es preciso colocar después del interruptor general un regulador de tensión 7805 para obtener una tensión de 5 voltios estabilizada. Además, este circuito integrado tiene protección contra sobrecargas y cortocircuitos, por lo que evitará problemas y averías al resto del sistema. Este elemento irá atornillado a la base de aluminio de modo que ésta haga la función de disipador. Si no conectamos eléctricamente nada a la base, no será preciso colocar una lámina aislante entre el regulador y la base. A continuación se muestra el circuito de alimentación y un resumen de las características del regulador de tensión 7805: t CARACTERÍSTICAS BÁSICAS TERMINALES Corriente de salida superior a 1 A Protección contra sobrecalentamiento Protección contra cortocircuitos CONEXIÓN SALIDA 5V 7805 C2 0.1µF C1 es necesario si el regulador se encuentra muy alejado de la fuente de alimentación. C2 sirve para mejorar la estabilidad Vs a Ma sa lida Ve ntr a C1 0.33µF da ENTRADA (de 7 a 35V) 45 LA CONTROLADORA PICAXE EN TECNOLOGÍA MOTORES Existen en el mercado muchos tipos de pequeños motores eléctricos con reductora que podrían servir para nuestro robot. A la hora de seleccionar uno tenemos que tener en cuenta lo siguiente: Que gire a una velocidad moderada o lenta. Que el consumo, el tamaño y el peso sean pequeños. Que no produzca muchas interferencias. Que sea económico. Teniendo en cuenta lo dicho anteriormente, se ha optado por una pareja de servomotores de radiocontrol que aunque no pueden girar de forma continua, pueden ser modificados para funcionar como cualquier otro motor. La ventaja de estos motores es su elevada calidad, precio moderado (unos 10 €), buen par, poco peso (35 g) y velocidad adecuada para nuestro diseño. Los pasos a seguir para modificar un servomotor Futaba 3003 son los siguientes: 1. Retiramos la cruceta del eje, los cuatro tornillos de la base y desmontamos el servomotor. 2. Desoldamos el motor y separamos el controlador (circuito impreso). Esta parte ya no nos hará falta. 3. Extraemos el eje secundario y con cuidado, limamos el tope que impide el giro completo. 4. Soldamos los cables rojo y negro al motor, teniendo en cuenta las referencias de color (punto rojo para el cable rojo) lo colocamos en su sitio y volvemos a montar todas las piezas. Como rueda, se ha empleado un disco de metacrilato de 40 mm de diámetro y 3mm de espesor pegado a la cruceta. Para que el robot no patine, se ha practicado una ranura al disco y se ha encajado un anillo tórico. 46 LA CONTROLADORA PICAXE EN TECNOLOGÍA Como estos motores absorben una intensidad relativamente alta, no se pueden conectar directamente al microcontrolador, que sólo puede suministrar unos 25 mA. Por este motivo, habrá que intercalar entre el microcontrolador y los motores un elemento que se encargue de suministrar a los motores la intensidad y polaridad adecuada en función de las señales que recibe del microcontrolador. Este elemento es el circuito integrado L293D que permite gobernar dos motores mediante cuatro entradas de control AB para el motor 1 y CD para el motor 2. Estas entradas las conectaremos a cuatro salidas del microcontrolador. Para evitar las interferencias que pueden producir las escobillas de los motores eléctricos, es necesario colocar un condensador de 0,1 µF en paralelo con los bornes del motor para que actúe a modo de filtro. La fijación de los motores a la base se puede hacer mediante escuadras, adhesivo o bridas. En este caso hemos fabricado un par de escuadras de aluminio y las hemos fijado a la base y al motor mediante tornillos M3. El aspecto de la primera capa del robot se puede ver a la izquierda. 47 LA CONTROLADORA PICAXE EN TECNOLOGÍA CEREBRO El cerebro de la máquina es un microcontrolador Picaxe 18x. Se ha elegido este circuito por disponer de suficientes entradas y salidas y por admitir programas de hasta 600 líneas aproximadamente. Características del Picaxe18 El microcontrolador Picaxe18 posee 4 entradas y 8 salidas y tiene una memoria con capacidad de hasta 600 líneas de programa en la versión 18X. Los modelos 18A y 18X admiten interrupciones y poseen puerto de infrarrojos. El tipo 18X tiene puerto i2c y salida PWM para el control de la velocidad de motores. Las características de este circuito integrado son las siguientes: Modelo Nº de Memoria pines (líneas de programa) A/D Entradas Salidas Memoria Datos Interrupciones 18 18 40 3 5 8 128 no 18A 18 80 3 5 8 256 si 18X 18 600 3 5 9 256+i2c si Distribución de terminales 18 17 16 15 14 13 12 11 10 7 8 9 PICAXE 18 1 2 3 4 5 6 1. Entrada 2 (analógica o digital) 2. Salida serie 3. Entrada serie 4. Reset 5. Masa 6. Salida 0 7. Salida 1 8. Salida 2 9. Salida 3 10.Salida 4 11.Salida 5 12.Salida 6 13.Salida 7 14.Alimentación + 15.Entrada 6 (digital) 16.Entrad 7 (digital) 17.Entrada 0 (analógica o digital) 18.Entrada 1 (analógica o digital) 48 LA CONTROLADORA PICAXE EN TECNOLOGÍA Placa de control: El esquema de abajo corresponde a la controladora del robot basada en el microcontrolador picaxe18. Además de los elementos imprescindibles, se ha incluido en el circuito: led, indicadores de salida, un microaltavoz para facilitar la programación y resistencias Push down que ponen las entradas a nivel bajo en ausencia de señal. SENSORES Para adquirir información de su entorno, el robot utilizará tres tipos de sensores: Microrruptores finales de carrera. Sirven para detectar obstáculos por contacto. Para ampliar su radio de acción se han soldado unas antenas de unos 15 cm de alambre de acero. En el esquema de abajo se muestra el modo de conectar este dispositivo. La resistencia de 10 K es una resistencia “push down” que sirve para poner la salida a nivel bajo cuando el contacto está abierto. Si colocamos esta resistencia en la placa del microcontrolador, no es necesario ponerla a la salida del final de carrera. Las “antenas” de los microrruptores irán cruzadas para que no quede ningún ángulo muerto en la zona central. 49 LA CONTROLADORA PICAXE EN TECNOLOGÍA Dispositivo óptico emisor/receptor CNY70 Constan de un emisor de infrarrojos y un fototransistor y detectan objetos de distinto color (por reflexión de infrarrojos) a pequeñas distancias, generalmente inferiores a un centímetro. Si se coloca delante de este sensor un objeto de color claro, la radiación infrarroja emitida por el fotodiodo, se reflejará e incidirá sobre el fototransistor haciendo que éste conduzca. Aunque estos sensores producen una señal analógica, proporcional a la radiación infrarroja que incide sobre el fototransistor, en este caso los utilizaremos como sensores digitales. El microcontrolador Picaxe, considera que una entrada digital está a nivel alto cuando su tensión supera los 2,5 voltios. Estos sensores los emplearemos para que el robot pueda seguir una línea negra pintada sobre fondo blanco. Para ello, colocaremos tres sensores alineados y separados unos 10 mm. De este modo, cuando el sensor central detecte color negro el robot se moverá hacia delante. Si el sensor izquierdo detecta negro y los otros no, nos estamos desviando hacia la izquierda y habrá que actuar en consecuencia y si es el sensor derecho el único que detecta negro, la desviación es hacia la izquierda. Como en el caso anterior, es necesario colocar una resistencia “push down” de 10k para tener nivel bajo a la salida cuando no conduce el fototransistor. El esquema de conexionado se muestra a continuación. Si necesitamos que estos sensores tengan un mayor alcance podemos cambiar las resistencias limitadoras de 220 Ω por otras de 100 Ω. 50 LA CONTROLADORA PICAXE EN TECNOLOGÍA LDR Mediante estas resistencias podemos obtener una señal analógica proporcional a la cantidad de luz que incide sobre su superficie activa. La variación de la resistencia en estos sensores es muy drástica y suele oscilar entre varios megaohmios cuando no incide luz sobre su superficie activa a unos 10 ohmios cuando está expuesta a una elevada iluminación. Nuestro prototipo dispondrá de dos LDR colocadas en el frontal, mirando hacia delante y formando un ángulo de unos 120 grados. La finalidad de estos sensores es producir una señal analógica proporcional a la iluminación que reciben. El microcontrolador compara estas señales y actúa sobre los motores para que el robot se mueva hacia la zona más iluminada o a la zona más oscura, según programemos. CONEXIONES La forma de de conectar los elementos vistos anteriormente es la siguiente: Motores La placa de control de motores se conectará a las cuatro primeras salidas del microcontrolador (A, B, C y D con las salidas 0,1,2,3) y los terminales de alimentación se unirán a la salida del regulador de tensión (5v), respetando la polaridad. Sensores CNY50 Los sensores CNY70 se alimentan a 5V, por lo que han de conectarse al circuito de alimentación. Las salidas obtenidas de los sensores derecho, central e izquierdo irán conectadas a las entradas 1, 0 y 2. Antenas (microrruptores) Irán conectados a la entrada 7 el derecho y a la entrada 6 el izquierdo. Si tienen tres terminales hay que tener la precaución de conectar al microcontrolador las patillas correspondientes al contacto normalmente abierto (NO). El común irá al positivo de la alimentación (+5v). Además de para detectar obstáculos, las antenas nos servirán para seleccionar el programa que queramos ejecutar. 51 LA CONTROLADORA PICAXE EN TECNOLOGÍA ENTRADAS MICROCONTROLADOR Sensores LDR Estos sensores han de ir conectados a dos de las tres entradas entradas analógicas/digitales del microcontrolador (0 y 1). Como sólo disponemos de 5 entradas y tenemos 7 elementos que conectar, las dos LDR han de compartir entrada con dos CNY70. Mediante una matriz de cuatro de microrruptores seleccionaremos el par de sensores que queremos conectar a las dos entradas analógicas (0 y 19) 1 2 3 4 ON 1 2 3 4 ON Según la combinación en el selector, conectaremos a las entradas 0 y 1 la LDR o los sensores CNY70 central y derecho atendiendo al siguiente esquema: CNY70 central y derecho conectados a las entradas 0 y 1 LDR izquierda y derecha conectadas a las entradas 0 y 1 INDICADORES LUMINOSOS Los indicadores luminosos (LED) se conectarán a las salidas 4 y 5. Cada indicador está formado por dos LED. Uno se halla en las antenas superiores o cuernos y el otro en la parte trasera del prototipo. ALTAVOZ Se trata de un microaltavoz piezoeléctrico. Va montado en la placa de control y conectado a la salida 7 52 LA CONTROLADORA PICAXE EN TECNOLOGÍA ESQUEMA GENERAL 53 LA CONTROLADORA PICAXE EN TECNOLOGÍA SOFTWARE El diseño del software es la parte más apasionante del proyecto. Un software bien planteado puede mejorar enormemente la calidad del resultado. El modo de proceder es realizar pequeños programas, probarlos y una vez tengamos todos los bloques necesarios, agruparlos en un único programa. Conexiones: Para facilitar la programación, tenemos que tener a mano un esquema con las conexiones que hemos realizado previamente. En este caso las conexiones realizadas a las entradas y salidas del microcontrolador son las siguientes: ENTRADAS: 7 6 7 1 0 2 Microrruptor Izquierdo (Antena derecha) Microrruptor Derecho (Antena derecha) Microrruptor Izquierdo (Antena derecha) CNY70 Derecho/LDR Derecha (Entrada analógica) CNY70 Central /LDR Izquierda (Entrada analógica) CNY70 Izquierdo SALIDAS: 0y1 2y3 4 5 Entradas AB del L293 (Control del motor derecho) Entradas CD del L293 (Control del motor izquierdo) Indicadores luminosos (Cuernos) Luz trasera Programas para comprobación de los motores. Para comprobar el correcto funcionamiento de los motores usaremos los siguientes programas: Movimiento hacia delante: Adelante: high 0 low 1 „pone la salida 0 a nivel alto „pone la salida 1 a nivel bajo high 2 low 3 „pone la salida 2 a nivel alto „pone la salida 3 a nivel bajo Como las salidas 0 y 1 están conectadas a las entradas A y B del L293, éstas gobernarán el motor derecho. Las salidas 2 y 3 controlan el motor izquierdo. Este programa hace girar indefinidamente los dos motores. Si no giran en el mismo sentido habrá que invertir las conexiones de uno de ellos. Si ambos motores giran hacia atrás, haremos el siguiente cambio: 54 LA CONTROLADORA PICAXE EN TECNOLOGÍA Adelante: low 0 high 1 „pone la salida 0 a nivel bajo „pone la salida 1 a nivel alto low 2 high 3 „pone la salida 2 a nivel bajo „pone la salida 3 a nivel alto Giro a la derecha parando un motor: Giraderecha: low 0 „pone la salida 0 a nivel bajo low 1 „pone la salida 1 a nivel bajo high 2 low 3 „pone la salida 2 a nivel alto „pone la salida 3 a nivel bajo Las dos primeras líneas hacen que se detenga el motor derecho y las dos siguientes hacen que el izquierdo gire hacia delante. De este modo se consigue que el robot gire a la derecha. Giro a la izquierda invirtiendo el sentido de marcha de un motor: Giraizquierda: low 0 high 1 „pone la salida 0 a nivel bajo „pone la salida 1 a nivel alto high 2 low 3 „pone la salida 3 a nivel alto „pone la salida 2 a nivel bajo En este caso, el motor derecho, controlado por las dos primeras líneas, gira hacia delante mientras que el izquierdo gira hacia atrás. De esta forma se consigue un giro más cerrado que deteniendo uno de los motores. Movimiento hacia delante durante un tiempo: Adelante: low 0 high 1 „pone la salida 0 a nivel bajo „pone la salida 1 a nivel alto low 2 high 3 „pone la salida 2 a nivel bajo „pone la salida 3 a nivel alto wait 10 „pausa de segundos low 0 „pone la salida 0 a nivel bajo low 1 „pone la salida 1 a nivel bajo 55 LA CONTROLADORA PICAXE EN TECNOLOGÍA low 2 low 3 „pone la salida 2 a nivel bajo „pone la salida 3 a nivel bajo Las primeras cuatro líneas de programa hacen que los dos motores giren a derechas. La siguiente línea detiene el programa 10 segundos (los dos motores siguen girando durante este tiempo). Las siguientes líneas ordenan la detención de los dos motores y el programa concluye. Bucle: vaiven: low 0 high 1 low 2 high 3 „pone la salida 0 a nivel bajo „pone la salida 1 a nivel alto „pone la salida 2 a nivel bajo „pone la salida 3 a nivel alto wait 10 „pausa de segundos high 0 low 1 high 2 low 3 „pone la salida 0 a nivel alto „pone la salida 1 a nivel bajo „pone la salida 2 a nivel alto „pone la salida 3 a nivel bajo wait 5 „pausa de segundos goto vaiven Este programa comienza con los dos motores girando a derechas durante 10 segundos. Transcurrido ese tiempo, los motores invierten su marcha durante otros 10 segundos y la última línea del programa hace que volvamos al inicio, de modo que el programa se estará repitiendo indefinidamente. Programas básicos de entrenamiento: Primer programa: cuadrado Una trayectoria cuadrada se compone de cuatro trayectorias rectas iguales y cuatro giros de noventa grados. Para poder programar con precisión, es necesario conocer de antemano la velocidad a la que se mueve el prototipo. Para ello, basta con cronometrar el tiempo que tarda en recorrer un metro y el tiempo necesario para completar un giro de 360º con un motor parado. En este caso hemos obtenido los siguientes datos: Tipo de movimiento Línea recta Giro Cantidad 1m 360º Tiempo 15 s 10 s A partir de estos datos, podemos crear un programa que haga que el movimiento del robot describa un cuadrado perfecto del tamaño que 56 LA CONTROLADORA PICAXE EN TECNOLOGÍA queramos. El programa siguiente define una trayectoria cuadrada de 40 cm de lado. Para ello se ha tenido en cuenta, además de los tiempos la distancia entre ejes que es de 10 cm. cuadrado: high 0 low 1 high 2 low 3 Trayectoria recta durante 3 s (20 cm) wait 3 high 0 low 1 low 2 low 3 Giro durante 2,5 s con un motor parado ( 90º y 10 cm) pause 2500 goto cuadrado Variación de la velocidad: Una manera muy interesante de reducir la velocidad de un motor de una forma precisa, sin perder mucho par y sin tener que modificar la tensión que llega a los motores, es la modulación por ancho de pulso (PWM). Esta técnica consiste alimentar a los motores de forma intermitente mediante un tren de ondas rectangulares similares a los mostrados a continuación: V Vmedia t En este caso, los impulsos de tensión duran lo mismo que los tiempos de reposo por lo que la tensión media es la mitad y por tanto, el motor girará también a la mitad de la velocidad que tendría si le llegase el cien por cien de tensión. Si queremos reducir más aún la velocidad tenemos que reducir la duración de los impulso y hacer mayor el tiempo de reposo. La regulación de velocidad PWM requiere que la frecuencia de los pulsos enviados al motor ronde los 10 Kilohercios y el uso de motores de buena calidad. A continuación se muestra un ejemplo de regulación PWM: 57 LA CONTROLADORA PICAXE EN TECNOLOGÍA pwm1: high 0 low 1 high 2 low 3 Los dos motores en marcha durante 1 milisegundo pause 1 low 0 low 1 low 2 low 3 Los dos motores en reposo durante 1 milisegundo pause 1 goto pwm1 Círculo: Aplicando una regulación PWM a uno de los motores, podemos hacer que nuestro prototipo siga una trayectoria circular. El tamaño del círculo dependerá de la relación entre el tiempo que está parado y girando el motor que gira de forma discontinua. circulo3: high 0 low 1 high 2 low 3 pause 2 Los dos motores giran en el mismo sentido durante 2 milisegundos high 0 low 1 low 2 low 3 pause 1 El motor 1 gira y el motor 2 se detiene durante 1 milisegundo goto circulo3 En este programa, el motor 2 está 2 milisegundos girando y un milisegundo en reposo, de modo que su velocidad media se reduce a unos dos tercios. Programa LIBRE Permite que el robot se mueva en línea recta y cuando detecta un obstáculo con sus antenas ejecuta un movimiento evasivo y continúa su marcha. Como se trata de un programa algo más complejo, es conveniente añadir toda la información que creamos oportuno por si 58 LA CONTROLADORA PICAXE EN TECNOLOGÍA tenemos que modificar el programa o por si aparecen errores. Esta información se escribe detrás de una comilla „(tecla ?) para que el programa no la considere como código. Una información importante a indicar son las conexiones realizadas. El código del programa es el siguiente: '********************************************************************************** '********************************************************************************** '*********************** LIBRE ********************************** '********************************************************************************** '********************************************************************************** '*********************** ' ' ' ' ' ' ' ' ' ' ' ' ' Nombre del programa principal Llama a la subrutina saludo Programa que escanea las entradas a las que están conectadas las antenas y según su estado actúa en consecuencia llamando a otras rutinas palante: CONEXIONES ***************************** CONEXIONES ENTRADAS: BUMPER IZDO BUMPER DER ENTRADA 7 ENTRADA 6 SALIDAS: MOTOR DERECHO MOTOR IZQUIERDO CUERNOS LUZ TRASERA SALIDAS 0 Y 1 SALIDAS 2 Y 3 SALIDA 4 SALIDA 5 LIBRE: gosub saludo estadoantenas: if input7 is off and input6 is off then palante if input7 is on then atrasder if input6 is on then atrasizq high 0 low 1 Esta rutina hace que los dos motores giren hacia delante high 2 low 3 Vuelve a escanear el estado de las antenas goto estadoantenas 59 LA CONTROLADORA PICAXE EN TECNOLOGÍA atrasder: high 5 low 0 low 1 low 2 low 3 Este programa hace que el robot se mueva hacia atrás tres segundos y después gire a la derecha unos 180 grados high 4 pause 100 low 4 pause 100 high 4 pause 100 low 4 Luz trasera encendida Paran los dos motores Parpadean los led de los cuernos Sonido de aviso de colisión sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) high 1 low 0 high 3 low 2 Los dos motores invierten su marcha durante 3 segundos wait 3 low 5 high 0 low 1 Este programa hace que el robot se mueva hacia atrás tres segundos y después gire a la izquierda unos 180 grados. Sólo se diferencia del programa anterior en el sentido del último giro high 3 low 2 Luz trasera apagada El motor derecho gira hacia delante mientras el izquierdo invierte su marca durante dos segundos durante 3 segundos wait 2 goto estadoantenas atrasizq: Vuelve al inicio del programa principal para volver a escanear el estado de las antenas high 5 low 0 low 1 low 2 low 3 high 4 pause 100 low 4 pause 100 high 4 pause 100 low 4 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) high 1 low 0 high 3 60 LA CONTROLADORA PICAXE EN TECNOLOGÍA low 2 wait 3 low 5 high 1 low 0 high 2 low 3 wait 2 goto estadoantenas Programa SIGUELÍNEAS Este programa hace que el robot siga una línea negra dibujada sobre un fondo blanco. Para ello, utiliza tres sensores CNY70 que dan salida 0 cuando tienen delante una superficie oscura. '********************************************************************************* '*********************** SIGUELINEAS **************************** '********************************************************************************* ' ' ' ' ' ' ' ' ' ' ' ' ' ' CONEXIONES ENTRADAS: CNY70 DER / LDR DER ENTRADA 1 CNY70 CEN / LDR IZQ ENTRADA 0 CNY70 IZQ ENTRADA 2 SALIDAS: MOTOR DERECHO MOTOR IZQUIERDO CUERNOS LUZ TRASERA SALIDAS 0 Y 1 SALIDAS 2 Y 3 SALIDA 4 SALIDA 5 SIGUELINEAS: high 5 if input2 is off then giraizquierda if input1 is off then giraderecha if input0 is off and input2 is on and input1 is on then adelante if input0 is off and input2 is off and input1 is off then giraderecha goto siguelineas giraizquierda: high 0 low 1 low 2 low 3 goto siguelineas 61 LA CONTROLADORA PICAXE EN TECNOLOGÍA giraderecha: high 2 low 3 low 0 low 1 goto siguelineas adelante: high 0 low 1 high 2 low 3 goto siguelineas Programa LDR Se basa en comparar los valores analógicos que aportan dos sensores LDR colocados en el frontal del robot. '********************************************************************************** '*********************** LDR *********************************** '********************************************************************************** ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' CONEXIONES ENTRADAS: BUMPER IZDO ENTRADA 7 BUMPER DER ENTRADA 6 CNY70 DER / LDR DER ENTRADA 1 CNY70 CEN / LDR IZQ ENTRADA 0 CNY70 IZQ ENTRADA 2 SALIDAS: MOTOR DERECHO MOTOR IZQUIERDO CUERNOS LUZ TRASERA SALIDAS 0 Y 1 SALIDAS 2 Y 3 SALIDA 4 SALIDA 5 LDR: if input7 is off and input6 is off then SIGUELUZ if input7 is on then atrasderecha if input6 is on then atrasizquierda atrasderecha: low 0 low 1 low 2 low 3 high 4 pause 100 62 LA CONTROLADORA PICAXE EN TECNOLOGÍA low 4 pause 100 high 4 pause 100 low 4 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) high 1 low 0 high 3 low 2 wait 2 high 0 low 1 high 3 low 2 WAIT 2 goto LDR atrasizquierda: low 0 low 1 low 2 low 3 high 4 pause 100 low 4 pause 100 high 4 pause 100 low 4 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) high 1 low 0 high 3 low 2 wait 2 high 1 low 0 high 2 low 3 WAIT 2 goto LDR SIGUELUZ: 63 LA CONTROLADORA PICAXE EN TECNOLOGÍA readadc 0,b0 'ldr izquierda readadc 1,b1 'ldr derecha if b0 > b1 then izquierda if b0 < b1 then derecha if b0 = b1 then haciadelante goto LDR izquierda: high 0 low 1 low 2 low 3 goto ldr derecha: high 2 low 3 low 0 low 1 goto ldr haciadelante: high 0 low 1 high 2 low 3 goto ldr Selector de programas '********************************************************************************** '*********************** SELECCION DE PROGRAMA ********************** '********************************************************************************** SELECCIONPROGRAMA: 'LOS DOS CUERNOS PULSADOS AL INICIO 'EL CUERNO IZQUIERDO PULSADO AL INICIO 'NINGUN CUERNO PULDADO AL INICIO SIGUELINEAS LDR LIBRE sound 7, (105,10) pause 100 sound 7, (105,10) pause 100 sound 7, (105,10) pause 100 sound 7, (105,10) pause 100 sound 7, (105,10) pause 100 sound 7, (105,100) if input7 is on and input6 is on then SIGUELINEAS if input7 is on and input6 is off then LDR if input7 is off and input6 is off then LIBRE 64 LA CONTROLADORA PICAXE EN TECNOLOGÍA SALUDO: high 4 high 5 pause 100 low 4 low 5 pause 100 high 4 high 5 pause 100 low 4 low 5 pause 100 high 4 high 5 pause 100 low 4 low 5 pause 100 high 4 high 5 pause 100 low 4 low 5 pause 100 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) PAUSE 100 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) PAUSE 300 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) PAUSE 100 sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2) return 65 LA CONTROLADORA PICAXE EN TECNOLOGÍA BARRERA DE INFRARROJOS Introducción Una barrera infrarroja es un sistema compuesto por un diodo LED emisor de infrarrojos y un fototransistor. Cando estos dos elementos están enfrentados, separados una determinada distancia, el fototransistor recibe luz infrarroja procedente del LED y conduce. Si se interpone cualquier objeto opaco entre estos dos elementos, el fototransistor dejará de conducir y si está conectado a un microcontrolador, éste actuará según lo previsto en el programa que se le ha cargado. Componentes Descripción Led IR TSUS540 Fototransistor BPW96 Resistor entre 100Ω y 220 Ω ¼ w Resistor 10KΩ ¼ w Placa PICAXE08 Cantidad Precio aprox. € 1 1 5 2 1 0.30 0.50 0.02 0.02 0.02 Esquema La resistencia limitadora del LED ha de tener un valor comprendido entre 100 y 220 Ω. Con un valor bajo, la distancia la intensidad del haz infrarrojo será mayor y por tanto, la separación entre emisor y receptor. La resistencia Push Down de 10K, conectada entre el emisor del fototransistor y masa, se puede eliminar si la placa del microcontrolador la lleva incorporada. Al igual que en el punto anterior, si nuestra placa posee altavoz, no será necesario instalarlo. 66 LA CONTROLADORA PICAXE EN TECNOLOGÍA Montaje Fotodiodo TSUS540 en un soporte de alambre Se puede hacer un soporte para el fotodiodo y el transistor con un trozo de alambre, (como el de un clic) de modo que queden como en la foto de la izquierda. Las resistencias se sueldan directamente a los componentes, teniendo la precaución de aislar las soldaduras posteriormente con tubo termorretráctil. Si utilizamos alambre acerado, podemos sujetar el emisor y el receptor con pequeños imanes a una superficie de hierro. Montaje para ensayo de una barrera de infrarrojos Colocando los dos elementos juntos y paralelos, con la misma orientación, el sistema funcionar como un detector de proximidad reflexivo. Modificando ligeramente el ángulo que forman los dos elementos, podemos aumentar la distancia de detección. La distancia a la que se pueden detectar objetos puede llegar hasta 10 cm para objetos grandes, blancos y planos. Montaje de un detector reflexivo Montaje para ensayo del detector reflexivo Por último, para evitar que la luz ambiental interfiera en el funcionamiento del circuito produciendo falsas detecciones, es conveniente introducir el fototransistor dentro de un trozo de tubo opaco. También se puede colocar un filtro que sólo permita el paso de radiación infrarroja. Protección del fototransistor contra los efectos de la luz ambiental 67 LA CONTROLADORA PICAXE EN TECNOLOGÍA Modificaciones Si sustituimos el fotodiodo por un puntero láser podemos hacer que nuestra barrera tenga un alcance enorme (hasta unos 100 m). Utilizando espejos para variar la dirección del láser, podemos crear una barrera perimetral alrededor de un objeto. Montaje de una barrera láser La entrada analógica del Picaxe08, convierte cualquier tensión comprendida entre 0 y 5v, en un número binario de ocho bits, por lo que tenemos 256 valores digitales posibles. Programación Medida de la intensidad luminosa: Podemos medir y visualizar el valor de la intensidad luminosa que recibe el fototransistor usando los comandos Readadc y Debug: '********************************************************* '********** MEDIDA LUZ ************************* '********************************************************* '***************CONEXIONES******************* 'FOTOTRANSISTOR AL PIN 1 INICIO: readadc 1,b0 debug b0 pause 100 goto inicio 'lee la señal analógica del fototransistor y carga el „valor „en variable b0 'transmite el valor b0 a la pantalla del PC 'pausa 'saltar a inicio Al cargar el programa, aparece inmediatamente en el monitor de nuestro ordenador una ventana como la que se muestra a la izquierda, donde se muestra el valor de la variable b0. Exponiendo el fototransistor a distintas fuentes de luz se han obtenido los siguientes resultados: Tipo de luz A 5 cm de un tubo fluorescente Laser a 5 cm Led blanco 14000 microcandelas Fotodiodo IR TSUS540 Led rojo 5 mm normal Distancia Medida 5 cm 5 cm 5 cm 5 cm 5 cm 120 230 190 120 90 68 LA CONTROLADORA PICAXE EN TECNOLOGÍA Barrera infrarroja digital: En este caso, la señal procedente del fototransistor es tratada como un valor digital. El microcontrolador PICAXE08, considera que una entrada digital está a nivel alto cuando su tensión supera los 1,3 v. El programa siguiente genera una señal acústica cuando se interrumpe el haz de infrarrojos que llega al fototransistor: '****************************************************** '********** BARRERA IR ********************** '****************************************************** '***************CONEXIONES********************** 'FOTOTRANSISTOR AL PIN 1 INICIO: if pin1 is off then sonido „Si la entrada 1 está a nivel bajo (no le llega el haz de infrarrojos) salta a la subrutina SONIDO. goto inicio SONIDO: sound 0, (115,1,116,1,117,1,118,1,119,1,118,1,117,1,116,1,115,1) goto inicio Barrera infrarroja analógica: Si consideramos la señal procedente del fototransistor como analógica, podemos ajustar con precisión el umbral a partir del cual se salta a la subrutina SONIDO. De este modo, se pueden evitar las interferencias producidas por la luz ambiental. '****************************************************** '********** BARRERA IR ANALOGICA *********** '****************************************************** '***************CONEXIONES********************** 'FOTOTRANSISTOR AL PIN 1 INICIO: readadc 1,b0 if b0<100 then sonido goto inicio SONIDO: sound 0, (120,10) goto inicio 69 LA CONTROLADORA PICAXE EN TECNOLOGÍA CONSTRUCCIÓN MÓVIL CONTROLADO POR PICAXE CARACTERÍSTICAS Se trata de un móvil más sencillo que el microrrobot capaz de moverse aleatoriamente esquivando obstáculos, seguir líneas oscuras dibujadas sobre fondo blanco y moverse hacia un foco de luz o alejarse del mismo. El software necesario para controlar este móvil es similar al utilizado en el microrrobot. ESTRUCTURA La estructura de este móvil, que simula un coche de juguete, está formada fundamentalmente por una base de aluminio de 2 mm de espesor. Este material es un material fácil de conseguir y nos permite un mecanizado sencillo. En el momento del diseño debemos tener en cuenta el resto de componentes que están sujetos a la base de aluminio para realizar los orificios donde los colocaremos. En la parte inferior se colocan los dos motorreductores cada uno con su rueda, una rueda loca en la parte inferior delantera unida a la base a través de un rodamiento. Y en la parte inferior también colocaremos los sensores de contactos (microrruptores) y los sensores ópticos (CNY70). En la parte superior se encuentran la batería, una placa de metracrilato donde va alojada la placa controladora con el microcontrolador y una placa para amplificar la intensidad. Además se ha previsto colocar dos antenas que llevan en su extremo superior incorporado un LED. 70 LA CONTROLADORA PICAXE EN TECNOLOGÍA Diseño de la base de aluminio (derecha) y de la placa de metacrilato (izquierda). ENERGÍA Como fuente energética se ha elegido una batería de níquel-metal hidruro de 6 elementos, con una capacidad de 650 mAh a 7,4 voltios. Del cable de este elemento se ha sacado una derivación para dejar libre el terminal de salida y no tener que desconectar el dispositivo para proceder a su recarga. Como los motores y la circuitería funcionan a 5 voltios, es preciso colocar después del interruptor general un regulador de tensión 7805 para obtener una tensión de 5 voltios estabilizada. Además, este circuito integrado tiene protección contra sobrecargas y cortocircuitos, por lo que evitará problemas y averías al resto del sistema. Este elemento irá atornillado a la base de aluminio de modo que ésta haga la función de disipador. Si no conectamos eléctricamente nada a la base, no será preciso colocar una lámina aislante entre el regulador y la base. A continuación se muestra el circuito de alimentación y un resumen de las características del regulador de tensión 7805: t 71 LA CONTROLADORA PICAXE EN TECNOLOGÍA MOTORES Existen en el mercado muchos tipos de pequeños motores eléctricos con reductora que podrían servir para nuestro móvil. Necesitamos que dispongan de una relación de transmisión grande para que la velocidad de salida sea pequeña. Se han colocado dos motorreductores con las siguientes características: -Relación de transmisión= 207:1 -Funciona entre 1,5 y 6 V. -Compacto, todo protegido en una caja de plástico. -Precio aproximado: 2,50 € Como estos motores absorben una intensidad relativamente alta, no se pueden conectar directamente al microcontrolador, que sólo puede suministrar unos 25 mA. Por este motivo, habrá que intercalar entre el microcontrolador y los motores un elemento que se encargue de suministrar a los motores la intensidad y polaridad adecuada en función de las señales que recibe del microcontrolador. Este elemento es el circuito integrado L293D que permite gobernar dos motores mediante cuatro entradas de control AB para el motor 1 y CD para el motor 2. Estas entradas las conectaremos a cuatro salidas del microcontrolador. Para evitar las interferencias que pueden producir las escobillas de los motores eléctricos, es necesario colocar un condensador de 0,1 µF en paralelo con los bornes del motor para que actúe a modo de filtro. La fijación de los motores a la base se puede hacer mediante escuadras, adhesivo o bridas. En este caso hemos fabricado un par de escuadras de aluminio y las hemos fijado a la base y al motor mediante tornillos M3. El aspecto de la primera capa del robot se puede ver a la izquierda. La fijación de los motores a la base se puede hacer mediante escuadras, adhesivo o bridas. En este caso la solución más sencilla ha sido pegar directamente con adhesivo termofusible los motorreductores con sus correspondientes ruedas a la base. 72 LA CONTROLADORA PICAXE EN TECNOLOGÍA CRUCE DE SEMÁFOROS CONTROLADO POR PICAXE Como ejemplo de aplicación de la Microcontroladora Picaxe, se propone un proyecto ideal para alumnos de 4º de la ESO dentro de la asignatura de Tecnología. El enunciado sería el siguiente: “Se realizará una sencilla maqueta con un cruce de dos carreteras de un único sentido. Dicha maqueta constará de dos semáforos que regularán el tráfico de las dos vías y cuatro semáforos de peatones. Para ello dispondremos del aula- taller y de todos los materiales y herramientas allí existentes.” Concretamente en este caso hemos utilizados: Contrachapado Tubos de PVC Listón de Pino Cables Diodos Led Resistencias de 220 Ω Clemas de conexión Las herramientas empleadas han sido las siguientes: Sierra de cinta Pistola de termofusible Barrena Destornillador Martillo Clavos 73 LA CONTROLADORA PICAXE EN TECNOLOGÍA Una vez realizada la maqueta se comprobará el estado de las conexiones y se procederá a programar la microcontroladora con el software de PICAXE Programming Editor. ACTIVIDADES Se proponen los siguientes programas antes de la programación total del cruce. ACTIVIDAD 1 Programa “ precaucion” que deberá realizar las siguientes acciones: Semáforos para vehículos en ámbar intermitentes cada segundo Los semáforos de peatones permanecerán apagados ACTIVIDAD 2 Regulación de un semáforo, programa “semaforo”, que deberá realizar las siguientes acciones: El semáforo de la carreteras 1 deberá realizar un ciclo de trabajo. En dicho ciclo, el rojo deberá estar 10 segundos encendido, pasará a verde y permanecerá otros 10 segundos en este color, para finalmente pasar a ámbar 5 segundos y volver al rojo nuevamente. Los semáforos de peatones permanecerán apagados ACTIVIDAD 3 Regulación del cruce completo, programa “cruce” que deberá realizar las siguientes acciones: Para una calle: El rojo de una de las carreteras deberá estar 13 segundos encendido, pasará a verde y permanecerá otros 13 segundos en este color, para finalmente pasar a ámbar 5 segundos y volver al rojo nuevamente. Lo dos semáforos de peatones deberán estar rojos cuando el semáforo que controla la carretera esté en verde. Cuando éste pase a ámbar, el color verde de los peatones se pondrá intermitente cambiando a rojo. Antes de ponerse en verde el semáforo de circulación esperará 3 segundos por precaución. En la otra calle el procedimiento será el mismo pero a la inversa. ACTIVIDAD 4 Colocar dos pulsadores en la entrada de forma que active cada uno de los programas. 74 LA CONTROLADORA PICAXE EN TECNOLOGÍA SOLUCIONES Vamos a colocar las salidas del microcontrolador de la siguiente forma: SALIDAS 01234567 SALIDA 0 - Verde semáforo calle 1 SALIDA 1 - Ámbar semáforo calle 1 SALIDA 2 - Rojo semáforo calle 1 y rojo de los semáforos de peatones de la calle 2 SALIDA 3 - Verde semáforo calle 2 SALIDA 4 - Ámbar semáforo calle 2 SALIDA 5 - Rojo semáforo calle 2 y rojo de los semáforos de peatones de la calle 1 SALIDA 6 - Verde de los semáforos de peatones de la calle 1 SALIDA 7 - Verde de los semáforos de peatones de la calle 2 ACTIVIDAD 1 precaucion: high 1 wait 1 low 1 high 4 wait 1 low 4 goto precaucion ACTIVIDAD 2 semaforo: high 0 wait 10 low 0 low 1 wait 5 low 1 goto semaforo ACTIVIDAD 3 cruce: high 0 high 5 high 6 75 LA CONTROLADORA PICAXE EN TECNOLOGÍA wait 10 low 0 high 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 low 1 high 2 low 6 wait 3 low 5 high 3 high 7 wait 10 low 3 high 4 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 low 4 high 5 low 7 wait 3 low 2 goto cruce ACTIVIDAD 4 programa: wait 1 if input1 is on and input2 is on then precaucion if input1 is on and input2 is off then semaforo if input1 is off and input2 is off then cruce precaucion: high 1 wait 1 low 1 high 4 wait 1 low 4 goto precaucion semaforo: high 0 high 5 wait 8 low 0 high 1 wait 2 low 1 high 2 wait 3 low 5 high 3 wait 8 low 3 high 4 wait 2 low 4 high 5 wait 3 low 2 goto semaforo cruce: high 0 high 5 high 6 wait 10 low 0 high 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 low 1 high 2 low 6 wait 3 low 5 high 3 high 7 wait 10 76 LA CONTROLADORA PICAXE EN TECNOLOGÍA low 3 high 4 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 low 4 high 5 low 7 wait 3 low 2 goto cruce Esquema de conexiones a la placa 77 LA CONTROLADORA PICAXE EN TECNOLOGÍA La casa soñada Como ejemplo de aplicación de la Microcontroladora Picaxe, se propone un proyecto ideal para alumnos de 4º de la ESO dentro de la asignatura de Tecnología. El enunciado sería el siguiente: Construcción de la maqueta de una casa que tendrá las características siguientes: La maqueta se realizará en seis partes o módulos, que se encajaran entre ellos para integrar en una unidad: 1.- Vivienda. 4.- Torreta con depósito de agua 2.- Garaje. 5.- Entradas a la vivienda y al garaje 3.- Piscina y ducha 6.- Jardín. Cada módulo estará asentado en una base que hará el papel de un subsuelo por donde irán las instalaciones. La vivienda será de una planta con vestíbulo, una habitación, un salón y comedor, cuarto de baño y cocina. El conjunto estará rodeado por una valla con dos puertas: una para el garaje y otra para la vivienda. La estructura será de contrachapado de 2 o 3 mm de grosor para las paredes y listones de madera de sección cuadrada de 5 mm. El tejado será desmontable. La iluminación de la maqueta y los sistemas eléctricos se controlarán desde una consola exterior. 78 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 1.- Los planos del proyecto: Utilizando un programa CAD vamos a diseñar la vivienda que construiremos a lo largo del curso. Los seis módulos presentan la siguiente distribución en planta: Siendo: Módulo 1: La vivienda. En formato A4 hemos distribuido las distintas habitaciones de la casa. Módulo 2: El garaje. En formato A5 hemos dibujado el plano del garaje. Módulo 3: La piscina. En formato A4. Módulo 4: La torreta para el depósito. En formato A5. Módulo 5: El jardín de entrada. En formato A4. Módulo 6: El jardín adosado. En formato A5 79 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 2.- Vistas generales: 3.- Construcción del subsuelo de los seis módulos de la parcela: Con aglomerado de 10 mm de grueso se construyen tres piezas rectangulares de dimensiones 297 x 210 mm (módulos A4) y otros tres de 148 x 210 mm (módulos A5)´Para ello se cortan los siguientes listones: 80 LA CONTROLADORA PICAXE EN TECNOLOGÍAS Se cortan tres placas de contrachapado de 3 mm de 297 x 210 mm y otras tres de 148 x 210 mm. Se colocan, uniéndolas con cola y reforzándolas con puntas finas. Los seis módulos se unen con tornillos, tuercas y arandelas. 81 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 4.- Planos de la construcción: Presentamos los planos de las piezas de la maqueta de la vivienda y el garaje. Pueden realizarse con un programa de diseño por ordenador o con instrumentos de dibujo tradicionales. 82 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 5.- Estructura de la maqueta: 83 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 6.- Circuito de alumbrado: 84 LA CONTROLADORA PICAXE EN TECNOLOGÍAS 85 LA CONTROLADORA PICAXE EN TECNOLOGÍAS ESQUEMA DE CONEXIONES A LA PLACA Una vez realizada la maqueta se comprobará el estado de las conexiones y se procederá a programar la microcontroladora con el software de PICAXE Programming Editor. 86 LA CONTROLADORA PICAXE EN TECNOLOGÍAS ACTIVIDADES Se proponen los siguientes programas: ACTIVIDAD 1 Realizar el programa “SECUENCIA” que deberá realizar las siguientes acciones: Programa que permita encender y apagar cíclicamente cada zona de la vivienda y el garaje „************************************************************** „******************* SECUENCIA ********************** „************************************************************** „CONEXIONES: „LDR A LA ENTRADA 0 „DOS LAMPARAS A LA SALIDA 4 SECUENCIA: High 0 Wait 1 High 1 Wait 1 High 2 Wait 1 High 3 Wait 1 low 0 Wait 1 low 1 Wait 1 Low 2 Wait 1 low 2 Wait 1 Goto secuencia 87 LA CONTROLADORA PICAXE EN TECNOLOGÍAS ACTIVIDAD 2 Realizar el programa “LDR” que deberá realizar las siguientes acciones: “Encender y apagar automáticamente la iluminación exterior de la vivienda (porche delantero y trasero) en función de la intensidad lumínica exterior controlada por una resistencia LDR”. „************************************************************** „*********************** LDR ************************** „************************************************************** „CONEXIONES: „LDR A LA ENTRADA 0 „DOS LAMPARAS A LA SALIDA 4 LDR: Readadc 0, b0 If b0<100 then enciende If b0>100 then apaga ENCIENDE: High 4 Goto LDR APAGA: low 4 Goto LDR ACTIVIDAD 3 Realizar el programa “CLIMATIC” que deberá realizar las siguientes acciones: “Encender y apagar automáticamente la instalación de calefacción y aire acondicionado de la vivienda (ventilador) en función de la intensidad lumínica exterior controlada por una resistencia LDR”. ACTIVIDAD 4 Colocar un pulsador en la entrada de forma que active cada uno de los programas. 88 LA CONTROLADORA PICAXE EN TECNOLOGÍAS BARRERA ELECTROMECÁNICA Diseño y construcción de una barrera autoportante, con mecanismo reductor, sistema eléctrico de paro en subida y bajada, señalización luminosa y con el interior visible en todo momento. Para empezar el diseño del proyecto, partimos de la función que ha de realizar el mismo así como definir con la máxima precisión su funcionamiento. Se van a utilizar materiales de diferentes características, como maderas, para la caja de construcción, tornillos, tuercas, arandelas, material eléctrico, mecanismos como rueda dentada, tornillo sinfín, etc. Comenzamos cortando y preparando las piezas de madera, su base, paredes laterales y contrapeso; realizamos orificios para los diferentes mecanismos con la taladradora, así como unión de las diferentes partes para su montaje. Montamos la base de mecanismos, donde van acoplados el soporte motor, soporte eje del sistema reductor y la regleta de entrada de conexiones. Una vez realizado el montaje, colocamos el motor y acoplamos el sistema reductor, formado por tornillo sinfín de polietileno módulo 0,5 6 x 9 mm, rueda dentada doble de módulo 0,5 50/10 dientes, montamos el eje del sistema reductor acoplado al motor. A continuación, preparamos el lateral de la base donde se van a colocar los interruptores final de carrera y la regleta de luces (diodos led). Una vez realizado los orificios necesarios para su montaje, fijamos los dos finales de carrera y la regleta de conexiones en los laterales de madera, así como también colocamos el interruptor general. Posteriormente, pasamos al montaje de paredes laterales unidas mediante tornillos a la base inferior; después construimos el 89 LA CONTROLADORA PICAXE EN TECNOLOGÍAS contrapeso de la barrera y lo encolamos y pegamos al listón (barrera) como se ve en el montaje. Una vez tenemos los laterales, nos queda montar el eje principal, formado por varilla roscada M4 x 150 mm. y cortada a una longitud de 120 mm, donde irá acoplada la rueda dentada de módulo 1 60, 58 dientes, la cual será movida por el tornillo sinfín que va montado sobre el eje del motor de módulo 1 12 x 32 mm. En el eje principal, se coloca la barrera con su contrapeso, para que cuando dicho eje sea movido por la rueda dentada acoplada al sinfín del eje del motor, ésta suba o baje hasta parar al accionar uno de los finales de carrera. Por último, ajustamos la palanca pequeña que acciona los interruptores finales de carrera de forma que quede paralela a la barrera ya que debe efectuar el mismo movimiento que ésta. Y una vez terminada la parte mecánica, pasamos a realizar el esquema eléctrico, que se muestra a continuación. Esta barrera, va a ser controlada por medio de un microcontrolador PICAXE 18, preparado para ser programado en Basic, lo cual simplifica mucho el proceso de programación. Como elementos de entrada, tenemos los finales de carrera y los controladores como fotodiodo y fototransistor, los cuales realizan el cierre y apertura de la barrera, según esquema. (2) CONEXIONES Este es el circuito de montaje de la placa que lleva el controlador Picaxe, donde se van a conectar los elementos de entrada y salida, así como otros elementos para su funcionamiento. 90 LA CONTROLADORA PICAXE EN TECNOLOGÍAS Final de carrera superior → Input 2 (“1” en programación) Final de carrera inferior → Input 0 (“1” en programación) Sensor Presencia vehículo → Input 6 (“1” en programación) Control Motor → Output 0 Ver cuadro Control Motor → Output 1 Ver cuadro Semáforo Rojo → Output 2 (high ilumina, low no ilumina) Semáforo Verde → Output 3 (high ilumina, low no ilumina) PROGRAMACIÓN inicio: if input2 is on and input0 is off then bajabarrera goto inicio bajabarrera: low output0 high output1 high output2 low output3 if input2 is off and input0 is on then paro goto bajabarrera paro: low output0 low output1 high output3 low output2 goto inicio Sube barrera inicio: if input0 is on and input6 is on then subebarrera goto inicio subebarrera: high output1 high output0 high output2 low output3 if input2 is on and input0 is off then paro goto subebarrera paro: low output0 low output1 high output3 low output2 goto inicio '*********Control barrera levadiza********' '***FCsup -> input 2*** '***FCinf -> input 0*** '***Sensor -> input 6*** '***Control inversión giro motor -> output 0*** '***Control alimentación motor -> output 1*** '***Semáforo Rojo -> output 2*** '***Semáforo Verde -> output 3*** 91 LA CONTROLADORA PICAXE EN TECNOLOGÍAS inicio: if input0 is on and input2 is off then paso1 goto inicio '***Motor parado*** '***Puente abajo*** '***Semáforo en verde*** '***consulta si Sensor está activado*** paso1: low output0 low output1 high output3 low output2 if input6 is on then paso2 goto inicio '***Motor sube*** '***Semáforo en rojo*** paso2: high output0 high output1 high output2 low output3 if input0 is off and input2 is on then paso3 goto paso2 '***Motor parado*** '***Semaforo en rojo*** '***Temporización de 5s.*** paso3: low output0 low output1 wait 5 if input0 is off and input2 is on then paso4 goto paso2 '***Motor baja*** '***Semáforo en rojo*** paso4: low output0 high output1 high output2 low output3 if input0 is on and input2 is off then inicio goto paso4 92 LA CONTROLADORA PICAXE EN TECNOLOGÍAS