2 Avanzado Manual_LEGO

November 15, 2017 | Author: Ale Nuñes | Category: Color, Electronics, Electrical Engineering, Science, Technology
Share Embed Donate


Short Description

Descripción: Manual de Lego Mindstorms...

Description

INTRODUCCIÓN AL DISEÑO DE MICROROBOTS MÓVILES Trabajo realizado para la asignatura de Diseño de Microrrobots Móviles de la Universidad de Alcalá por Estela Díaz López

Julián Manzano D’Onofrio

Ignacio Esperabe de Arteaga del Alamo

José Antonio Martín Esteban

Rubén Fernández Carnicero

Javier Mateos Andaluz

David Gualda Gómez

Luis de Santiago Rodrigo

Noviembre 2006

ROBOTS LEGO MINDSTORMS

0. ÍNDICE 0.

ÍNDICE ............................................................................................................................... 1

1.

INTRODUCCIÓN ............................................................................................................. 6

1.1.

¿QUÉ ES LEGO-MINDSTORMS?..................................................................................... 6

1.2.

¿POR QUÉ USAR LEGO-MINDSTORMS? ........................................................................ 6

1.2.1.

VENTAJAS: ..................................................................................................................... 6

1.2.2.

DESVENTAJAS ................................................................................................................ 7

1.3.

BREVE HISTORIA DE LEGO:........................................................................................... 7

1.4.

¿QUÉ VIENE CON LEGO? ............................................................................................... 8

2.

DESCRIPCIÓN GENERAL........................................................................................... 10

2.1.

EL RCX:......................................................................................................................... 10

2.1.1.

DESCRIPCIÓN ............................................................................................................... 10

2.1.2.

PUERTOS DE ENTRADA (1, 2,3)..................................................................................... 11

2.1.3.

PUERTOS DE SALIDA..................................................................................................... 12

2.1.4.

BOTONES DE CONTROL: ............................................................................................... 13

2.1.5.

PANTALLA LCD:.......................................................................................................... 13

2.1.6.

PUERTO DE COMUNICACIÓN INFRARROJA.................................................................... 13

2.1.7.

TRANSMISOR DE INFRARROJOS. ................................................................................... 13

2.1.8.

ALIMENTACIÓN:........................................................................................................... 14

2.2.

EL NXT: ......................................................................................................................... 15

2.3.

DIFERENCIAS HARDWARE ENTRE EL NXT Y RCX: .................................................... 20

2.4.

BIBLIOGRAFÍA PARA LA PARTE DE DESCRIPCIÓN: ...................................................... 21

3.

TRANSDUCTORES Y SENSORES:............................................................................. 23

3.1.

DEFINICIONES Y CONCEPTOS PREVIOS: ....................................................................... 23

3.1.1.

SENSOR: ....................................................................................................................... 23

3.1.2.

TRANSDUCTOR:............................................................................................................ 23

3.1.3.

SELECCIÓN DE LOS SENSORES: .................................................................................... 24

3.2. 3.2.1.

SENSORES DE LEGO:...................................................................................................... 24 SENSOR DE TEMPERATURA:......................................................................................... 24

Página 1

ROBOTS LEGO MINDSTORMS

3.2.2.

SENSOR DE CONTACTO: ............................................................................................... 25

3.2.3.

SENSOR DE LUZ:........................................................................................................... 25

3.2.4.

SENSOR DE ROTACIÓN: ................................................................................................ 26

3.2.5.

SENSOR ULTRASÓNICO:................................................................................................ 26

3.2.6.

SENSOR DE SONIDO: ..................................................................................................... 27

3.2.7.

SENSOR DE COLOR HITECHNIC COMPATIBLE CON NXT :........................................... 28

3.2.8.

SENSORES DE PRESENCIA:............................................................................................ 29

3.3.

FABRICACIÓN DE SENSORES PARA LEGO: ................................................................... 30

3.3.1.

SENSOR DE LUZ: ........................................................................................................... 30

3.3.2.

GP2D12 SENSOR DE DISTANCIAS: ............................................................................... 30

3.3.3.

SENSOR DE COLOR: ...................................................................................................... 33

3.3.4.

CONSTRUCCIÓN DE UN SENSOR DE TEMPERATURA RCX COMPATIBLE:...................... 39

3.4.

FABRICACIÓN DE SENSORES PASIVOS: ......................................................................... 44

3.4.1.

SENSORES DE CONTACTO:............................................................................................ 44

3.4.2.

SENSORES DE LUZ: ....................................................................................................... 46

3.4.3.

SENSOR DE HUMEDAD:................................................................................................. 46

3.4.4.

SENSORES DE TEMPERATURA: ..................................................................................... 47

3.5.

FABRICACIÓN DE SENSORES ACTIVOS: ........................................................................ 48

3.5.1. 3.6. 4.

SENSORES DE LUZ REFLECTANTES:.............................................................................. 48 BIBLIOGRAFÍA PARTE DE SENSORES: ........................................................................... 52

MOTORES:...................................................................................................................... 53

4.1.

DESCRIPCIÓN GENERAL ................................................................................................ 53

4.1.1.

MOTORES ¿PARA QUE? ................................................................................................ 53

4.1.2.

PRINCIPIO DE FUNCIONAMIENTO.................................................................................. 53

4.1.3.

MOTOR DE CORRIENTE CONTINUA .............................................................................. 53

4.2.

MOTORES LEGO: ........................................................................................................... 55

4.2.1.

PESO DE CADA MOTOR: ................................................................................................ 56

4.2.2.

CARACTERÍSTICAS EN VACÍO (SIN CARGA):................................................................. 57

4.2.3.

CARACTERÍSTICAS EN PARADO:................................................................................... 57

4.2.4.

CARACTERÍSTICAS EN CARGA:..................................................................................... 58

4.3.

BIBLIOGRAFÍA DE LA PARTE DE MOTORES:................................................................. 62

Página 2

ROBOTS LEGO MINDSTORMS

5.

TRANSMISIÓN DE MOVIMIENTO Y ESFUERZO:................................................ 63

5.1. 6.

BIBLIOGRAFÍA PARTE TRANSMISIONES: ...................................................................... 68 PROGRAMACIÓN ......................................................................................................... 69

6.1.

INTRODUCCIÓN A LA PROGRAMACIÓN PARA LEGO. ................................................. 69

6.2.

RCX-CODE .................................................................................................................... 69

6.2.1.

INTRODUCCIÓN: ........................................................................................................... 69

6.2.2.

COMANDOS .................................................................................................................. 73

6.2.3.

BLOQUES DE CONTROL DE FLUJO ................................................................................. 75

6.3.

INTRODUCCIÓN A ROBOLAB ...................................................................................... 78

6.3.1.

MODOS DE PROGRAMACION................................................................................ 78

6.3.2.

MODO PILOT............................................................................................................... 79

6.3.3.

MODO INVENTOR...................................................................................................... 81

6.3.4.

MODO INVESTIGATOR............................................................................................. 85

6.3.5.

BIBLIOGRAFÍA ROBOLAB ............................................................................................. 86

6.4.

LABVIEW ..................................................................................................................... 86

6.4.1.

¿QUÉ ES LABVIEW?.................................................................................................... 86

