Diseño prototipo robot explorador móvil controlado a distancia con uso de android, pic16f627a y bluetooth rn-42.

Resumen

Se presenta el prototitpo de un carro explorador controlado a distancia mediante dispositivo móvil que usa sistema operativo android 4.0 y uso de pic, y modulo bluetooth. Se detalla construcción, configuración y modo de ensamble. El prototipo propuesto tiene la capacidad de enviar imágenes y video mediante cámara Ip Foscam Fi8907w, usado para ambientes de difícil acceso. También se presentan los resultados obtenidos en pruebas realizadas en ambientes controlados y no controlados.


Palabras clave: Tecnología Educativa, TIC, REA, Proceso Enseñanza – Aprendizaje.

Abstract

Prototype of a remotely via mobile device that uses Android 4.0 operating system and use of PIC, and explorer bluetooth car module is presented. Construction, configuration and detailed assembly mode. The proposed prototype has the ability to send images and video using IP camera Foscam FI8907W, used for difficult to access environments. The results of tests conducted in controlled and uncontrolled environments are also presented.


Keywords: robot, mobile device, bluetooth, android.

Introducción

La robótica móvil es una valiosa herramienta para explorar entornos inaccesibles al ser humano por su lejanía, coste o peligrosidad y para realizar tareas desagradables o laboriosas. Es un campo relativamente nuevo, hasta hace poco experimental, pero que ya se está aplicando a problemas reales con resultados satisfactorios [1].

Asociado a esto en el presente proyecto se documenta la metodología para desarrollar un prototipo robótico con capacidad de explorar y transmitir imágenes en tiempo real, maniobrado a una distancia lejana[1].

Desarrollo.

El proceso de ensamble del prototipo robótico se maneja en cuatro etapas principales, en la quinta y sexta etapa se desarrollan las pruebas pertinentes para la valoración del vehículo explorador controlado a través de un dispositivo móvil con sistema operativo Android.

En el siguiente listado se muestra de manera general los componentes del prototipo:


Etapa 1: Configuración bluetooth RN-4.


Herramientas utilizadas en la configuración del módulo bluetooth RN-42.

Módulo bluetooth RN-42: Dispositivo que permite transmitir voz y datos entre diferentes dispositivos que se encuentran dentro de una Red Inalámbrica de Área Personal (WPAN), utiliza un enlace de radiofrecuencia entre 2.402 – 2.48 GHz. Permite la comunicación entre equipos móviles y fijos, se utiliza con mayor frecuencia en los teléfonos móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras digitales[6].

A continuación se describe el proceso para el desarrollo


 

Figura 1 Conexión del módulo bluetooth RN-42.

 

En este punto culmina la configuración del módulo Bluetooth RN-42.


Etapa 2: Programación del PIC16F627A


Material utilizado para programar el PIC:

De esta forma se concluye la etapa de la programación del PIC [8], [11].


Etapa 3: Construcción de la base y el circuito del prototipo.


Fase 1: Base para el prototipo


Se construye la estructura que conforma en mayor parte el prototipo robótico de exploración. Para ello es necesario los siguientes materiales:

Procedimiento:


Fase 2: Armado del circuito.


Diagrama del circuito, Figura 2, tomado de blog Mexatronica, modificado a las necesidades requeridas, para el desarrollo del prototipo robótico[8].

 

 

Figura 2 Diagrama pictórico vehículo explorador[8]

 

El circuito está conformado por los siguientes componentes:

Microcontrolador: circuito integrado programable, diseñado para ser capaz de ejecutar las instrucciones grabadas en su memoria ROM, incluye tres principales unidades de una computadora: unidad central de procesamiento, memoria y periféricos de entra y salida Figura 3 [10].

 

 

Figura 3 Esquema de microcontrolador

 

PIC16F627A del fabricante MICROCHIP Inc, es un CMOS de 8 bits, tiene un empaquetado DIP de 18 pines, una memoria programa de 2KWords, una memoria RAM de 224 registros, su memoria EEPROM de 128 bytes, cuenta con un puerto seria USART, cuenta con un oscilador interno de 4MHz capaz de soportar un oscilador externo hasta de 20MHz, preparado para 32 instrucciones Figura 4 [3] [4].

 

 

