Você está na página 1de 24

DISEO DE UNA PLATAFORMA ROBOTICA PARA LA

ENSEANZA DE NUEVAS TECNOLOGIAS



ROBODACTIC


PRESENTA:
Gonzales Canul Fredy, Pech Balam Diego, Cetina Nahuat Guillermo, Garcia Moreno Andres, Moo
Cauich Rafael, Damian Garrido Ku.
ASESOR:
JOSE LUIS ASUNCION KU UC


Instituto Tecnolgico Superior de Calkini en el Estado de Campeche
Av. Ah Canul S/N por carretera federal S/Colonia, Calkini, Campeche, C.P 24900
Club de robtica ITESCAM, Ingeniera en Mecatrnica
IMPACTO TECNOLGICO
3911@itescam.edu.mx













2
NDICE DE CONTENIDO
A.1 Introduccin....... P. 3
A.2 Objetivos........................ P. 5
A.2.1 Objetivo General....... P. 5
A.2.2 Objetivos Especficos............... P. 6
A.6 Justificaciones........ P. 9
A.7 Impacto Tecnolgico...... P. 10
A.8 Impacto Econmico... P. 11

DESARROLLO
DISEO ELECTRNICO.... P. 13
3.1 Diseo del Sistema iDroid.... P. 14
3.2 Robot Mvil...... P. 15
3.2.1 Mecnica del Robot..... P. 16
3.2.2 Sensores del Robot... P. 18
3.2.3 Controlador Principal. P. 19
3.2.4 Interfaz de Comunicacin... P. 19
3.2.5 Software del Robot.. P. 20
3.3 Plataforma de Programacin.. P. 23
3.4 Aplicacin Android.. P. 23
Conclusiones y Recomendaciones..... P. 24
Referencias BibliogrficasP. 24




3
INTRODUCCIN
Considerando los adelantos de la ciencia y la
tecnologa en un mundo actual donde existen
grandes cambios e innovaciones en la
industria, podemos abordar un tema muy interesante
como lo es la robtica, que, a pesar de ser una
ciencia relativamente nueva, ha sido un motor que
ha impulsado el avance de la tecnologa. Es un tema
de inters el cual, trata sobre el diseo de mquinas
capaces de desempear tareas que para el ser
humano son muy difciles y hasta peligrosas de
efectuar. Para desarrollar el mbito de la robtica
tambin estn involucradas otras ramas de la
tecnologa que ayudan al desarrollo de la robtica
como lo son: la electrnica, la fsica, la informtica,
la mecnica, entre otras.
En nuestros das, podemos observar que la
tecnologa ha avanzado de una forma increble que
hasta es posible crear vida artificial reduciendo as
muchas tareas que para el ser humano, serian
difciles de efectuar o al menos, se tardara mucho
en realizarlas, as como son las actividades
repetitivas. Pero la principal funcin de estas
mquinas es remplazar la mano de obra del hombre
en aquellos trabajos en los que las condiciones no
son las adecuadas. Por ello, es interesante el hecho
de que el hombre se ha dado a la tarea de construir
mquinas capaces de imitar a algunas partes del
cuerpo humano. La aplicacin de esta tecnologa se
da mucho a conocer en el mbito de la industria que
est caracterizada por grandes innovaciones,
adelantos y avances tecnolgicos. Estas mquinas
que estamos considerando son conocidas como
robots, pero para comprender mejor Qu es un
robot? Se podra definir como una mquina de
componentes mecnicos y electrnicos que se
puede programar para que realice diversas
funciones y que tiene caractersticas similares a las
de un ser humano. Cuando hablamos de
caractersticas semejantes a las del ser humano, nos
referimos a movimiento de brazos, caminar, mover
objetos y otros hasta hablar.
Existen cuatro ramas bsicas para la robtica actual:
industrial, experimental, mdica y de servicios. Uno
de los importantes centros de desarrollo para la
robtica experimental y educativa en Mxico, es el
Instituto Tecnolgico y de Estudios Superiores de
Monterrey; en el Campus Estado de Mxico, est la
unidad de postgrado de robtica encabezada por el
Dr. Ricardo Sain, quien lleva la direccin de un
grupo de estudiantes de doctorado con los cuales
han desarrollado nuevas tcnicas y metodologas en
el diseo de algoritmos para visin por
computadora e inteligencia artificial. El alumno
Moiss Alencaster miembro del grupo doctoral
explica la situacin de investigacin e


