Se emplea el sketch del ejemplo 3.2 y los módulos Xbee previamente configurados como se trató en el capítulo 2 – Diseño y Entorno del Sistema. Las direcciones de los módulos son: 1735 y 6921 para Xbee del ordenador y robot respectivamente en configuración Punto a Punto.
El módulo Xbee Explorer se conecta al ordenador y con X-CTU se verifica si el dispositivo está disponible y funcionando correctamente con la herramienta “Test”. Si el módulo Xbee se encuentra conectado al Shield, el switch debe permanecer en la opción DLINE y cambiarlo a UART al finalizar el cargado del sketch.
La alimentación se efectúa con la fuente externa y el cable USB desconectado para evitar daños a la placa. Arduino reinicia automáticamente el programa al cambiar la fuente e inmediatamente se despliegan los caracteres 0 a 99 en ciclo infinito en la pantalla del X-CTU como se observa en la Figura 3.2.
87 | Página
3.4. Comunicación PC – Arduino - 1
Este es un programa que permite la comunicación del ordenador con Arduino utilizando los módulos Xbee. Se envía un número decimal entero cualquiera del ordenador hacia el Arduino través de la pestaña “Terminal” de X-CTU, el programa realiza un desplegado en pantalla donde muestra el dato ingresado y el resultado al multiplicarlo por 2. Es un programa sencillo pero permite el intercambio y manipulación de datos entre computadora y Arduino. En la Figura 3.3 se muestra la captura de pantalla de un ejemplo al ingresar los números 5, 9 y 7 con los resultados de sus productos.
88 | Página
3.5. Comunicación PC – Arduino - 2
El sketch permite encender y apagar el led conectado al pin13 del microcontrolador que se ubica directamente en la placa Arduino empleando la comunicación WPAN de Xbee. En la Figura 3.4 se observa el resultado al ingresar el carácter “a” a través de la pestaña Terminal de X-CTU que ordena el encendido del led y el apagado al ingresar el carácter “b”. Este programa demuestra la interacción correcta de intercambio de datos y control de un dispositivo, en este caso un led.
89 | Página
3.6. Rutinas de Movimiento del robot mediante Xbee
Esta prueba demuestra la ejecución de rutinas de movimiento de extremidades del robot explorador, desplazamiento vertical, hacia delante, atrás, izquierda y derecha. Estas rutinas se configuran conociendo el tipo de locomoción que permite la estructura y el ángulo en que se debe ubicar cada servomotor, los cuales permiten un desplazamiento de 0° a 180°. En la Figura 3.5 se muestra la inicialización del sistema y petición de comando para ejecutar los movimientos, los cuales se mostrarán de forma individual con su comando específico en pruebas posteriores.
90 | Página
3.6.1. Desplazamiento Vertical (Lagartijas)
Se realiza un movimiento vertical que simula al de las lagartijas. Se carga el programa correspondiente al Arduino y se energiza empleando la batería, en X- CTU se visualizará inmediatamente el mensaje de la Figura 3.6 que indica la disponibilidad del sistema para la recepción de datos, la rutina de movimiento vertical se inicia con el número “3” y se despliega el nombre del movimiento respectivo como se observa en la Figura 3.7.
Figura 3.6. Inicialización de movimiento de lagartijas
91 | Página
3.6.2. Test de Desplazamiento de Extremidades
El sketch permite que los servomotores se desplacen desde un rango mínimo de 0° a un máximo de 180° para cada extremidad, iniciando por la delantera izquierda, seguida por delantera derecha, trasera izquierda y por último trasera derecha. La alimentación debe realizarse por batería ya que el puerto USB no proporciona la corriente necesaria para hacer funcionar todos los servomotores a la vez. Inmediatamente conectada la batería se visualiza el mensaje que indica que el sistema está disponible para la recepción de datos, iniciando la rutina de test de desplazamiento con el número “7” como se muestra en la Figura 3.8. El movimiento correspondiente se observa en la Figura 3.9
El objetivo del test es verificar el correcto funcionamiento de las cuatro extremidades a fin de detectar y corregir fallas mecánicas antes de iniciar la operación completa del sistema.
92 | Página
93 | Página
3.6.3. Desplazamiento Hacia delante
En esta prueba el sketch permite el desplazamiento continuo hacia delante que se
inicia al ingresar el número “8” a través de X-CTU (Figura 3.10). Del mismo modo que en las pruebas anteriores, se energiza por medio de la batería. En la Figura 3.11 se observa el desplazamiento del robot.
Figura 3.10. Inicialización del Desplazamiento Hacia Adelante
94 | Página
3.6.4. Desplazamiento Hacia Atrás
En esta ocasión el desplazamiento es en reversa y se inicializa con el número “2”
(Figura 3.12), el movimiento que se observa en la Figura 3.13.
Figura 3.12. Inicialización del Desplazamiento Hacia Atrás
95 | Página
3.6.5. Desplazamiento Hacia la Derecha
El desplazamiento hacia la derecha se ejecuta al ingresar el valor “6” (Figura 3.14) que da inicio al movimiento de giro que se observa en la Figura 3.15.
Figura 3.14. Inicialización del Movimiento de Giro a la Derecha
96 | Página
3.6.6. Desplazamiento Hacia la Izquierda
En esta ocasión el desplazamiento es hacia la Izquierda. En la Figura 3.16 se
muestra la captura donde se ingresa el valor “4” que da inicio al movimiento de la
Figura 3.17.
Figura 3.16. Inicialización del Movimiento de Giro a la Izquierda
Figura 3.17. Giro a la Izquierda
Concluidas las pruebas de movimiento y comunicación del robot con el ordenador, se procede a realizar la conexión y pruebas de los sensores empleados.
97 | Página
3.7. Test de Distancia de Xbee
La prueba consiste en realizar una prueba de distancia de alcance de comunicación de los módulos Xbee, esta prueba se encuentra disponible para realizarse en el software X-CTU en la pestaña “Range Test” (Figura 3.19) pero a pesar de esto, se debe realizar un sketch para llevarse a cabo. La prueba se realiza en diversos lugares y a varias distancias, a fin de conocer la distancia máxima de comunicación real entre los módulos Xbee (Figura 3.18).
Figura 3.18. Inicialización del Test de Distancia de XBee
La primera prueba efectuada en el edificio 3 de ESIME Zacatenco, teniendo como obstáculo para la comunicación las paredes de los salones incluido el inmobiliario (butacas) arrojó los siguientes resultados:
Tabla 3.1. Prueba de Distancia 1
Prueba Distancia (metros)
1 25.57
2 17.40
3 20.85
98 | Página
En los resultados obtenidos de la Tabla 3.1, se tiene un promedio de 21.21 metros de distancia de comunicación máxima eficiente entre los módulos Xbee, presentándose a partir de esta y más adelante fallas e interrupción de la comunicación.
En una segunda prueba realizada sobre el pasillo del mismo edificio con los dispositivos en línea visible sin obstáculo humano o material se obtuvieron los datos de la Tabla 3.2:
Tabla 3.2. Prueba de Distancia 2
Prueba Distancia (metros)
1 95.57
2 89.70
3 92.45
Promedio 92.57
Existe en promedio una distancia de 92.57 metros de comunicación eficiente entre los módulos Xbee, comprobándose que se aproxima bastante a la distancia indicada por el fabricante, de 30 metros entre obstáculos y 100 metros en línea visible.
99 | Página
3.8. Sensor de Luminosidad
El TEMT6000 sirve para sensar la luz de ambiente empleando un sketch sencillo, basta con realizar una lectura del puerto analógico donde se encuentra conectado y mostrar dicho dato directo en pantalla, siendo el dato de lectura más pequeño (aprox. 760 lumen) el que indica un ambiente obscuro y el más alto(aprox. 850 lumen), muy brillante.
La prueba se realiza con ayuda de una lámpara luminiscente cercana al sensor y en una habitación cerrada sin ningún otro tipo de iluminación natural o artificial.
Figura 3.20. Dato Máximo del Sensor TEMT6000 con Presencia de Luz
La Figura 3.20 muestra el valor máximo detectado por el sensor y la Figura 3.21 el mínimo, siendo 842 y 761 lumen respectivamente.
100 | Página
3.9. Sensor de Temperatura
El TMP102 es un sensor de temperatura ambiente muy simple pero preciso, capaz de detectar cambios de 0.0625 º C en un rango de -25 a +85 ° C, con una precisión de 0,5 ° C con un mínimo consumo.
Su funcionamiento no es tan simple como otros sensores ya que no se tiene la temperatura con solo leer el puerto y mostrarlo ya que este sensor envía una señal analógica que es necesario interpretar. Se realiza una conexión de 2 cables, SDA (datos) y SCL (reloj) en el Arduino Mega, SDA en el pin digital 20, y SCL en pin digital 21.El sensor tiene un pasador de dirección (ADD0) que se utiliza para cambiar la dirección se del sensor, es útil si se necesita más de uno conectado a un Arduino; este pin debe conectarse a tierra para que el sensor utilice la dirección de 72 (0 × 48 en hexadecimal).
La medición de temperatura se realiza en una habitación cerrada y se obtienen los datos mostrados en la Figura 3.22, una temperatura de 25.69°C ó 78.24°F.
101 | Página