Figura 4 PIC16F627A

 

El proceso de ensamble del circuito consiste en situar los componentes (Modulo bluetooth, PIC16f627a, Puente H) sobre la protoboard para conectárlos mediante cabos de cobre, como se muestra en la Figura 2.

La función del esquema presentado en la figura 2 se define como un circuito eléctrico, constituido por un módulo bluetooh RN-42 componente receptor de instrucciones, transmitidas por un dispositivo móvil. Las instrucciones son codificadas en señales analógicas para su envío atravez de radio frecuencia, durante la recepción de las ondas de radio el módulo bluetooh RN-42 genera un proceso de decodificación, transformando las señales análogas a digitales las cuales son canalizadas atravez de los pines TX-0 Y RX-1 (pines de salida del módulo) para ingresar por los pines RB-1 y RB-2 (pines de entrada del pic). Este tipo de transmisiones se realiza de manera serial, significa que los bits que componen cada carácter se transmiten en “n” ciclos de 1 bit cada uno, hasta completar cada carácter.

Dentro del PIC se procesa la señal emitida, decodificándose para trasladarse al Puente H, proceso en el cual se involucran los puertos RA0, RA1, RA3, RB3 (pines de salida, Pic16f627a) y los puertos IN1, IN2, IN3, IN4 y EN12 (pines de entrada, Puente H L293B).

La función del driver de manejo o Puente H dentro del circuito, es controlar la polaridad de corriente que deba salir por sus respectivos pines OUT1, OUT2 para el motor 1 y OUT3, OUT4 para el motor 2[10].

Para finalizar el ensamble se colocan los capacitores conforme es señalado en el circuito Figura 2 se sitúan de tal manera que estabilicen las tenciones eléctricas, provenientes de la fuente de alimentación de 5v[5], [7], [8].


Fase 3: Implementación de la cámara ip


El concepto de cámara ip hace referencia a un dispositivo encargado de la captura de imágenes en tiempo real con la capacidad de transmitir directamente a la red sin necesidad de un ordenador [2].

El modelo de la camara Ip Foscam Fi8907w Wifi Audio Night Vision Nocturna compatible con navegador indistinto [2].

La implantación del sistema de cámara ip se alimenta eléctricamente mediante una pila de 9v, para ello se adecuo un adaptador especial para dicha conexión. Utilizando soportes de metal liviano para el montaje sobre el chasis del prototipo.

Para la visualización del video se asigna una dirección IP para la cámara, la cual se coloca en el navegador, inmediatamente arroja en pantalla el menú con dos opciones:


Etapa 4: Creación de la interfaz grafica


El funcionamiento del carro explorador se lleva a cabo a través de la aplicación BlueTerm para un dispositivo móvil con sistema operativo Android, para transferir datos por medio del Bluetooth, la aplicación no cuenta con una interfaz amigable para el usuario, por lo que fue es necesario desarrollar una nueva aplicación específica para el carrito explorador.

Requerimientos para el desarrollo de la aplicación.


Fase 1.


Instalar cada uno de los componentes para integrar la plataforma de trabajo. Todos los paquetes son de distribución libre, que pueden ser descargados desde su página oficial [12].

 

 

Figura 5. Ventana para nuevo proyecto

 


Fase 3.


Configuración de los requerimientos mínimos que debe tener el proyecto se recomienda utilizar las especificaciones indicadas en la Figura 6 con un Android 2.2 (Froyo), para mantener la compatibilidad con versiones posteriores al Android 2.2

 

 

Figura 6. Configuración del proyecto

 


Fase 4.


La construcción de la interfaz se realiza a través de código xml (eXtensible Markup Language), tiene 9 botones, con las siguientes funciones:

 

 

Figura 7. Interfaz de la aplicación

 


Fase 5.