4
investigadores enfocado a la robtica en Mxico:
No hay muchos investigadores famosos que hagan
robtica en Mxico, sern unos 20 o 30 en todo el
pas, pero la mayora son muy tericos. Aunque si
hay muchos estudiantes que participan en concursos
o que les gusta armar robots.
Los proyectos generados en Mxico para la robtica
cubren las reas mdicas y binicas, con institutos
enfocados a estas como la Universidad Nacional
Autnoma de Mxico y el Instituto Politcnico
Nacional. Para el rea de robtica experimental y
educativa los ms sobresalientes son el Instituto
Tecnolgico y de Estudios Superiores de
Monterrey, y el Instituto Tecnolgico Autnomo de
Mxico. En si la mayora de las instituciones
educativas pblicas y privadas que cuenten en su
retcula con algn rubro de mecatrnica o
automatizacin y control, abarcan los temas para
la robtica industrial y de servicios.
En la pennsula de Yucatn las instituciones que
abarcan la robtica como campo de estudio son:
Instituto Tecnolgico de Mrida, Universidad
Autnoma de Yucatn, Universidad Modelo,
Universidad Tecnolgica Metropolitana,
Universidad del Mayab, UVM, Instituto
Tecnolgico de Motul, por mencionar algunos. Las
reas de estudio de estas instituciones son la
robtica experimental, educativa, y de servicios. En
los ltimos 10 aos se han empezado a crear lneas
de investigacin para la robtica mdica, pero un
retraso en el uso de nuevas tecnologas a frenado y
alentado el proceso de crecimiento para la binica
en esta regin.
La enseanza de la robtica como tal en nuestro
pas est enfocada a explicar los fundamentos
tericos de un robot o agente autnomo, o
semiautnomo. Sin importar las estructuras
electrnicas, siempre se le ha dado prioridad a
conocer y entender el campo generalizado de los
robots como plataforma cognoscitiva de la
condiciones de operacin y aplicacin de los
agentes y no como puente de vinculacin a las
nuevas tendencias tecnolgicas, y el desarrollo y
uso de las mismas. Una herramienta educativa que
ha favorecido al acercamiento y la aceptacin del
pblico acadmico es la robtica pedaggica.
La robtica pedaggica se define como una
disciplina cuyo objetivo principal es formular y
generar ambientes de aprendizaje sobre las
actividades del estudiante. Una de las principales
autoras del tema es la M.C. Mnica Mara Snchez
Colorado, quien obtuvo su maestra desarrollando
este tema en la universidad de los Andes en el 2003,
ella cita que algunos autores consideran que la


5
robtica pedaggica viene y se basa de la
informtica educativa, donde se esperaba disear un
modelo que impulse el uso de los robots como
modelo de enseanza en las aulas escolares.
En la pennsula de Yucatn, la robtica pedaggica
aplicada radica en los concursos de mini robtica
locales, donde participan todos los alumnos de
licenciaturas (ingeniera) de las instituciones
pblicas y privadas anteriormente mencionadas,
adems de alumnos de educacin media superior,
que llevan en su escuela algn mdulo de
programacin e informtica. Los concursos de mini
robtica sientan las bases para el anlisis y estudio
de las metodologas de diseo e implementacin y
elementos cognoscitivos en la produccin del robot.
En la Experiencia del Instituto Tecnolgico de
Mrida, se han realizado 9 concursos de
minirobtica en los ltimos 8 aos, aunque la
institucin no cuenta en la tira de retculas con la
materia de robtica, en las clases diseo digital I y
II, Microcontroladores y Microprocesadores , se ha
fomentado a los alumnos a disear sus robots para
competir entre ellos mismos, y los ganadores de
este evento pueden participar en los concursos
locales y nacionales representando al Instituto
Tecnolgico de Mrida. Debido a la alta
participacin por el inters que genera en el alumno
la idea de construir su propio robot, se ha
implementado el concurso en semestres ms bajos,
con alumnos que an no han completado el perfil
medio para el diseo de un agente autnomo; esto
con el objetivo de fomentar el estudio autodidacta
basado en la experiencia del uso de nuevas
tendencias tecnolgicas.
OBJETIVOS
a) OBJETIVO GENERAL

Disear una plataforma robtica para facilitar el
acceso a las tecnologas de vanguardia para reducir
el retraso tecnolgico que se experimenta en las
instituciones de educacin superior.

b) OBJETIVOS ESPECFICOS

Diseo y construccin de un robot mvil
verstil y econmico.
Diseo de un entorno de software para la
programacin del robot mvil mediante la
PC
Diseo de interfaces para conexin con
Smartphone.
Diseo de un entorno de software para la
programacin del robot mvil mediante
Tablets Android.
Proporcionar un buen material educativo
en base a ejemplos y manuales que sean


6
una excelente herramienta de trabajo para
los nuevos modelos de enseanza

c) JUSTIFICACIN
El fin del proyecto es proporcionar una herramienta
de aprendizaje para apoyar a los modelos de
educacin ya existentes utilizando la robtica como
pretexto para adquirir el conocimiento
implementado una plataforma robtica basada en
dispositivos mviles, lo que nos permitir el fcil
acceso a una gran variedad de tecnologa a un costo
reducido, permitiendo poder hacer interactivo y
lograr el inters por parte del usuario. Se provee un
problema estndar en donde una amplia gama de
tecnologas pueden integrarse y examinarse, as
como utilizarse en proyectos educativos. La
creacin del equipo iDroid en el Instituto
Tecnolgico de Mrida, genera la posibilidad de
investigar y estudiar nuevas tecnolgicas en
mercados competitivos, en otras escuelas y
universidades; de relacionar grupos de trabajo y
colaboracin en equipo, ya sea entre los propios
departamentos del instituto o en conjunto con otras
instituciones.
Las instituciones en Mxico estn plenamente
conscientes de que el despertar vocaciones para la
ciencia y tecnologa a temprana edad es tarea
primordial para el futuro desarrollo competitivo del
pas. Esto debido a que son comparativamente
pocos los estudiantes de educacin media superior
que optan por estudiar una carrera relacionada a la
ciencia y tecnologa. Y los estudiantes de educacin
superior experimentan un rechazo a la integracin
de las nuevas tendencias tecnolgicas
fundamentado en el temor de la complejidad de su
uso.
La justificacin del proyecto iDroid es una
iniciativa de investigacin y educacin. Con el fin
de utilizar nuevas tecnologas. El Smartphone
facilita el acceso a las nuevas tecnologas tales
como Bluetooth, NFC, acceso a internet, sensores,
etc.; ya que lo hace ms econmico y reduce el
tiempo para su implementacin utilizando la
robtica como medio para aprender estas nuevas
tecnologas.
Se ha demostrado que el uso de estos sistemas
permite desarrollar habilidades o reafirmar
conocimientos de una manera ms interesante,
creativa y que permite a los alumnos construir su
propio conocimiento, y desarrollar muchas
habilidades y actitudes que de otra forma sera muy
difcil inculcarles.