6.4.2.

PROGRAMACIÓN GRÁFICA CON LABVIEW ................................................................... 87

6.4.3.

ENTORNO LABVIEW ................................................................................................... 88

6.4.4.

FLUJO DE DATOS .......................................................................................................... 89

6.4.5.

MANEJO DE PUERTOS CON LABVIEW ........................................................................ 90

6.4.6.

PUERTO SERIE .............................................................................................................. 92

6.4.7.

BIBLIOGRAFÍA LABVIEW.............................................................................................. 95

6.5. 6.5.1.

LENGUAJE NQC ............................................................................................................ 95 INTRODUCCIÓN A NQC:............................................................................................... 95

INTRODUCCION A RCX COMMAND CENTER ............................................................ 96 6.5.2.

ESTRUCTURA DE UN PROGRAMA.................................................................................. 99

6.5.3.

CONSTANTES Y VARIABLES ....................................................................................... 100

6.5.4.

INSTRUCCIONES ......................................................................................................... 101

6.5.5.

SENTENCIAS DE CONTROL .......................................................................................... 102

6.5.6.

FUNCIONES Y SUBRUTINAS ........................................................................................ 103

6.5.7.

TAREAS ...................................................................................................................... 105

Página 3

ROBOTS LEGO MINDSTORMS

6.5.8.

SENSORES ................................................................................................................... 105

6.5.9.

SALIDAS ..................................................................................................................... 108

6.5.10.

SONIDOS ................................................................................................................... 110

6.5.11.

BIBLIOGRAFÍA NQC................................................................................................. 111

6.6.

SPIRIT.OCX Y VISUAL BASIC: ..................................................................................... 111

6.6.1.

INTRODUCCIÓN A SPIRIT.OCX .................................................................................... 111

6.6.2.

PROGRAMACIÓN EN VISUALBASIC ............................................................................ 111

6.6.3.

FUNCIONES PARA EL MANEJO DE LAS SALIDAS.......................................................... 121

6.6.4.

FUNCIONES PARA EL MANEJO DE LAS ENTRADAS. ..................................................... 122

6.6.5.

OTRAS FUNCIONES ..................................................................................................... 123

6.6.6.

SENTENCIAS DE CONTROL .......................................................................................... 123

6.6.7.

BIBLIOGRAFÍA SPIRIT.OCX Y VISUALBASIC: ............................................................. 124

6.7.

BRICKOS...................................................................................................................... 125

6.7.1.

CONFIGURANDO E INSTALANDO BRICKOS................................................................ 125

6.7.2.

PROGRAMACIÓN EN BRICKOS ................................................................................... 126

6.7.3.

BIBLIOGRAFÍA BRICKOS ............................................................................................ 130

6.8.

INTERACTIVE C ........................................................................................................... 131

6.8.1. 6.9.

BIBLIOGRAFÍA INTERACTIVE C:................................................................................. 131 LEGOS .......................................................................................................................... 132

6.9.1.

INTRODUCCIÓN ..................................................................................................... 132

6.9.2.

ASPECTOS GENERALES DE LEGOS............................................................................. 132

6.9.3.

ARQUITECTURA DE SOFTWARE USANDO LEGOS....................................................... 132

6.9.4.

EJEMPLOS DE PROGRAMAS......................................................................................... 133

6.9.5.

¿CÓMO SE PROGRAMA DESDE GNU/LINUX? ............................................................. 135

6.9.6.

HERRAMIENTAS RELACIONADAS CON LEGOS ........................................................... 136

6.10.

EMULEGOS................................................................................................................ 136

6.11.

WEBLEGOS ................................................................................................................ 138

6.12.

PROGRAMACIÓN EN JAVA PARA LOS LEGO-MINDSTORMS (LEJOS) ..................... 138

6.12.1.

INTRODUCCIÓN ........................................................................................................ 138

6.12.2.

¿CÓMO USO LEJOS BAJO LINUX? ............................................................................ 138

6.12.3.

CREAR Y EJECUTAR MI PRIMER PROGRAMA LEJOS ................................................. 140

6.12.4.

MOTORES ................................................................................................................. 143

6.12.5.

SENSORES ................................................................................................................. 144

6.12.6.

LCD ......................................................................................................................... 147

6.12.7.

BOTONES .................................................................................................................. 148

6.12.8.

BIBLIOGRAFÍA LEGOS ............................................................................................. 151

Página 4

ROBOTS LEGO MINDSTORMS

7.

LEGO MINDSTORMS EN LA ENSEÑANZA .......................................................... 153

7.1.

TRABAJO CON LEGO MINDSTORMS EN LA ENSEÑANZA............................................ 153

7.1.1.

MÉTODO DE TRABAJO ................................................................................................ 153

7.1.2.

OBJETIVOS: A CONSEGUIR .......................................................................................... 155

7.1.3.

UN CASO PRÁCTICO: VISITA AL GRUPO COMPLUBOT. ............................................... 155

7.1.4.

ALGUNAS ESTADÍSTICAS INTERESANTES ................................................................... 157

7.2.

LEGO MINDSTORMS: VERSIÓN EDUCATIVA VS COMERCIAL .................................... 158

7.3.

ENTORNOS DE PROGRAMACIÓN POR FRANJAS DE EDADES: EVOLUCIÓN ................ 158

7.4.

LABVIEW VS ROBOLAB EN EL ENTORNO EDUCATIVO .............................................. 160

7.5.

BIBLIOGRAFÍA EDUCACIÓN. ....................................................................................... 161

8.

COMPETICIONES LEGO .......................................................................................... 163

8.1.

FIRST LEGO LEAGUE................................................................................................... 163

8.2.

ROBOCAMPEONES ....................................................................................................... 165

9.

ROBOTS LEGO ............................................................................................................ 166

9.1.

UN EJEMPLO MECÁNICO. ............................................................................................ 166

9.2.

UN EJEMPLO DE PROGRAMACIÓN: ............................................................................. 170

10.

PRECIOS ORIENTATIVOS...................................................................................... 172

Página 5

ROBOTS LEGO MINDSTORMS

1. INTRODUCCIÓN 1.1. ¿Qué es LEGO-Mindstorms? Imagina poder construir un robot completo, con sensores, motores, engranajes, reductoras, estructuras, poder programarlo y configurarlo, y todo sin soldar, grapinar, taladrar, pegar o taladrar tornillos. Pues eso es LEGO-Mindstorms, una forma fácil y sencilla de aprender robótica y construir tu propio robot. Lego Mindstorms es una plataforma para el diseño y desarrollo de robots, que sigue la filosofía de la marca LEGO, armar y construir todo tipo de objetos simplemente uniendo bloques interconectables. Pues eso es LEGO Mindstorms, El bloque central es un microcontrolador, al que se le ha añadido un “cáscara” de ladrillo con forma de LEGO. La conexión de sensores y actuadores es muy sencilla, por simple presión en cualquiera de las puertas y en cualquier posición. Las piezas de Lego tienen múltiples formas y tamaños, lo que nos permite construir diversas estructuras, usando los bloques como “ladrillos” o “vigas”.Mediante un PC, se realiza la programación del ladrillo, usando diferentes programas y lenguajes.