Establecer la conexión vía Bluetooth, la plataforma android ofrece el soporte para conexión de redes mediante bluetooth, que permiten el intercambio de información de forma inalámbrica con otros dispositivos. La funcionalidad del bluetooth se lleva a cabo a través de las API`s.

Con el uso de la API de Bluetooth, una aplicación para Android puede hacer lo siguiente:


Fase 5.1.


Buscar dispositivos Bluetooth remotos. La detección de dispositivos es un modo de exploración que busca en un área local los dispositivos habilitados para Bluetooth, posteriormente solicitar información acerca de cada uno de estos. Un dispositivo Bluetooth responderá a la solicitud solo si se encuentra activada de modo visible. Si un dispositivo es detectado, este responderá a la petición de mediante el intercambio de información, como el nombre del dispositivo y su dirección MAC. Usando esta información, puede iniciar una conexión para una transferencia de datos con el dispositivo descubierto.


Void BuscarBT()
{
Set<BluetoothDevice> pairedDevices=AdaptadorBluetooth.getBondedDevices();
Device = AdaptadorBluetooth.getRemoteDevice(MACBlue);
if (pairedDevices.contains(Device))
{
estado.setText("El dispositivo "+Device.getName()+" ya esta vinculado.");
Log.d("Carrito Buetooth", "BT is paired");
}
}


Fase 5.2.


Socket de comunicación para conectar el modulo Bluetooth.

Para crear una conexión entre los dos dispositivos, es necesario tener una conexión BluetoothSocket en el mismo canal RFCOMM (Radio Frequency Communication), como se ilustra en el siguiente código.


Void conectarBT() throwsIOException
{
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); Socket = Device.createRfcommSocketToServiceRecord(uuid);       
Socket.connect();
OUTputStream = Socket.getOutputStream();
INputStream = Socket.getInputStream();
enEsperaDeInstrucciones();
estado.setText("Conectado a: "+Device.getName());
BuscarBT();
conectado=true;
}


Fase 5.3.


La transferencia de datos por Bluetooth. Para realizar el envío de datos es necesario utilizar la subclase OutputStream, específicamente el método write, en el cual el envio se realiza en bytes.


void EnviarOrden(String Dato)
{
try{
if(conectado)
OUTputStream.write(Dato.getBytes());
} catch (IOException e) {
//     TODO Auto-generated catch block
e.printStackTrace();
}
}


Fase 6.


Generación de paquete de instalación El sistema operativo Android permite la instalación de aplicaciones de código abierto, para esto es necesario empaquetar la aplicación con un formato de archivo APK (Application PacKage File), El entorno de desarrollo de Eclipse ofrece una herramienta para la generación del paquete de instalación con el formato requerido para aplicaciones bajo la plataforma de Android. Generado el archivo APK, en necesario transferir el archivo al dispositivo móvil y proceder a su instalación.


Etapa 4: Creación de la interfaz grafica


El modo prueba es necesario para la evaluación de la funcionalidad del prototipo construido.Se aplican pruebas utilizando todos los mecanismosde hardware y software mencionados. Las siguientes tablas muestran los tipos de experimentos realizados.


Tabla 1. Pruebas de distancia entre el vehículo y el dispositivo de control


PRUEBAS VEHÍCULO
Distancia Tiempo de respuesta
50 metros, obstáculos 10 cm grosor No hay reacción
50 metros, obstáculos no mayor a 5 cm de grosor. 10 segundos
50 metros, sin obstáculos Entre 1 y 8 segundos
10 metros, obstáculos 10 cm grosor 5 segundos aprox.
10 metros, obstáculos no mayor a 5 cm de grosor. 2 y 3 segundos aprox.
10 metros, sin obstáculos 1y 3 segundos aprox.
10 metros, sobre obstáculos grosor 10 cm 1y 3 segundos aprox.
5 metros, obstáculos 10 cm grosor 1 segundo aprox.
5 metros, obstáculos no mayor a 5 cm de grosor. 1 segundo aprox.
5 metros, sin obstáculos Milisegundos
5 metros, sobre obstáculos grosor 10 cm 1 y 2 segundos aprox.

El contenido de la tabla 1 arroja los tiempos estimados de reacción del prototipo, a cierta distancia y con obstáculos(paredes) de un grosor distinto.


Tabla 2. Prueba en tipos de suelo.


PRUEBAS VEHÍCULO EXPLORADOR
Tipo de terreno Distancia recorrida Observaciones
Liso Entre 40 y 45 metros Sobrepasando los 45 metros, fallo en la comunicación entre dispositivos.
Rugoso Entre 10 y 30 metros Fallo en el sistema de bandas

Los resultados obtenidos en la tabla 2, muestran la distancia recorrida en dos tipos de suelo.


Tabla 3. Prueba cámara IP, calidad de transmisión y duración de la fuente de energía.


PRUEBAS CAMARA IP
Ambiente Duración de la batería Calidad de transmisión Observaciones
Día 30 minutos aprox. Buena La calidad de video es satisfactoria.
Noche Entre 20 y 25 minutos aprox. Regular El consumo de la batería es mayor debido al uso de LED’S IR (infrarrojo)

En la tabla 3 se muestra los datos obtenidos en base a la transmisión de imágenes en tiempo real de dos tipos de ambientes. Se registra principalmente la duración aproximada de la batería.

MEJORAS A IMPLEMENTAR EN EL PROTOTIPO

Se sugieren las siguientes opciones de mejora para el prototipo vehículo explorador:

La implementación de actualizaciones ofrece un mayor auge para el ámbito exploratorio.

CONCLUSIÓN

En base a las pruebas realizadas al carro explorador se observo una excelente comunicación con el dispositivo móvil, en la exploración de lugares abiertos y distancias cortas. Sin embargo cuando el carro transitó en un entorno con obstáculos (paredes de concreto) existe un retardo de aproximadamente 5 segundos en el tiempo de respuesta.

Durante un periodo de tiempo promedio de 20 minutos, la transmisión de video de la cámara es satisfactoria.



[a] Profesores Investigadores de la Universidad Autónoma del Estado de Hidalgo

[1] Fernández Lancha, M. Á., Fernández Sanz, D., & Valmaseda Plasencia, C. (s.f.). Universidad Complutense Madrid- Fcultad de Informatica. Recuperado el 11 de Septiembre de 2013, de Universidad Complutense Madrid- Fcultad de Informatica.

[2] Foscam. (2013). Foscam. Manual Usuario, 10.

[3] M., M. (1 de Agosto de 2009). Microcoro. Recuperado el 3 de Abril de 2013, de Microcoro: http://microcoro.blogspot.mx

[4] Microchip. (10 de Octubre de 2009). Microchip. Recuperado el 15 de Febrero de 2013, de Microchip: http://www.microchip.com

[5] Microelectrónicos. (03 de Diciembre de 2011). Microelectrónicos. Recuperado el 17 de Febrero de 2013, de Microelectrónicos: http://www.microelectronicos.net

[6] O., P. (1 de Mayo de 2007). Sparkfun Electronics. Recuperado el 28 de Abril de 2013, de https://www.sparkfun.com

[7] Piedra, M. A. (16 de Noviembre de 2009). Mexatronica. Recuperado el 30 de Abril de 2013, de http://mexatronica.blogspot.mx

[8] Piedra, M. A. (03 de Agosto de 2010). Mexatronica. Recuperado el 27 de Marzo de 2013, de Mexatronica: http://foros.mexatronica.com

[9] Ruiz, F. (4 de Julio de 2012). Ingeniero Fernando Ruiz. Recuperado el 14 de Febrero de 2013, de Proyectos Mecatronicos: http://www.ingenierofernandoruiz.com

[10] Universidad de Oviedo. (s.f.). Pic, Microcontroladores. Recuperado el 10 de Abril de 2013, de http://www.unioviedo.es

[11] Penagos Plazas, J. R. (2010). Cómo Programar en Lenguaje C los Microcontroladores PIC16F88, 16F628A y 16F877A. Quito, Colombia: Empresa TecMikro.

[12] Tomás Gironés, J. (2013). El Gran Libro de Android. España: MARCOMBO, S.A.