d) IMPACTO TECNOLGICO
Apoyo a los modelos educativos para los
alumnos de educacin superior en
electrnica para la utilizacin de la
robtica pedaggica, haciendo uso de los
agentes autnomos como mecanismos
didcticos para poder cubrir el campo
terico y aplicado del marco conceptual
del proyecto y acercar a las nuevas
generaciones de estudiantes a las
tecnologas de innovacin, atacando el
retraso tecnolgico y cientfico que se
presenta por el rechazo al uso de estas
tecnologas y coadyuvar al desarrollo de
habilidades tempranas de futuros
investigadores.

e) IMPACTO ECONMICO
Reduccin en los costos en la


7
adquisicin de tecnologa ya que el
Smartphone integra la mayora de las
nuevas tecnologas y permite la variedad
ajustando el precio segn el usuario y los
componentes utilizados en el robot son
comunes y econmicos, los estudiantes
ya no tendrn que gastar en costosas
tarjetas de evaluacin para tecnologas
como Wi-Fi o sensores como cmaras y
GPS. El proyecto se puede implementar
como un producto comercial que abarca
desde los kits de robots para diferentes
pblicos, venta de mdulos de expansin
para futuras tecnologas as como la
venta de aplicaciones mviles.


8
DESARROLLO
DISEO ELECTRNICO

En el captulo se explicar a detalle el diseo de
iDroid-Robodactic, el cual consta de tres etapas que
son: la plataforma de programacin, el robot mvil
y la aplicacin android, as como de que est
compuesto y las caractersticas de los componentes
utilizados en el proyecto
3.1 Diseo del Sistema iDroid
c










Fig. 5 Sistema iDroid [5]

El sistema iDroid consta fundamentalmente de tres
componentes: Un robot mvil, Una plataforma de
programacin diseada para computadoras con
Windows y tablets con Android y una aplicacin
para Smartphone Android.
El robot est diseado para ser una herramienta
educativa e interactiva ya que ofrece al usuario la
interaccin con componentes electrnicos,
mecnicos y de software muy utilizados hoy en da
como es el caso de los microcontroladores,
servomotores, mdulos bluetooth, sensores
infrarrojos, etc. De la misma forma permite la
integracin de dispositivos Android para ampliar
sus funcionalidades y de esta manera ofrecer al
usuario tecnologas de vanguardia integradas en el
dispositivo tales como NFC, Wi-Fi, GSM,
Procesadores ARM, Cmaras, Multimedia, GPS,
etc.








Fig. 6 Robot
iDroid

La plataforma de programacin permite programar
el robot por medio de mquinas de estado o cdigo
PLATAFORMA DE
PROGRAMACION
APLICACIN ANDROID
ROBOT MOVIL


9
para que el usuario final tenga la posibilidad de
generar un algoritmo til y en corto tiempo.
La finalidad de la plataforma de programacin es
proporcionar al usuario una herramienta sencilla e
interactiva para la realizacin de diversas tareas
mediante la programacin de agentes autnomos sin
tener conocimientos profundos de robtica,
programacin y de tecnologas actuales de
vanguardia. La necesidad de crear este tipo de
herramientas es fundamental ya que es necesario
acercar el uso de la tecnologa al mundo en general
y, para ello, es necesario generar plataformas cada
vez ms sencillas que puedan ser utilizadas por
cualquier persona sin importar su edad,
nacionalidad o lenguaje.



Fig. 7 Plataforma de Programacin iDroid Studio

La aplicacin mvil para Smartphones Android
permite utilizar el dispositivo como un accesorio del
robot o como cerebro del robot.
En el modo accesorio es dispositivo android es
utilizado para controlar el robot a distancia, leer el
estado de los sensores y desplegar informacin, el
control a distancia se realiza a travs de una
conexin bluetooth y se le ordena al robot por
medio de la pantalla touch, comandos de voz o
acelermetro y de esta manera controlar los
movimientos y los actuadores as como los gestos
del robot y sonidos. Para el despliegue de
informacin se muestran grficos y mensajes de voz
sobre el estado de los sensores y que permite su
calibracin.
En el modo cerebro el robot acta como una
mascota es decir por medio de la funcionalidad
multimedia con las imgenes y sonidos el robot
muestra una personalidad y responde a gestos
hechos en la pantalla del dispositivo o a travs de
los sensores del telfono. En este modo estn
integrados 4 programas a modo de demostracin


10
que convierten al robot en un luchador de sumo,
seguidor de lnea, esquiador de obstculos o de
laberinto que son tareas comunes en los concursos
de robtica.





Fig. 8 Aplicacin iDroid
A continuacin se detalla el diseo, construccin y
pruebas de cada componente del sistema.
3.2 Robot Mvil
IDroid es un Robot-Smartphone basado en una
interfaz Bluetooth, es un medio didctico para el
desarrollo de aplicaciones mviles, utiliza el
telfono como accesorio o como cerebro,
aprovechando la potencia de los procesadores de un
telfono inteligente y Sensores, es accesible,
expandible, ya que aumenta la funcionalidad del
robot, es econmico y de fcil construccin. Entre
sus caractersticas principales destacan las
siguientes:

Estructura:
Locomocin diferencial utiliza dos
motorreductores
Base para Smartphone
Sensores Principales:
2 sensores medidores de distancia por
infrarrojos de 10 a 80 cm
5 sensores de reflexin infrarrojos para
detectar lneas
Sensores Secundarios:
Sensor de Proximidad con alcance
dependiendo el dispositivo Android
Acelermetro de 3 ejes
Magnetmetro
Cmara
GPS
Actuadores:
Brazo robtico de 2 grados de libertad
Pinza y Hombro
Conectividad:
Bluetooth con alcance de 100 metros
Wi-Fi
GSM
USB
Expansin:
A travs de mdulos con bus 12C
Energa:
6 pilas AA recargables de Ni-Cd que
proporcionan 2000 ma
Funcionalidades:
Firmware reprogramable a travs de USB
y Bluetooth
Sntesis de Voz en Espaol


11
Reconocimiento de Voz
Multimedia
Escaneo de cdigos de barras y QR
Envo y Recepcin de mensajes de Texto
3.2.1 Mecnica del Robot
El chasis est construido con PVC espumado mejor
conocido como Sintra es un material liviano,
resistente, termoformable, autoextinguible, no
absorbe la humedad, se puede cortar, aserrar, pintar,
perforar, etc. La Sintra est disponible en modo de
pliegos de diferentes tamaos y colores, se utiliz
un cter y cola loca para cortar las piezas y unirlas
para formar la
estructura.




Fig. 9 Sintra utilizado para la estructura mecnica
[6]
El chasis consta de 3 partes: la base, el actuador y la
base para Smartphone los patrones de corte se
disearon en power point, la base principal consiste
en dos octgonos soportados por 4 postes de
plsticos y tornillos de 2 pulgadas.







Fig. 10 Patrones de corte utilizados
La configuracin usada para la traccin del robot se
conoce como diferencial ya que utiliza dos motores
que variando su velocidad y sentido de giro se
conseguir una trayectoria, Se utilizaron dos
motorreductorres de plstico con una relacin de
1:80 que proporciona 100 rpm a un torque de 2
kgcm. Se utilizaron dos rodamientos de plstico y
un TrackBall para la estabilidad del robot. En la
parte inferior de la Base se han montado los
motorreductores, las pilas y sensores de lnea.






Fig. 11 Parte inferior de la base principal




12
El actuador es un brazo robtico de dos grados de
libertad siendo pinza y hombro, para la pinza se
utiliz un microservo con torque de 2 kgcm y para
el hombro un servo estndar de 5 kgcm. La pinza se
ha diseado para su facil construccion ya que no
utiliza ningun engrane o mecanismo complejo el
movimiento se da por el movimiento de un tornillo
que obliga a mover la pinza.




Fig. 12 Brazo robtico
3.2.2 Sensores del Robot
iDroid posee 2 sensores de proximidad
GP2Y0A21YK0F de la marca Sharp que miden la
distancia a la que se encuentra un objeto en un
rango de 10 a 80 cm, estos sensores entregan una
tensin analgica dependiendo de la distancia,
funcionan con un voltaje de alimentacin de 4.5 a
5.5 v y un consumo tpico de 30 mA, estos sensores
son utilizados para detectar obstculos.








Fig. 13 Sensor de proximidad GP2Y0A21YK0F [7]

Los sensores de proximidad no necesitan algn
circuito adicional para funcionar, iDroid posee
tambin 5 sensores de reflexin infrarrojos QRD114
para detectar lneas los cuales entregan una tensin
analoga de 0 a 5 volts dependiendo de la cantidad
de luz reflejada. Esta etapa cuenta con su propio
microcontrolador para procesar los datos de los
sensores, se utiliz el microcontrolador PIC16F690
ya que posee un bus I2C para conectarse al
controlador principal. En la figura siguiente se
muestra la simulacin en Proteus de la conexin de
los sensores al PIC16F690, en el cual se conectaron
los 5 sensores QRD114 y un conector de cuatro
para la conexin principal de la siguiente manera:

Nmero de
Pata
Utilizada
Nombre de la
Pata Utilizada
Componente
Conectado
1 VDD
3 RA0/AN0 Q4
12 DT J 1/3
13 SDA J 1/4
16 RC0/AN4 Q5
17 RA2/AN2 Q3
18 RA1/AN1 Q2
19 RA0/AN0 Q1
20 VSS
Tabla 2. Conexin del PIC16F690


13