1.2. ¿Por qué usar LEGO-Mindstorms? En este apartado indicaremos las principales ventajas y desventajas de utilizar Lego.

1.2.1. Ventajas: -Fácil de montar y desmontar, no es necesario usar soldadura, ni tornillo. Todo lo que se arma se puede desarmar rápidamente. Además, eso permite usar las piezas en múltiples diseños distintos. -Muy extendido por todo el mundo, lo que permite encontrar gran cantidad de información e ideas por Internet, diseños, soluciones, participar en foros, competiciones. -No es un pack cerrado, es decir, se puede comprar más ampliaciones de lego, adquirir piezas deterioradas o perdidas, o añadir piezas echas manualmente, como por ejemplo, sensores o motores, e incluso circuitos neumáticos. -Múltiples posibilidades y lenguajes de programación, desde el nivel más básico e intuitivo, como el Robolab, uso de lenguajes conocidos como C o Java, utilización de Linux…

Página 6

ROBOTS LEGO MINDSTORMS

-Que sea escalable, es decir, que a partir de un material básico haya opciones de ampliación. -Muy indicado para entornos educativos, desde colegios a universidades, pues se puede aprender de forma fácil tanto mecánica como electrónica.

1.2.2. Desventajas -La principal desventaja de LEGO es su estructura. Está formada por bloques de LEGO, que se unen por simple presión. Cierto que se pueden añadir elementos de refuerzo y sujeción, pero para diseños exigentes, no es recomendable. Golpes, caídas, pueden debilitar rápidamente la estructura, llegando a desarmar el robot. -No se pueden construir estructuras circulares, pues todas las piezas y ladridos de LEGO son rectangulares. -Colocación de las baterías. Tanto en el NXT cómo en el RCX de LEGO, se alimentan mediante seis pilas AA R6, que deben ser colocadas dentro del ladrillo. Esto obliga a diseñar el robot con la necesidad de acceder directamente al bloque, para poder cambiar las pilas, limitando la construcción del robot. -Relación masa-volumen. Las piezas LEGO no son útiles en diseños donde la relación masavolumen se hace crítica. Por ejemplo, para construir un robot de SUMO, no sería eficiente, pues la estructura LEGO es demasiado liviana, y se deberían añadir pesos para hacer el robot más robusto, o el caso contrario, para construir robot pequeños, ligeros, y resistentes, las piezas LEGO son mucho peores que los materiales cómo la fibra de carbono. -Precio. Obviamente, comprar un robot “prefabricado”, resulta más caro que construirte tu propio robot.

1.3. Breve historia de LEGO: LEGO, cuyo nombre viene de las palabras en danés "leg godt" ("jugar bien"), y de Mindstorms (tormentas de ideas). Todo empezó en el MIT, dónde se empezaron las investigaciones sobre microcontroladores, que fuesen fácilmente programables, y se conectasen a sensores y actuadores. Allí surgieron los primero ladrillos programables. Fueron especialmente diseñados para niños, jóvenes y estudiantes, para que pudiesen hacer sus primeros “pinitos” en el mundo de la robótica.

Página 7

ROBOTS LEGO MINDSTORMS