Fig. 14 Diagrama esquemtico de la tarjeta de
sensores de lnea

El acelermetro, el magnetmetro, cmara y GPS
son accesibles por medio del dispositivo android. El
acelermetro proporciona 3 valores
correspondientes a la aceleracin medida en los ejes
X, Y y Z, el magnetmetro mide la intensidad de
campo magntico en los ejes X,Y y Z por lo que en
el robot se usa tanto para orientacin como para
detectar metales, la cmara tiene una resolucin de
3 Mpx en el dispositivo usado y el GPS proporciona
las coordenadas de Latitud y Longitud y la
informacin de los satlites.



















Fig. 15 Montaje de los sensores en el chasis
3.2.3 Controlador Principal
La tarjeta controladora principal est diseada para
la implementacin rpida de prototipos ya que su
firmware puede ser actualizado desde una conexin
USB o Bluetooth y la distribucin de los
componentes electrnicos facilita la conexin de
hardware extra, est basada en el microcontrolador
PIC18F2550, esta se divide en dos partes una es el
control y la otra es un circuito para conectar los
actuadores los sensores y la interfaz de
comunicacin.

Para la eleccin del microcontrolador a utilizar en el
proyecto se tom en cuenta, que ha sido utilizado en
tarjetas de desarrollo muy utilizadas hoy en da
como el caso de la plataforma pingino, por lo cual
el diseo de la tarjeta lo hace un hardware de
propsito general es decir se puede retirar del robot
y ser utilizado en alguna aplicacin de
automatizacin. Entre la gama de MC que se
encuentran en el mercado se eligi el MC
PIC18F2550, por que cuenta con protocolo de
comunicacin serial UART el cual necesitamos para


14
el mdulo Bluetooth, tambin con Conectividad
USB. Para controlar los motores se utiliz un driver
Puente H SN754410NE de Texas Instruments



Fig. 16 Circuitos integrados usados en el
controlador [8]

El controlador posee las siguientes caractersticas:
Entrada de alimentacin de 7 a 25 V
Entrada para conexin USB
Entrada Jack para Carga de bateras
Expansin por Bus I2C
La lista de materiales necesarios para su
construccin es la siguiente:

1 Microcontrolador PIC18F2550
1 Driver SN754410NE
1 Cristal de cuarzo de 20 MHZ
1 Regulador de 5v LM7805
1 LED de 5 mm
2 Push Button
1 Capacitores electrolticos de 47 uf
1 Capacitor cermico de 0.1 uf
1 Capacitor cermico de 470 nf
1 Resistor de 330 ohm
1 Base para CI de 28 Pines
1 Conector USB tipo B hembra
4 Terminal de 2 pines
1 Tira de pines macho
2 Tira de pines Hembra
1 Jumper
1 Placa fenlica de una cara de 5x10




Fig. 17 Diagrama esquemtico del
controlador parte 1
La segunda parte del controlador es una tarjeta de
las mismas medidas que se conecta por medio de
pines como el formato de conexiones de shields de
arduino, esta tarjeta se encarga de proporcionar la


15
alimentacin a los motores y a los servos as como
conectar la tarjeta de sensores de lnea y el modulo
bluetooth. La figura 18 muestra la simulacin de la
segunda parte del controlador hecha en el programa
Proteus.

Fig. 18 Diagrama esquemtico del controlador
parte 2

Despus de terminada la tarjeta se program el
microcontrolador a travs de un programador
externo a travs del puerto ICSP el archivo a
descargar al microcontrolador se encarga de
controlar todas las funciones del control de motores
lectura de sensores y comunicacin bluetooth as
como la reprogramacin del microcontrolador.



















Fig. 19 Tarjetas montadas en el robot
3.2.4 Interfaz de Comunicacin
Esta modulo facilita la conexin con la tarjeta
controladora a travs de una conexin UART, est
basado en el dispositivo HC-06 que acta como un
puerto serie para establecer la conexin con un
dispositivo Android



Fig. 20 Modulo Bluetooth [9]

En el mercado se encuentran infinidad de mdulos
Bluetooth los cuales tienes distintas caractersticas,
(alcance de la seal, si el dispositivo es maestro o
esclavo, etc.) Por lo cual con las delimitaciones y
limitaciones de nuestro proyecto, se seleccion el
mdulo HC-06 con cobertura hasta de 100m sin
obstculos, comunicacin RS232 y un bajo
consumo de corriente y costo, para implementarlo
en el proyecto.


16
Por fbrica el mdulo cuenta con valores y
configuraciones por default:
Slave, 9600 baud rate, N, 8, 1.
Pincode: 1234
Name: Alivor
Se puede modificar estos parmetros mediante los
comandos AT proporcionados por la hoja de datos
del mdulo y programarlo dependiendo la
aplicacin que se requiera, en este caso el firmware
del robot se encarga de los cambios necesarios.


Fig. 21 Pines de conexin del mdulo HC-06 [10]

El circuito del mdulo Bluetooth HC-06, para su
conexin con un microcontrolador, se ha tomado de
la hoja de datos del mismo.



Fig. 22 Circuito de implementacin del mdulo.

Se modific el nombre y el PINCODE del mdulo
mediante los comandos AT, se programa mediante
el compilador CCS PICC.
La lista de materiales necesarios para su
construccin es la siguiente:

1 Bluetooth HC-06
1 Regulador 3.3 V
1 LED
1 Resistor 330 ohm
1 Resistor 10 k
1 Resistor 15 K
4 Pines
1 Placa fenlica una cara 5x5






Fig. 23 Modulo Bluetooth Montado en la Tarjeta.




17
3.2.5 Software del Robot
El programa del Microcontrolador se encarga de
controlar la velocidad y giro de los motores,
Procesar los datos del Bluetooth y leer los sensores.
El firmware se descarga a travs de la interfaz USB
y se hace uso de la herramienta PIC LOADER para
que la tarjeta entre en modo programacin tarjeta
PIC USB mientras se presiona el botn BOOT hasta
que el LED RUN comience a parpadear, para usar
esta funcionalidad se incluye un archivo de
cabecera para el compilador. Este firmware se ha
desarrollado usando el compilador PICC CCS.

Para el control de los motores se utilizan 4 pines
para indicar la direccin de cada giro siendo 2 por
cada motor, el control de velocidad se consigue con
la tcnica de modulacin por ancho de pulso PWM
implementado a travs del TIMER1 del PIC:

Los sensores de proximidad utilizan los canales
analgicos AN0 y AN1 para leer el voltaje que
entrega el sensor.
El control de los servomotores se realiza mediante
la interrupcin TIMER1 en la cual la posicin del
servo se controla mediante la activacin del pin de
salida en un tiempo entre 0.5 y 2.5 milisegundos
para ubicarlo entre 0 grados y 180 grados.

Para procesar los datos en el intercambio de
informacin entre el modulo Bluetooth y el
dispositivo android se dise un protocolo de envo
de datos. Para empezar el Microcontrolador debe
detectar el momento en que llega el carcter (,
despus guardar los datos y la posicin en la que se
encuentran, detectar el carcter ) para reiniciar el
ciclo, y por ultimo convertir esa cadena de texto en
un valor. Es recomendable el uso de interrupciones
por UART para evitar la prdida de datos. Teniendo
en cuenta que el todos los valores utilizados varan
de 0 a 100 el mnimo numero de caracteres que
puede enviar son 3 y el mximo son 5, para (0) y
(100) respectivamente. Entonces es necesario
declarar una variable char en forma de arreglo para
guardar los datos, siendo 5 la dimensin mnima, el
cdigo del Microcontrolador usa para ello la
siguiente lnea:

char dato[10];

Para detectar cada carcter recibido se utiliza la
funcin Kbhit() , al recibir cada carcter se debe ir
guardando en la variable dato[] especificando la
posicin en los corchetes, debido a que no se sabe
en qu momento se recibirn 3,4 o 5 caracteres la
posicin de los datos y del carcter de fin ) ser
variable, por lo tanto se usa la variable entera
Position para usarla como apuntador como se
muestra a continuacin:

if(kbhit())
{
dato[position]=getc();
}

El siguiente paso es detectar el carcter de inicio,
servir para saber que inicia la trama e indicar
mediante una variable llamada Inicio que ya se
puede incrementar la variable Position y acomodar
el dato en la siguiente posicin del arreglo:
if(dato[position]==40)
{
inicio=1;
}



18
Luego se incrementa la posicin mediante la
variable Inicio:

if(inicio==1)
{
position=position+1;
}

El siguiente paso es detectar el fin de la cadena para
reiniciar el ciclo, es decir hacer el apuntador
Position = 0, la bandera Inicio=0 y guardar la
posicin en la que terminan los datos, que siempre
es una posicin antes que el carcter ). El cdigo
queda de la siguiente manera:

if(dato[position]==41)
{
fin=position-1;
inicio=0;
position=0;
}

Ahora solo resta extraer los datos y convertirlos a
un valor numrico, si se han recibido 3
Caracteres (para un valor del acelermetro de un
digito por ejemplo 5) las variables quedan como
Position=2, Fin=1, por lo tanto los caracteres se han
acomodado de la siguiente forma: dato[0]=(,
dato[1]=5 y dato*2]=). Si se han recibido 4
caracteres (para un valor del acelermetro de dos
dgitos por ejemplo 20) las variables quedan como
Position=3, Fin=2, por lo tanto los caracteres se han
acomodado de la siguiente forma: dato [0]=(,
dato[1]=2, dato*2]=0 y dato*3]=). Si se han
recibido 5 caracteres (para un valor del
acelermetro de tres dgitos por ejemplo 100) las
variables quedan como Position=4, Fin=3, por lo
tanto los caracteres se han acomodado de la
siguiente forma: dato [0]=(, dato[1]=1,
dato*2]=0, dato*3]=0 y dato*4]=).
Conociendo estos valores es posible convertir a un
valor numrico, como los caracteres se envan en
cdigo ASCII el carcter 0 corresponde al valor
decimal 48, por lo tanto se le resta esa cantidad, de
esta forma se obtienen los dgitos. El ltimo paso es
formar la cantidad multiplicando cada digito por su
valor correspondiente (unidad, decena y centena) y
sumarlos, el cdigo queda de la siguiente manera:

if(fin==1)
pwm=dato[1]-48;
if(fin==2)
pwm=(dato[1]-48)*10+(dato[2]-48);
if(fin==3)
pwm=(dato[1]-48)*100+(dato[2]-
48)*10+(dato[3]-48);

Para el envo de datos con el microcontrolador se
usa la instruccin printf y su sintaxis es la
Siguiente:

Printf( );

Para enviar un valor fijo basta con poner el texto
entre , por ejemplo para enviar un 100 el
comando queda de la siguiente manera:

Printf(100);

Sin embargo la lectura del ADC es una cantidad
variable, para enviar variables se puede usar los
siguientes formateadores de cadena:

c Carcter en ASCII
s Cadena
u Entero sin signo en formato decimal


19
d Entero con signo en formato decimal
Lu Entero sin signo de 16 bit en formato
decimal
Ld Entero con signo de 16 bit en formato
decimal
x Entero en formato hexadecimal
(minsculas)
X Entero en formato hexadecimal
(maysculas)
f Flotante con punto decimal
g Flotante redondeado
e Flotante en exponencial

A cada modificador se le antepone el smbolo
% y con una coma despus del segundo smbolo
, se especifica la variable a enviar, por ejemplo para
enviar una variable llamada S1:

Printf(%u,S1);

Otros modificadores muy utilizados son el retorno
de carro y carcter de salto de lnea \r y \n ser
necesario enviar el carcter de salto de lnea al final,
el cdigo quedara de la siguiente manera:

Printf(%u\n,S1);

Para diferenciar cada variable en el envo de datos
con el microcontrolador se usa la instruccin printf
y se enva un carcter que represente la variable este
caso se ha usado los identificadores A y B para
enviar la lectura de cada sensor de proximidad:

printf("%uA\n",ADC1/2);
printf("%uB\n",ADC2/2);


3.3 Plataforma de Programacin
La plataforma de programacin iDroid Studio fue
desarrollado en Borland Builder C++ 6 que es
actualmente uno de los estndares de lenguaje de
programacin para sistemas operativos de
Windows, y est estrictamente ligado para su
funcionamiento con las plataformas de
programacin de microcontroladores representa la
integracin de lenguajes de alto nivel para
microcontroladores acopladas para generar un
programa orientado a objetos con una interfaz
vistosa y sencilla para la programacin de robots
mviles, en el caso de la plataforma para tablets que
lleva por nombre iDroid Visual Programing es el
resultado de la integracin de elementos que dan
funcionalidad a la arquitectura clsica de un agente
autnomo. Esta plataforma esta orientada a facilitar
el entorno de programacin de robots moviles, para
que el usuario final tenga la posibilidad de generar
un algoritmo ya que las personas que an no saben
de lenguajes de programacin programen el robot
iDroid debido a que el software se encarga de
generar el cdigo para el micro controlador.









20





Fig. 24 Entorno de programacin iDroid Studio
La plataforma iDroid Studio programa al robot por
medio del lenguaje C en el cual el usuario
necesita nicamente tener conocimientos de los
bloques if, ciclos for y while, etc. Ya que las
funciones que controlan el hardware del robot ya
estn prediseadas y el cdigo puede insertarse con
la ayuda visual en donde se presenta los sensores
del robot y los principales comando. Por ejemplo
para ordenarle al robot que haga una curva mientras
avanza hacia adelante solo ser necesario hacer que
dos de las ruedas giren para avanzar y un motor
tenga ms velocidad que el otro esto es un
movimiento personalizado que tiene un asistente
como se muestra en la imagen:

Fig. 25 Ventana de movimientos prediseados
Para compilar el cdigo el entorno utiliza el
compilador PIC C en cual es enlazado a travs de
un archivo por lotes en la lnea de comandos del
smbolo del sistema de Windows. Primero el cdigo
del usuario se guarda en un archivo de texto,
despus se carga las libreras del robot incluyendo
un archivo de cabecera, a continuacin se une los
dos archivos de texto y se guarda en un nuevo
archivo con extensin C para despus ser compilado
y el resultado es un archivo Hex.




21



Fig. 26 Ventana de compilacin
Para poder acceder a las funciones del Smartphone
se mostrara una ventana con los diferentes sensores
disponibles y funcionalidades como multimedia y
sntesis de voz, que por medio de una ventana
emergente mostrara la opcin para agregar el
cdigo correspondiente. Por ejemplo para darle la
orden al robot de mostrar un estado de nimo
bastara con hacer clic sobre la imagen
correspondiente.





CONCLUSIONES Y RECOMENDACIONES
La robtica pedaggica como medio de educacin y
enseanza, estimula al alumno a crear y desarrollar
proyectos de investigacin cientfica a partir de las
experiencias adquiridas con los materiales
didcticos, cubriendo las reas tericas y prcticas
para poder nivelar al alumno a los ms altos
estndares de tecnologa actual.
La plataforma de programacin del Robot es una
herramienta didctica que permite al usuario
generar una aplicacin para el robot sin necesidad
de conocer a detalle el funcionamiento de los
sistemas y subsistemas que lo componen. El
proyecto abre un perfil acadmico para el usuario,
ya que utiliza la mecnica como metodologa de
diseo en la estructura del robot, la electrnica en la
implementacin de circuitos en las etapas descritas
anteriormente y finalmente la informtica en la
creacin de aplicaciones embebidas y de ordenador
para darle funcionalidad al sistema. Integrando este
conjunto de elementos se genera un camino de
posibilidades para el acercamiento a la ciencia del
usuario a manera grupal y autodidacta, donde este
puede definir una especialidad en las ramas que
involucran al proyecto.
La integracin de los dispositivos mviles como los
Smartphone y tablets como difusin de tecnologa
despierta en usuarios expertos y pblico en general


22
a probar sus habilidades para experimentar la
dinmica del robot, siempre llamando la atencin e
introducindolos al mundo de la tecnologa de
vanguardia.


REFERENCIAS BIBLIOGRAFICAS

[1] La Robtica y su Beneficios [En lnea]
<http://www.urp.edu.pe/labcim/portal/imagenes/Ro
botica.pdf> [Consulta: 05 de octubre de 2012]

[2] La Importancia de la Robtica [En lnea]
<http://robotica-sociedad-educacion.blogspot.mx/>
[Consulta: 05 de octubre de 2012]

[3] Agentes Inteligentes en Educacin [En lnea]
<http://edutec.rediris.es/Revelec2/revelec16/villarre
al.pdf> [Consulta: 10 de octubre de 2012]

[4] Mayabot, Modelo Robtico En La Educacin
Para La Enseanza De Nuevas Tecnologas [En
lnea]
<http://www.ammci.org.mx/revista/pdf/Numero2/4
art.pdf> [Consulta: 10 de octubre de 2012]
[5] Robtica Pedaggica [En lnea]
<http://www.slideshare.net/cjrodriguez/robotica-
pedagogica#btnNext> [Consulta: 12 de octubre de
2012]
[6] Marco Terico para una Robtica Pedaggica
[En lnea]
<http://laboratorios.fi.uba.ar/lie/Revista/Articulos/0
10103/A4oct2004.pdf> [Consulta: 12 de octubre de
2012]
[7] Sistemas Embebidos [En lnea]
<http://www.idose.es/sistemas-embebidos>
[Consulta: 12 de octubre de 2012]
[8] Introduccin a los Sistemas Embebidos [En
lnea]
<http://www.slideshare.net/jkovima/introduccion-
a-los-sistemas-embebidos-presentation#btnNext>
[Consulta: 12 de octubre de 2012]
[9] Qu es un Sistema Operativo? [En lnea]
<http://www.euram.com.ni/pverdes/verdes_informa
tica/informatica_al_dia/que_es_un_so_144.htm>
[Consulta: 17 de octubre de 2012]
[10] Tipos de Sistemas Operativos [En lnea]
<http://www.e-
mas.co.cl/categorias/informatica/tiposso.htm>
[Consulta: 17 de octubre de 2012]
[11] Qu es Android? [En lnea]
<http://www.xatakandroid.com/sistema-


23
operativo/que-es-android> [Consulta: 17 de octubre
de 2012]
[12] Android App [En lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://www.webopedia.com/T
ERM/A/android_app.html&ei=IbTFUMmlOqTk2A
XZ3YHAAw> [Consulta: 17 de octubre de 2012]
[13] Android (Sistema Operativo) [En lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://en.wikipedia.org/wiki/A
ndroid_(operating_system)> [Consulta: 17 de
octubre de 2012]
[14] Microchip. Pic18F2455/2550/4455/4550 [En
lnea]
<http://ww1.microchip.com/downloads/en/devicedo
c/39632c.pdf> [Consulta: 20 de octubre de 2012]
[15] Arduino [En lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://en.wikipedia.org/wiki/A
rduino> [Consulta: 20 de octubre de 2012]
[16] Pingino [En lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://www.arduino.cc/>
[Consulta: 20 de octubre de 2012]
[17] Perifrico [En lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://www.techterms.com/def
inition/peripheral> [Consulta: 21 de octubre de
2012]
[18] Qu son los Sensores y Actuadores? [En
lnea]
<http://translate.google.com.mx/translate?hl=es&la
ngpair=en%7Ces&u=http://publib.boulder.ibm.com
/infocenter/pvcsensa/v6r1m0/topic/com.ibm.wrps.d
oc_6.1.0.1/ov_rfid.html> [Consulta: 21 de octubre
de 2012]
[19] Modulo Bluetooth [En lnea]
<http://gustavolaureano.blogspot.mx/2011/02/modu
lo-bluetooth-serial-bluetooth-rf.html> [Consulta: 16
de octubre de 2012]
[20] Modulo Bluetooth HC-06 [En lnea]
<http://www.neoteo.com/modulo-bluetooth-hc-06-
android> [Consulta: 16 de octubre de 2012]
[21] Romotive. Meet Romotive [En lnea]
<http://romotive.com/meet-romo#meet-romo>
[Consulta: 01 de octubre de 2012]


24
[22] Robot OddWerex [En lnea]
<http://www.pcdemano.com/modules.php?name=N
ews&file=article&sid=17630> [Consulta: 01 de
octubre de 2012]
[23] Bandai SmartPet Robot Dog [En lnea]
<http://www.japantrendshop.com/bandai-smartpet-
robot-dog-p-1391.html > [Consulta: 01 de octubre
de 2012]
[24] Lego Mindstorms NXT [En lnea]
<http://www.robotsperu.org/talleres/index.php?opti
on=com_content&view=article&id=53&Itemid=61
> [Consulta: 01 de octubre de 2012]