Inspirados en el ladrillo del MIT(aunque completamente creado por LEGO, la compañía juguetera lanzó en 1998 al mercado el kit “Robotics Invention System 1.0”,un sistema basado un microcomputador denominado RCX. En España deberíamos esperar hasta 1999, con la versión 1.5 para poder comprarlo. En el 2006 Lego ha lanzado el nuevo modelo, el NXT. Así, las piezas de LEGO, tanta veces usadas para armar y desarmar, se convirtieron en una auténtica plataforma de desarrollo y estudio, implantándose en colegios y universidades.

1.4. ¿Qué viene con LEGO? En las dos plataformas de LEGO vienen las siguientes piezas: Sistema de Invención de Robótica 2.0 En él se incluye el RCX™ Microcomputer con su correspondiente CD-ROM de Software, la Contructopedia™ (dónde podrás encontrar múltiples diseños), con tres desafíos guiados y seis desafíos pro. Además incluye el transmisor infrarrojo, y 718 piezas, entre las que se incluyen dos motores, dos sensores táctiles y un sensor luminoso

Página 8

ROBOTS LEGO MINDSTORMS

LEGO MINDSTORMS NXT incluye el NXT Intelligent Brick con procesador de 32-bit, 3 Servo motores interactivos, un sensor de sonido, un sensor visual ultrasónico, un sensor de tacto mejorado, y un preciso sensor de luz. El kit incorpora 519 piezas de LEGO TECHNIC. Además incorpora 4 puertos (input), 3 puertos (output), altavoces, las tecnologías USB 2.0 y Bluetooth junto con un software de programación compatible con PC y Mac.

Página 9

ROBOTS LEGO MINDSTORMS

2. DESCRIPCIÓN GENERAL La parte mas importante de este tipo de robots es el elemento de control, según el modelo se le conoce por RCX o NXT.

2.1. El RCX: 2.1.1. Descripción Es el cerebro de Robotics Invention System, que contiene el sistema de comandos para el robot. Es una mini computadora integrada en un ladrillo Lego. Se puede programar con un PC o utilizar uno de sus cinco programas que tiene integrados.

El núcleo del RCX es un microcontrolador Hitachi H8, exactamente el H8/3292. Tiene una velocidad de funcionamiento de 16 MHz y esta alimentado con 5V. Tiene una memoria interna ROM de 16 KB que contiene el driver que se ejecuta cuando se alimenta por primera vez el RCX y los programas base para no perderlos en caso de que se desconecte la alimentación, una memoria interna de tipo RAM de 512 bytes y otra externa del mismo tiempo de 32 KB para el firmware (sistema operativo que controla el boque), los programas y configuraciones personales, pues con este tipo de memorias

si se va la

alimentación durante mas de un minuto se perderán sus datos y habrá que volver a cargarlos desde el PC. Tiene dos temporizadores de 8 bits y uno de 16 bit, un conversor analógico/digital de 8 bit y un altavoz integrado, capaz de emitir sonidos sencillos (Beep).

Página 10

ROBOTS LEGO MINDSTORMS

En las siguientes fotografías se muestra como es internamente el modulo RCX. El primero es una vista superior y la segunda inferior.

2.1.2. Puertos de entrada (1, 2,3)

Tiene tres puertos de entrada para los sensores. Dependiendo del tipo de sensores, activos o pasivos, tiene una forma de funcionar distinta. Si los sensores son pasivos, como son el de contacto o el de luz, que no necesitan alimentación utilizan el siguiente hardware.

Página 11

ROBOTS LEGO MINDSTORMS

Si los sensores son activos, necesitan alimentación, pero como solo tenemos dos hilos, y uno es la masa, tenemos que conmutar el otro para poder leer el sensor. El interruptor S se mantiene cerrando durante 3 ms. para alimentar el sensor y durante 0.1 ms. se abre para obtener el estado del sensor.

2.1.3. Puertos de salida

Tiene tres puertos de salida para los actuadotes (motores y lámparas). Cada puerto puede estar en tres estados: on, off y floating. Cada salida tiene solo dos hilos por ello solo tienen una dirección asociada, forward (hacia adelante) y reverse (hacia atrás) y utilizan una modulación por ancho de pulso (PWM). Los pulsos se envían cada 8 ms. y presentan hasta ocho posibles anchos, desde 1ms. (nivel de potencia mas bajo) a 8ms. (nivel de potencia mas alto, potencia continua).

Página 12

ROBOTS LEGO MINDSTORMS

2.1.4. Botones de control:

Son 4 los botones de control. El botón rojo (On-OFF) enciende y apaga el RCX. Los demos solo funcionan cuando el ladrillo controlador esta encendido. El botón verde (RUN) inicia y detiene el programa seleccionado. En este modo el “personaje” de la ventana de visualización aparece andando. El botón gris (PRGM) permite cambiar entre los 5 programas integrados del RCX. El número de programa seleccionado aparece a la izquierda del “personaje” en la ventana de visualización. El botón negro (VIEW) sólo está activo después de descargar el firmware y permite obtener información de los sensores y motores. Se pueden ver las lecturas de sensor en los puertos de entrada 1,2 o 3 y la dirección del motor en los puertos de salida A, B o C.

2.1.5. Pantalla LCD: Es una pantalla de cristal liquido, donde se visualiza es estado del robot.

2.1.6. Puerto de comunicación infrarroja.

A través de el puede comunicarse con el PC o con otros RCX.

2.1.7. Transmisor de infrarrojos.

Página 13

ROBOTS LEGO MINDSTORMS

Sirve para establecer un vínculo inalámbrico entre el PC y el RCX. Con el transmisor de infrarrojos se puedes descargar programas al ladrillo controlador y para ejecutarlos. Para que se establezca una comunicación el RCX y el transmisor infrarrojos deben “verse” el uno al otro con una separación de entre 10m y 15 m aunque en condiciones de iluminación optimas pueden separarse hasta 30 m.

2.1.8. Alimentación:

La alimentación del RCX se lleva a cabo mediante seis pilas de tipo AA/LR6. Se recomienda utilizar alcalinas aunque también se pueden utilizar recargables pero su potencia será menor.

Curiosidades: Al tener esta forma de ladrillo Lego, permite la construcción muy rápida de robots con piezas de tipo ladrillo Lego y de otros tipos.

La primera vez que se enciende el RCX o después de cambiar las baterías tardando más de 1 min., el RCX se encuentra en “Modo de arranque”. En la pantalla de visualización no aparece el reloj.

Página 14

ROBOTS LEGO MINDSTORMS

En el Modo arranque no puedes descargar programas en tu robot porque el RCX necesita el firmware. El firmware es un software especial que permite la comunicación entre tu equipo y el RCX. Se necesita descargar desde el PC.

2.2. El NXT:

En la figura anterior se muestra el NXT brick, es el objeto donde reside todo el control del robot. Para ello, esta compuesto por un microprocesador ARM-7 de 32 bits, el AT91SAM7S256 de Atmel. Este microprocesador de arquitectura Risc incluye 256 KB de memoria flash (no volátil), 64 kB de RAM (volátil) y una velocidad de funcionamiento de 48 MHz. (Ver hojas características para conocerlo con mayor profundidad).

Tiene cuatro botones en la parte superior para utilizar los programas que tengamos instalados, configurarlos y ejecutarlos. También podemos visualizar en la pantalla el estado de los sensores o crear pequeños programas sin necesidad de utilizar el ordenador y programas adicionales. El botón de color naranja tiene como funciones el encendido (ON), la confirmación de acciones (Enter) y el comenzar (Start). Las flechas de color gris son para moverse por los menús y el rectángulo gris oscuro es para limpiar la pantalla (Clear) y volver atrás (Go back).

Página 15

ROBOTS LEGO MINDSTORMS

Mediante una pantalla gráfica de LCD de 1000 x 64 píxel blancos y negros, con un área de visión de 26 x 40,6 mm manejamos el NXT de una manera muy sencilla. El LCD se controla mediante un UltraChip 1601 que se conecta mediante un bus SPI de 2 MHz de velocidad, al ARM7. Lo que se visualiza en el display esta almacenado en memoria como si fuera un array bidimensional (X, Y) y se actualiza cada 17 ms. Podemos emitir sonidos, pues también incluye un altavoz con un sistema de sonido de 8 bits de resolución, 8 Khz. de calidad de sonido y que soporta una frecuencia de muestreo entre 2 y 16 kHz. La señal de salida es una señal PWM controlada por el microprocesador ARM7. Se filtra, pasa por un amplificador diferencial (SPY0030A de SunPlus) de ganancia máxima igual a 20 y sale al exterior por un altavoz de impedancia característica de 16 Ω y un diámetro de 21 mm. A continuación se muestra su esquemático:

Para interactuar con el exterior, esta compuesto por 8 puertos de entrada/salida que se unen mediante conectores muy similares a los de tipo telefónico. Tienen 6 hilos pero tienen la ranura a la derecha en vez de en el medio como el del teléfono. (Para convertir un cable telefónico

al

uno

valido

para

el

NXT

http://philohome.com/nxtplug/nxtplug.htm)

Página 16

visitar

el

siguiente

enlace:

ROBOTS LEGO MINDSTORMS

Los puertos de salida son el A, el B y el C y son para los motores. El siguiente esquemático muestra en detalle un puerto de salida.

MA0 y MA1 son señales de salida para controlar a los actuadotes. El pin 3 es masa y el pin 4 es Vcc que esta conectado internamente a todos los Vcc de todos los puertos tanto de entrada como de salida. TACHOA0 y TACHOA1 son señales de entrada al microcontrolador ARM-7.

Los puertos de entrada son el 1, el 2, el 3 y el 4 y son para los sensores. Como antes, mostramos el esquemático de un puerto de entrada.

El pin 1, ANA es un pin analógico conectado a un convertidor analógico/digital del procesador AVR y también a un generador de corriente para alimentar al sistema sensorial. Los pines 5 y 6, DIGIAI0 y DIGIAI1, son pines digitales de entrada/salida usados para la comunicación digital con el ARM-7 mediante un bus I2C a una velocidad de 9600 baudios. El puerto 4 puede funcionar como un puerto de alta velocidad. Un RS485 esta implementado en el interior el puerto. Esto permite una comunicación bidireccional de alta velocidad.

Página 17

ROBOTS LEGO MINDSTORMS

También consta de un puerto USB de gran velocidad (12Mbits/s) que se encuentra al lado de los puertos de salida, es el primero de la parte superior derecha.

La gestión de las entradas y salidas es llevada a cabo por un procesador AVR de 8 pines, el ATmega48 de Atmel. Que tiene 4 kB de memoria Flash, 512 B de RAM y una velocidad de funcionamiento de 8 MHz. Sus funciones mas importantes son el control de la alimentación, la creación de las señales de salida PWM para los motores y la conversión A/D de las señales de entrada de los sensores. Se conecta con el microprocesador ARM7 a través de un bus I2C. A causa de las limitaciones del ARM7, esto solo funciona como maestro en la comunicación por el I2C.

Para la gestión del Bluetooth tiene otro microcontrolador de la empresa CSR (Cambridge Silicon Radio), llamado BlueCoreTM 4 y una memoria Flash externa de 8 Mbit, que contiene todo el hardware necesario para una comunicación inalámbrica. Se conecta al ARM7 a través de un modulo SPI (Interfaz serie sincronía) y un modulo UART (Transmisor-Receptor Asíncrono Universal). Gracias a este sistema pueden conectarse hasta 4 NXT-brick a la vez, uno como maestro y los otros tres como esclavos, pero solo puede comunicarse con uno en un mismo tiempo.

Como fuente de alimentación podemos utilizar 6 pilas AA o una batería recargable de litio, que se conecta en la parte inferior del modulo NXT.

Página 18

ROBOTS LEGO MINDSTORMS

A continuación se muestra un dibujo donde se representan los componentes del controlador y su interconexión con otros componentes:

Página 19

ROBOTS LEGO MINDSTORMS

2.3. Diferencias hardware entre el NXT y RCX: RCX

NXT

Nº puertos salida

3

3

Nº puertos de entrada

3

4

NO

SI

Compatibilidad con IR

SI

NO

Compatible con Bluetooth

NO

SI

SI

SI

Velocidad de motor

100

100

Sonidos

6 beeps

Infinitos

Drive straight

NO

SI

On-board variables

64

100-100

Display control

Números

Texto, imágenes, números

Nº de programas cargados

5

Infinitos

Programación sobre el brick

NO

SI

Usa nuevos y viejos sensores

NO

SI

Unión con el ordenador por

NO

SI

NO

SI

Sistema

de

batería

recargable

Comunicación

múltiple

de

bricks

cable rápido Gráficos en display en placa

A pesar de las diferencias que tienen, se pueden usar los motores y los sensores del RCX para el nuevo NXT. Esta conexión se facilita gracias al siguiente cable de conexión.

Cuya función es unir el PIN1 y el PIN2 con los hilos del conector antiguo.

Página 20

ROBOTS LEGO MINDSTORMS

Diferencias generales entre RCX y NXT:

2.4. Bibliografía para la parte de descripción: http://mindstorms.lego.com/ : sobre el NXT, hay PDF con toda la descripción hardware (lego X’treme).http://www.etse.urv.es/~aoller/robmob_eaiei/LEGO%20MindStorms%20RIS.htm:

sobre

el

RCX http://complubot.educa.madrid.org/inicio.php?seccion=principal pagina de los niños de alcala

Página 21

ROBOTS LEGO MINDSTORMS

Archivos en PDF de la universidad politecnica de Cataluña sobre Robotic invention system (http://bibliotecnica.upc.es/bustia/arxius/40427.pdf ), de la universidad de las Palmas de Gran Canaria sobre una practica sobre sistemas roboticos moviles (http://serdis.dis.ulpgc.es/~iisrm/MatDocen/notas_practicas/Prac_1-2/Practica1y2.pdf ).

Otras paginas visitadas:

http://nxtbot.com/blog/?p=133 -> costruccion con lego rcx de juego de bolas http://www.micromundos.com/solutions/mwexroboticspage2.html foto lego_mosca http://www.donosgune.net/2000/ documento educación robots http://legolab.daimi.au.dk/ robots lego para investigación http://www.crynwr.com/lego-robotics/ sobre RCX http://gonzo.teoriza.com/2005/08/03/robotica-con-lego-mindstorms/ http://graphics.stanford.edu/~kekoa/rcx/ http://www.lego.com/eng/education/mindstorms/home.asp?pagename=rcx http://robotics.benedettelli.com/

Página 22

ROBOTS LEGO MINDSTORMS

3. Transductores y Sensores: 3.1. Definiciones y conceptos previos: 3.1.1. Sensor: Dispositivo sensible que utiliza un fenómeno físico o químico dependiente de la naturaleza y el valor de la magnitud físico química a medir, lo cual permite la transducción del estímulo a una señal utilizada directa o indirectamente como medida. Como sabemos un sensor es un dispositivo capaz de detectar diferentes tipos de materiales, con el objetivo de mandar una señal y permitir que continúe un proceso.

3.1.2. Transductor: Un transductor es un dispositivo que transforma un tipo de variable física (por ejemplo, fuerza, presión, temperatura, velocidad, etc.) en otro. Un sensor es un transductor que se utiliza para medir una variable física de interés. Algunos de los sensores y transductores utilizados con más frecuencia son los calibradores de tensión (utilizados para medir la fuerza y la presión), los termopares (temperaturas), los velocímetros (velocidad). Cualquier sensor o transductor necesita estar calibrado para ser útil como dispositivo de medida. La calibración es el procedimiento mediante el cual se establece la relación entre la variable medida y la señal de salida convertida. Los transductores y los sensores pueden clasificarse en dos tipos básicos, dependiendo de la forma de la señal convertida. Los dos tipos son: Transductores analógicos: Proporcionan una señal analógica continua, por ejemplo voltaje o corriente eléctrica.

Esta señal puede ser tomada como el valor de la variable física que se

mide. Transductores digitales: Producen una señal de salida digital, en la forma de un conjunto de bits de estado en paralelo o formando una serie de pulsaciones que pueden ser contadas. En una u otra forma, las señales digitales representan el valor de la variable medida.

Los

transductores digitales suelen ofrecer la ventaja de ser más compatibles con las computadoras digitales que los sensores analógicos en la automatización y en el control de procesos.

Página 23

ROBOTS LEGO MINDSTORMS

3.1.3. Selección de los Sensores: La selección se basa en la decisión sobre cual es el sensor más adecuado. Esto depende del material del objeto el cual debe detectarse. Si el objeto es metálico, se requiere un sensor inductivo. Si el objeto es de plástico, papel, o si es líquido (basado en aceite o agua), granu1ado o en polvo, se requiere un sensor capacitivo. Si el objeto puede llevar un imán, es apropiado un sensor magnético.

Sensores activos y pasivos: Los sensores pasivos, no necesitan alimentación para funcionar. Los sensores activos, por otra parte, son los que necesitan su propia alimentación. Una manera fácil de distinguir los sensores activos de los pasivos es contar el número de pines que tienen. Lo sensores activos tienen un tercer pin extra para obtener la alimentación, mientras que los sensores pasivos sólo tiene dos.

Conector para sensores pasivos. Conector para sensores activos.

Los sensores activos son más complejos, pero abren una amplia gama de posibilidades de detección. Entre los ejemplos de sensores activos se incluyen los sensores infrarrojos [que detectan presencia y distancia], los sensores de efecto Hall [que detectan los campos magnéticos], los sensores de ruido, los sensores de vibración, etc.

3.2.

Sensores de Lego:

3.2.1. Sensor de Temperatura: El sensor de temperatura permite leer el valor aproximado de la temperatura, mediante la interacción de un termistor en uno de los extremos, generando un campo magnético que permite la detección aproximada de la temperatura del bloque que lo contiene. El bloque original de Lego posee un termistor de 12 kΩ a 25 ºC con un coeficiente de corrección aproximado de un -3,7%/ºC

Página 24

ROBOTS LEGO MINDSTORMS

La fórmula Temp = (785 − RAW) / 8 puede determinar la temperatura detectada por el sensor. Funciona en un rango de temperaturas entre –20 y +50 grados Celsius. El RCX puede leer y mostrar las lecturas en grados Celsius o Fahrenheit (ref. W979889).

3.2.2. Sensor de Contacto: El sensor de contacto permite detectar si el bloque que lo posee ha colisionado o no con algún objeto que se encuentre en su trayectoria inmediata. Al tocar una superficie, una pequeña cabeza externa se contrae, permitiendo que una pieza dentro del bloque cierre un circuito eléctrico comience a circular energía, provocando una variación de energía de 0 a 5 V. En este caso, si la presión supera una medida estándar de 450, mostrado en la pantalla de LCD, se considera que el sensor está presionado, sino está sin presión. Este Sensor se puede utilizar para determinar cuando un Robot toca algo con el fin de que tome la decisión de regresar o cambiar de dirección. (ref. W779911).

3.2.3. Sensor de Luz: El sensor de luz permite tomar una muestra de luz mediante un bloque modificado que un extremo trae un conductor eléctrico y por el otro una cámara oscura que capta las luces. Esta cámara es capaz de captar luces entre los rangos de 0,6 a 760 lux. Este valor lo considera como un porcentaje, el cual es procesado por el bloque lógico, obteniendo un porcentaje aproximado de luminosidad. El bloque RCX calcula con la fórmula Luz = 146 − RAW / 7 para determinar el porcentaje obtenido por la lectura de la luz, tomando una muestra cada 2,9 ms, siendo leído en 100 us. , el valor que se lee a partir del sensor.

Página 25

ROBOTS LEGO MINDSTORMS

Debido a que este sensor capta grados de luminosidad, no es capaz de distinguir colores, sólo captando la existencia del blanco (claridad), negro (oscuridad) y los tonos de grises que corresponden a los distintos porcentajes de luz existentes en el medio. (ref. W779758).

3.2.4. Sensor de Rotación: El sensor de rotación permite conocer la posición del robot en cualquier instante. Para conocer la posición del robot, el sensor produce una variación de energía entre cuatro estados, los cuales son detectados cada 2,9 ms. y procesados por el bloque RCX durante 100 us, en los cuales pasa entre cuatro estados de energía: 2,0volts

->

4,5

volts

->

1,3

volts

->

3,3

volts

(en

sentido

horario)

3,3 volts -> 1,3 volts -> 4,5 volts -> 2,0 volts (en sentido antihorario) Con estos estados se permite verificar cuantas variaciones de energía han sucedido desde la lectura. Cada voltaje representa un giro aproximado de 22,6º del sensor, por lo tanto existiendo cerca de 16 ciclos de voltaje para detectar un giro completo. El problema de esta lectura es a bajas velocidades, debido a que genera unas minúsculas variaciones de energía, debido a que los valores intermedios no son considerados como movimiento válido. Lee 16 posiciones de rotación con un máximo de 500 revoluciones por minuto (RPM). El RCX puede leer tanto ángulos de rotación como dieciseisavas partes de un giro completo. (ref. W979891).

3.2.5. Sensor ultrasónico: El sensor Ultrasónico sólo se incluye en el empaque de Lego Mindstorms NXT, y su principal función detectar las distancias y el movimiento de un objeto que se interponga en el camino

Página 26

ROBOTS LEGO MINDSTORMS

del robot, mediante el principio de la detección ultrasónica. Este sensor es capaz de detectar desde 0 a 255 cms, con una precisión relativa del +/- 3 cms.

Mediante el principio del eco, el sensor es capaz de recibir la información de los distintos objetos que se encuentren en el campo de detección, teniendo un mejor reflejo del eco los elementos planos que los curvos, como pelotas u otros elementos similares. Una advertencia que se realiza es acerca de las conexiones múltiples de este sensor, ya que se puede detener la ejecución y/o lectura de los distintos elementos. El sensor estará configurado por defecto para medir la distancia a un objeto, pero también puede ser capaz de medir las distancias hasta un máximo de 8 objetos en un único periodo de medida.

3.2.6. Sensor de sonido: El sensor incluido en el nuevo LEGO MindStorms NXT permitirá programar robots que respondan ante un nuevo estímulo como lo es el sonido. Las características del sensor permitirán programarlo para que realice una tarea cuando una persona le da una orden o que haga otra cuando varias personas le den la misma orden de modo simultáneo. El sensor de sonido también puede reconocer patrones de sonido. Por ejemplo, puede programarse el robot para desarrolle un comportamiento en concreto mientras que con dos palmadas haga algo totalmente diferente. El sensor también es capaz de discriminar tonos.

Página 27

ROBOTS LEGO MINDSTORMS

3.2.7. Sensor de Color HiTechnic Compatible con NXT : El sensor de color compatible con NXT está diseñado para detectar con precisión el color de un objeto, el sensor de color es perfecto para construir un organizador de ladrillos o cualquier otro diseño que requiera detección de color. El sensor de color funciona iluminando la superficie del objetivo con tres fuentes de luz coloreadas (Diodos emisores de luz o led): uno rojo, otro verde y el tercero azul. La diferencia entre la luz ambiente y el aumento debido a las fuentes de luz del sensor es utilizada para medir la luz de cada color absorbida por la superficie del objeto. Los tres valores de color se procesaran para corregir la dispersión en el espectro de emisión de cada uno de los led. El NXT recibe tres valores: el nivel de ROJO, el nivel de VERDE y el nivel de AZUL. El valor correspondiente a cada color está comprendido entre 0 y 255. por ejemplo, si el valor devuelto es Rojo =255, Verde =255 y Azul =255 el color leído es el Blanco. La siguiente tabla muestra las lecturas que devolverán algunos colores: Color

Rojo Verde Azul

Negro

0

0

0

Blanco

255

255

255

Rojo

255

0

0

Verde

0

255

0

Azul

0

0

255

Amarillo

255

255

0

El sensor actualiza las lecturas a razón de 100 muestras por segundo. Las características del modo de control del sensor de color permiten dos tipos de calibración a efectuar por el programa del NXT. La calibración por nivel de negro puede utilizarse para eliminar reflejos no deseados provenientes de la estructura en la que el sensor está colocado. La calibración por balance de blancos puede utilizarse para adecuar la sensibilidad del sensor para cada uno de los tres led cuando ilumina una superficie blanca a una distancia determinada. El modo de control por defecto es el 0, modo normal de medición. Si el modo de control se establece en 1, el sensor operará en modo calibración de balance de blancos y esperará ser dirigido a una superficie blanca difusa a una distancia de unos 15 mm. Cuando la función

Página 28

ROBOTS LEGO MINDSTORMS

calibración finaliza, los led destellarán y el modo de funcionamiento pasará automáticamente a 0, modo normal de medida. El proceso calibración dura alrededor de ¼ segundo. El valor de calibración se almacena en memoria no-volátil y será recuperado cada vez que se aplica tensión al sensor. Si el modo de control se establece en 2, el sensor operará en modo calibración de nivel de negro y esperará ser situado en espacio vacío sin objetos en un cono de 90º en una distancia de al menos 0.5m. La función calibración nivel de negro mide la señal de cada color y crea un desplazamiento (offset) para anular el nivel de luz ambiente en futuras mediciones. Cuando la función calibración finaliza, los led destellará y el modo de funcionamiento pasará automáticamente a 0, modo normal de medida. El proceso calibración dura alrededor de 1 segundo. Esta función puede ser utilizada para contrarrestar señales devueltas por partes de la estructura circundante. El valor de calibración se almacena en memoria no-volátil y será recuperado cada vez que se aplica tensión al sensor.

3.2.8. Sensores de presencia: Están hechos con un Opto-Switch que contiene una fuente IR y un fototransistor separados por una ranura de 0.15 pulgadas. Cuando se inserta un objeto en la ranura, la luz no alcanza al fototransistor, que se pone en corte. Cuando el objeto se retira, el fototransistor conduce de nuevo.

La ranura es suficientemente ancha para acomodar varias piezas Lego. En particular, una rueda de 0.95 pulgadas con 6 huecos, de modo que bloquea el haz infrarrojo 6 veces por revolución. El sentido de la rotación no se puede determinar monitorizando la señal del fototransistor, pero esto es irrelevante si la rueda se halla conectada al motor, cuyo sentido de giro es conocido.

Página 29

ROBOTS LEGO MINDSTORMS

3.3.

Fabricación de sensores para Lego:

3.3.1. Sensor de luz: Introducción: Probablemente tendrás en el aula uno o más sensores de luz Lego, pero si necesitas alguno más lo puedes hacer de un modo muy sencillo. Además te saldrá mucho más económico que el comercial. En cuanto al material, el único elemento electrónico que necesitas es un LDR. Lo puedes comprar en cualquier comercio de electrónica, en la figura puedes ver el LDR y las dos piezas de Lego necesarias (el LDR de la figura tiene la referencia MKY 76C348). Circuito: El circuito es muy sencillo, y del mismo modo que sucede con el resto de resistencias no es necesario tener en cuenta la polaridad. Montaje: Hay diferentes modos para montar este sensor. El más simple es cortar un cable de los utilizados para conectar motores y sensores, y soldar directamente el LDR a él. Otro es el que se puede ver en la figura. El LDR tiene sus terminales soldadas a los conectores de la pieza blanca inferior. De este modo, podremos conectar el sensor por medio de un cable estándar Lego. Programa: El sensor que hemos montado a pesar de ser un sensor de luz es un sensor pasivo, es decir, no requiere alimentación. En consecuencia, en lugar de configurarlo como sensor de luz lo haremos como sensor de contacto en modo RAW (también es posible configurarlo en modo porcentual, pero siempre la precisión será mayor en modo RAW). Notas: Existe otro componente electrónico de semejante comportamiento al LDR, cuya resistencia varía con el cambio de temperatura. Con él es posible hacer un sensor de temperatura.

3.3.2. GP2D12 Sensor de distancias: Lo que se intenta conseguir con este sensor es añadir potencia al conjunto de Lego, ya que aunque tiene un buen con junto de sensores, nos faltaría uno para medir distancias y que fuera barato. Lo que conseguimos adaptando este pequeño sensor.

Página 30

ROBOTS LEGO MINDSTORMS

Estos dispositivos infrarrojos pequeños pueden medir distancia entre 10 y 80 centímetros con buena precisión y bastante inmunes a las variaciones producidas por la reflectividad de los obstáculos y de la luz ambiente. Para poder conectar el sensor con salida análoga GP2D12 usando un diseño lo más simple posible y utilizando solo la energía que viene de la entrada del sensor. ¡Esto supone un verdadero desafío debido a los 35mA del GP2D12 por debajo de 5V, mientras que la entrada del sensor de RCX se encuentra limitada a 14mA! El concepto principal para alcanzar esta meta seria: almacenar la energía en un condensador mientras que el GP2D12 no se acciona, una vez cargado utilizaremos la carga para obtener una medida. Por supuesto hay un pequeño problema con esta técnica: el tiempo de la carga es largo. ¡El GP2D12 requiere 50ms por medida, mientras que el circuito necesita 300ms! Con el siguiente circuito, podemos ver que durante 250ms, se configura el sensor mientras que se acciona un pequeño sensor, entonces se carga C1 con D1 hasta alcanzar el valor necesario para obtener una medición. El regulador U1 de la entrada genera una tensión regulada de +5V. Q1 es cortado por D2 (D2 mantiene la base a una tensión más alta o igual a su tensión del emisor), así que GP2D12 no se acciona.Q3 también esta en corte, por lo que la corriente no atraviesa D3/R5/Q2. La única corriente significativa es la de la carga C1 que con R1 se hace menor de 2mA, y al final de esta fase C1 se carga completamente. Fase de la medida: Durante los 50ms siguientes, el sensor se configura como sensor de tacto (pasivo). Como la tensión de +5V con 10KΩ (interior RCX), que existe a su entrada

resulta

escasa para bloquear Q1. Q1 y Q3 entonces entran en conducción y se acciona GP2D12. Q2, montado como seguidor del emisor, protege la salida GP2D12 que ofrece unos valores correspondientes a la medida tomada validos para RCX. Código de la muestra para leer el sensor:

Página 31

ROBOTS LEGO MINDSTORMS

SetSensor

(SENSOR_1,

SENSOR_LIGHT);

Espera

(25);

SetSensor

(SENSOR_1,

SENSOR_TOUCH);

Espera

(5);

SetSensorMode

(SENSOR_1,

distancia Carga

SENSOR_MODE_RAW);

= de

SENSOR_1;

//Enable

C1

cuanto

antes

SetSensor (SENSOR_1, SENSOR_LIGHT); Lista De Componentes: D1 evita que se destruya el sensor en caso de la conexión inversa. No utilizar el rectificador usado en el sensor de Lego que permite a los sensores trabajar cuando está conectado al revés (el número de diodos necesarios salta a partir del 3 al 8). Utilizamos el diodo 1N5819 de 1 amperio Shottky para D1, que es barato y fácilmente disponible. Con un pequeño voltaje a la entrada, en este caso menos de 0.1V para la corriente que lo atraviesa, éste permite cargar C1 con el voltaje más alto posible. C1 almacena la energía que será utilizada durante fase de medida. Debe proporcionar +5V en el extremo de esta etapa. Los valores típicos asumidos para el GP2D12 (I=35mA, conversión time=50ms) y un +7.5V inicial a través de C1, su valor son C = I * despegue/dV = 35 * 50/(7.5-5) = el µF 700. Margen pequeño con el µF 1000… Para U1 utilizamos un Telcom TC55RP5000 aunque también podemos utilizar otros reguladores como STMicroelectronics L4931-50. Los reguladores estándares tales como el 78L05 no nos sirven porque requieren más de +7V en la entrada para conseguir tomar un dato valido a la salida. Para Q1 podemos utilizar un transistor de Zetex de alto rendimiento, como el ZTX718 que ofrece un rápido aumento de intensidad. El C2 estabiliza U1 y permite absorber los picos de corriente. Lo mejor seria una versión barata del ESR. Construcción del módulo de interfaz del sensor

El módulo de interfaz. Vista superior

Página 32

ROBOTS LEGO MINDSTORMS

Vista superior, con la identificación de los

Viste inferior. Un circuito impreso de una capa es fácil de dibujar.

componentes

Todo introducido dentro de las piezas

Para el montaje se usan 3 ladrillos huecos 4x2

Terminar el módulo.

Listo para ser usado

Distancia contra la lectura del sensor

Curva linealizada: 1000/(distance-2) contra la lectura del sensor + línea lo más mejor posible cabida

3.3.3. Sensor de color: Construcción: Las piezas necesitadas para construir el circuito están muy comunes y disponibles de la mayoría de los surtidores electrónicos. Los lectores al corriente de mi libro extremo de Mindstorms deben reconocer el método de la construcción ilustrado en los cuadros 3 y 4. Primero construyes y pruebas el circuito en un tablero para cortar el pan

Página 33

ROBOTS LEGO MINDSTORMS

electrónico y en seguida transfieres las piezas al tablero de PC relacionado del prototipo. Aunque el método trabaja bien, los resultados adentro no son muy compactos y hay una ocasión de los errores del cableado. Por esta razón, he preparado un tipo pequeño tablero del por-agujero de PC para hacer el edificio y la cubierta el circuito más fácil.

El cuadro 5 demuestra el tablero de PC poblado con tres fotocélulas de los CDes para los sensores. Las fotocélulas particulares usadas (Mouser #338-54C348) son bastante pequeñas caber en la poca área ahuecada alrededor de los agujeros en vigas de la técnica de Lego. Los pedazos cortos de tubería aislada resbalaron sobre el plomo infundado de las fotocélulas evitan el poner en cortocircuito durante la operación. Las tres fotocélulas se deben alimentar a través de la viga antes de soldar al tablero de PC. Una caja del caramelo de Tictac® proporciona un recinto simple para el proyecto terminado según las indicaciones del cuadro 6. La conexión al RCX es hecha cortando un alambre del motor de Lego #5111 9V por la mitad.

Alternativamente, el tablero de PC es bastante pequeño para que el proyecto sea contenido en una caja de la batería de #5391 Lego 9V. Esto es un recinto práctico con un conectador construido a la derecha en la tapa. Es más fácil conectar los sensores con un pedazo corto de alambre del cuatro-conductor al usar esta caja. Los alambres cortos soldaron a los postes donde la batería 9V habría unido pares el circuito al conectador de Lego en la tapa de la caja.

Página 34

ROBOTS LEGO MINDSTORMS

Sensor de color: La detección del color depende de medir la intensidad de la luz en diversas longitudes de onda. Un espectrómetro hace esto partiendo la luz con un prisma o una rejilla de difracción en sus longitudes de onda componentes. Sin embargo, los espectrómetros son complejos y demasiado difíciles de construir. Otro acercamiento mide la intensidad de luz en tres vendas del color primario: rojo, verde, y azul. Entonces calcula el color o la tonalidad de la luz en software. La tonalidad es un solo número que describe el color total de una luz. Se extiende a partir de la 0 a 360, como los grados del ángulo alrededor de un círculo. En el caso de tonalidad: 0 es rojo, 120 es verde, 240 es azules y 360 está detrás alrededor al rojo otra vez. Los colores intermedios tienen tonalidades como 60 para el amarillo, 180 para ciánico y 300 para la magenta. El cálculo de la tonalidad de valores rojos, verdes y azules es un algoritmo simple descrito más adelante. Mi primer acercamiento era utilizar las lentes coloreadas del LED para los filtros. Puedes verlos en el cuadro 3. Resultaron ser demasiado pálidos y de color para las medidas exactas. Entonces investigué con las placas transparentes de Lego. Son rojo disponible, verde y azul en el kilt de accesorios transparente de Lego #5316. Tapan perfectamente en los agujeros de las vigas de la técnica para formar los filtros para los sensores de los CDes demostrados en el cuadro 6. Después de la experimentación substancial, encontré que las placas azules y verdes eran demasiado pálidas para el uso individualmente. Apilar dos placas verdes y tres azules creó bastante densidad del filtro para la buena medida de color. El espectro real del color de los filtros que resultan se puede considerar por la luz del sol que fotografía que brilla a través de ellos con una rejilla de difracción según las indicaciones del cuadro 8.

La sensibilidad espectral de la fotocélula es otro factor importante en la determinación de la exactitud de la medida de color. No todas las fotocélulas de los CDes son semejantes en este respeto. El mejor tipo para la discriminación de color se llama Type 5. Tiene sensibilidad máxima aproximadamente 560nm en la parte verde del espectro. La mayoría de los otros tipos de la fotocélula tienden para ser sensibles demasiado rojo o aún infrarrojo. He experimentado con las fotocélulas de varias fuentes y encontré el Mouser #338-54C348 tengo la mejor respuesta espectral tan bien como la geometría deseable para montar mencionada previamente.

Página 35

ROBOTS LEGO MINDSTORMS

Descripción del programa: Enumerar 1 es no absolutamente un programa de C que controla el multiplexor y convierte las intensidades rojas, verdes y azules en un valor de la tonalidad. Da vuelta al RCX en un colorímetro simple continuamente exhibiendo la tonalidad en su LCD. Usar el sensor para construir un compaginador robótico del ladrillo de Lego sería un uso más útil del sensor.

Programa de la demostración del sensor del color de // // de Michael Gasperi Sensor del COLOR SENSOR_1 //color del #define en el puerto 1 del sensor Espera del #define SHORT_WAIT 2 //short para que valor se estabilice tonalidad interna;

//hue como global

cañería de la tarea () { r interno, g, b, máximo, minuto, d, rd, gd, bd, h;

//declare el resto de

las variables SetUserDisplay (tonalidad, 0);

exhibición de //set para demostrar

valor de la tonalidad SetSensor (COLOR, SENSOR_LIGHT);

//power en el sensor haciéndote el tipo

de la luz mientras que //loop (verdadero) por siempre { ¡mientras que (COLOR! de = el canal 0 del mux 100) //only leerá 100 { SetSensor (COLOR, SENSOR_TOUCH); //power del sensor haciendo tacto SetSensor (COLOR, SENSOR_LIGHT); energía de //reapply de accionar la palanca del canal Espera (SHORT_WAIT); PlaySound (SOUND_LOW_BEEP);

//wait para que lectura se estabilice sonido de //alarm

} SetSensor (COLOR, SENSOR_TOUCH); energía de //toggle de cambiar al canal 1 SetSensor (COLOR, SENSOR_LIGHT); Espera (SHORT_WAIT); r = COLOR*100;

//read el rojo y la escala por 100

SetSensor (COLOR, SENSOR_TOUCH); energía de //toggle de cambiar al canal 2

Página 36

ROBOTS LEGO MINDSTORMS SetSensor (COLOR, SENSOR_LIGHT); Espera (SHORT_WAIT); g = COLOR*100;

//read el verde y la escala por 100

SetSensor (COLOR, SENSOR_TOUCH); energía de //toggle de cambiar al canal 3 SetSensor (COLOR, SENSOR_LIGHT); Espera (SHORT_WAIT); b = COLOR*100;

//read la escala de color azul por 100

SetSensor (COLOR, SENSOR_TOUCH); energía de //toggle de cambiar al canal 0 SetSensor (COLOR, SENSOR_LIGHT); si (r>g) {máximo = r;}{máximo = g;} //find el color con intensidad máxima si (b>max) {max=b;} si (r
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF