You are on page 1of 31

UNIVERSIDAD NACIONAL DE SAN

AGUSTN
FACULTAD DE INGENIERA DE PRODUCCIN Y
SERVICIOS
ESCUELA PROFESIONAL DE INGENIERA
ELECTRNICA

MICROELECTRNICA EN RF
DISEO E IMPLEMENTACIN DE UN BRAZO ROBTICO
CONTROLADO POR ACCESO REMOTO

Docente:
- Ing. Humberto Salazar
Alumno:
- Escalante Quispe, Leonardo Rommel

2012

- Maldonado Tito, Kevin Alexis


20122382
Arequipa - 2016

DISEO Y CREACIN DE UN BRAZO ROBTICO PARA EL


TRASLADO DE SUSTANCIAS PELIGROSAS
RESUMEN
Para el proyecto integrado se ha decidido construir un brazo robtico, que traslade un tubo
de ensayos desde una base hacia una gradilla especial, formado por piezas de MDF,
mapresa y servo motores. Para el control del brazo se realizar una interfaz con una
aplicacin android, la cual, se comunicar con el robot va bluetooth, siendo los que reciban
e interpreten las instrucciones: el mdulo bluetooth HC-06 y el Arduino UNO
respectivamente.
Para desarrollar la aplicacin android se utilizar la herramienta AppInventor, y para el
programa que va a interpretar y a ejecutar las instrucciones emitidas por la app, se utilizar
el entorno de programacin que proporciona el software de arduino.

INTRODUCCIN
Los brazos robticos son creados con el fin de realizar tareas repetitivas, difciles, o
peligrosas; la mayora de usos se dan a nivel industrial donde ejecutan tareas programadas
para la produccin en una compaa. Aunque en algunos casos se crean con fines mdicos.
Muchos de los procesos de produccin llevan un nivel de peligro en algunas tareas, como lo
son la manipulacin de sustancias qumicas corrosivas o el manejo de elementos peligrosos
como materia prima para la elaboracin de fertilizantes, plaguicidas, combustibles y
productos qumicos (cido sulfrico, soda caustica, entre otros), y de haber un error
humano traera consecuencias graves, por esta razn el proyecto es disear y crear un
prototipo de un brazo robtico, con el fin de que pueda llegar a ser utilizado como
herramienta para realizar tareas peligrosas en estos procesos de produccin, y as lograr
minimizar los riesgos y accidentes en la ejecucin de este tipo de trabajos, desde este punto

de vista el brazo robtico puede llegar a tener gran aceptacin en compaas que traten con
productos qumicos. Ahora bien visto desde la parte empresarial la idea a un largo plazo es
poder fabricar estos brazos a partir del prototipo y poderlos alquilar a estas compaas.

DESCRIPCIN DEL PROBLEMA


Los procesos en compaas y laboratorios qumicos llevan consigo cierto nivel de peligro,
en algunas tareas de produccin, esto se hace ms notorio en laboratorios qumicos donde
algunas sustancias son corrosivas como (los cidos), o inflamables como (la acetona. el
metanol, el tolueno), explosivas como (la plvora, la gasolina y el amonio dicromato), o
tambin pueden ser comburentes que al entrar en contacto con otra sustancia generan
reacciones exotrmicas como lo es (el sodio perxido).
Esto conlleva a un gran problema ya que la integridad del personal se ve afectada, aunque
se tomen medidas de precaucin como el uso de trajes apropiados y polticas de seguridad
para reducir el peligro, el riesgo an sigue latente ya que de haber un error humano las
consecuencias seran fatales.

JUSTIFICACIN
-

Ser un adelanto tecnolgico y un beneficio para los empleados que arriesgan su


integridad al manipular estas sustancias peligrosas.
Beneficios econmicos en la reduccin de costos por la no fabricacin de trajes y
elementos de seguridad.
Aportar a nuestro proceso de formacin y despertara el inters de otros estudiantes.
Beneficio para el medio Ambiente al reducir la utilizacin de materias primas para
la fabricacin de trajes de seguridad.

OBJETIVOS
GENERAL

- Disear y crear el prototipo de un brazo robtico, que pueda controlarse desde un


dispositivo mvil que posea una interfaz de fcil manejo y de este modo reducir los
riesgos al momento de manipular sustancias peligrosas en laboratorios qumicos.
ESPECFICOS

- Recolectar y analizar informacin sobre la industria qumica y sobre la fabricacin


de brazos robticos, para poder aplicarla al desarrollo del proyecto.

- Plantear etapas de diseo de hardware y software paralelamente, acerca de mejoras


-

fsicas del prototipo, y creacin de la interfaz grfica para su control en el


dispositivo mvil, permitiendo as la optimizacin del prototipo del brazo robtico.
Crear y equipar al prototipo del brazo robtico con la pinza mecnica que permita la
manipulacin de las sustancias peligrosas.
Aprovechar el circuito electrnico que posee el Arduino UNO para el control de los
servomotores (PWM).
Configurar el mdulo Bluetooth para conectarlo al Arduino UNO y establecer una
conexin inalmbrica con el dispositivo mvil.
Implementar un software para el funcionamiento del Arduino UNO y tambin para
la interfaz grfica que permita el manejo del brazo robtico.
Disear un shield para el Arduino UNO y de esta manera realizar un mejor
conexionado.

INSTRUMENTOS

Ordenador personal.
Tablet o smartphone.
Mdulo bluetooth JY HC-06.
Arduino UNO.
Software para la creacin de la App.
Software especfico de arduino.
Shield para arduino UNO.

PROCEDIMIENTOS:

- Compra de materiales (servomotores, mdulo bluetooth, material estructura


-

brazo).
Diseo del programa del arduino para el control de los servomotores en el entorno
de arduino (programacin en C).
Comprobacin del correcto funcionamiento del programa con los servos.
Configuracin del mdulo bluetooth con el arduino.
Diseo de la App mediante la herramienta App inventor 2 para la comunicacin
con el mdulo bluetooth (programacin por bloques).
Comprobacin del correcto funcionamiento de la App con el mdulo bluetooth y los
motores.
Diseo y construccin de la PCB para el shield del arduino UNO.
Diseo y construccin del brazo robtico (MDF).
Comprobacin del correcto funcionamiento del brazo robtico ya terminado.
Elaboracin de la documentacin del proyecto.
Presentacin del proyecto ms la documentacin.

COMPONENTES Y MATERIALES
BRAZO ROBTICO
-

6 Servomotores.
Cables y conectores.
Material para la estructura
Tornillera.

UNIDAD DE CONTROL Y RECEPTORA


-

Arduino UNO.
Mdulo bluetooth.
Tira de zcalos y pines (Shield).
Placa de baquelita (Shield).

UNIDAD EMISORA
-

Tablet o smartphone con bluetooth.


Nuestra App.
App Inventor.

ANLISIS Y DESCRIPCIN DEL PROYECTO


Este proyecto est formado por cuatro bloques:
-

Programacin de la aplicacin android.


Recepcin de datos por el mdulo Bluetooth HC-06.
Programacin del controlador Arduino UNO.
Brazo Robtico.

ESQUEMA

APLICACIN ANDROID
El desarrollo de la aplicacin se ha realizado con Google App Inventor. Es una aplicacin
de Google Labs para crear aplicaciones de software para el sistema operativo Android. De
forma visual y a partir de un conjunto de herramientas bsicas, el usuario puede ir
enlazando una serie de bloques para crear la aplicacin.
El diseo de la aplicacin Android se ha dividido en dos partes o ventanas, la primera
realiza la funcin de introduccin y la segunda contiene los componentes necesarios para el
control del brazo robtico.

DISEO Y PROGRAMACIN DE LA VENTANA SCREEN 1


Programacin de la ventana Screen1:

DISEO Y PROGRAMACIN DE LA VENTANA SCREEN2:


Programacin de la ventana Screen2:

MDULO BLUETOOTH

La instalacin del mdulo Bluetooth sera la siguiente:

Los pines digitales 0 y 1 de la placa arduino son los que se utilizan para realizar la
comunicacin serie entre el microcontrolador y el mdulo HC-06.
El mdulo bluetooth HC-06 esta acoplado a una placa JY-MCU, la cual regula la de entrada
de 5v a 3,3v, que es con la que trabaja.
PROGRAMACIN DEL ARDUINO UNO
#include <Servo.h>
//Declaramos las variables de la clase servo.
Servo cintura;
Servo hombro;
Servo codo;
Servo munieca;
Servo gMunieca;
Servo pinza;
//Declaramos variables globales.
char comando;
unsigned posicion;
int movTiempo=15;
int angulo=0;
int datoUp=0;
int datoDown=0;
int grado1=0;
int grado2=0;
int grado3=0;
int grado4=0;
int grado5=0;
int grado6=0;
int a=0;
//Zona de configuracin al iniciar el programa.
void setup(){
Serial.begin(9600); // Abrimos puerto serial y establecemos
//velocidad.
cintura.attach(8); //Asociamos la variable servo a un pin del arduino
hombro.attach(9);// siendo los pines que pueden generar
//PWM:3,5,6,9,10 y 11.
codo.attach(10);
munieca.attach(11);
gMunieca.attach(12);

pinza.attach(13);
delay(500);
posreposo(); // Llamamos a una funcin la cual posicionar
// el brazo de una forma determinada.
}
void loop()
{
Serial.flush(); //Vaca el bfer de entrada de datos en serie.
if(Serial.available()>0)//Preguntamos si el puerto serie est
//disponible y si contiene algn dato.
{
comando = Serial.read();//Captura 1 byte como caracter desde el
//puerto serie.
posicion = Serial .parseInt();//Devuelve el primer numero entero
//del puerto serie.
switch(comando)
{
//Movimiento Cintura
case 'A':
movCintura(posicion); //Llamamos a una funcin introduciendo
break; //como argumento el ngulo del servo.
//Movimiento Hombro. //La funcin realizar el movimiento del
//servo a la
case 'B': //posicin introducida.
movHombro(posicion);
break;
//Movimiento Codo.
case 'C':
movCodo(posicion);
break;
//Movimiento Mueca.
case 'D':
movMunieca(posicion);
break;
//Movimiento Cmueca.
case 'E':
movGmunieca(posicion);
break;
//Movimiento Pinza.
case 'F':
movPinza(posicion);
break;
//Movimiento Conexin.
case 'G':
posconectar();
break;
//Movimiento Reposo/Desconexin.
case 'H':
posreposo();
break;
case 'J':
programa();
break;
case 'M':
a=0;
preestablecido();

break;
}
}
}
//Funcin movimiento Reposo/Desconexin.
void posreposo()
{
movPinza(90);
movGmunieca(167);
movHombro(81);
movCodo(87);
movMunieca(112);
movCintura(29);
}
//Funcin movimiento conexin
void posconectar()
{
movCintura(90);
movCodo(90);
movHombro(90);
movMunieca(100);
movGmunieca(90);
movPinza(60);
}
//Movimiento Servomotor cintura
void movCintura(int grado)
{
int patron = cintura.read(); //Primero almacenamos la posicin del
//servo en la variable patro.
if(patron>grado) //Si el valor de la variable patron
//es mayor que la posicin
{ //que le hemos mandado, entra en este
//buble for.
for(int i=patron;i>=grado;i--)//Este ir decrementando la variable
//de control hasta llegar
{ //a la posicin establecida.
cintura.write(i); //Cada decremento de la variable de
//control(i) se utiliza para establecer
delay(movTiempo); // el servo a ese ngulo.
}
}else
{ //Si de lo contrario la variable
//patron es menor que la posicin
for(int i=patron;i<=grado;i++)//a la que queremos que se dirija,
//entra en este otro for que va
{ // evolucionando de manera
//ascendente.
cintura.write(i);
delay(movTiempo);
}
}
}
// Movimiento Servomotor hombro
void movHombro(int grado)
{
int patron = hombro.read();

if(patron>grado)
{
for(int i=patron;i>=grado;i--)
{
hombro.write(i);
delay(movTiempo);
}
}else
{
for(int i=patron;i<=grado;i++)
{
hombro.write(i);
delay(movTiempo);
}
}
}
// Movimiento Servomotor codo
void movCodo(int grado)
{
int patron = codo.read();
if(patron>grado)
{
for(int i=patron;i>=grado;i--)
{
codo.write(i);
delay(movTiempo);
}
}else
{
for(int i=patron;i<=grado;i++)
{
codo.write(i);
delay(movTiempo);
}
}
}
// Movimiento Servomotor Mueca
void movMunieca(int grado)
{
int patron = munieca.read();
if(patron>grado)
{
for(int i=patron;i>=grado;i--)
{
munieca.write(i);
delay(movTiempo);
}
}else
{
for(int i=patron;i<=grado;i++)
{
munieca.write(i);
delay(movTiempo);
}
}
}

// Movimiento Servomotor Giro Mueca


void movGmunieca(int grado)
{
int patron = gMunieca.read();
if(patron>grado)
{
for(int i=patron;i>=grado;i--)
{
gMunieca.write(i);
delay(movTiempo);
}
}else
{
for(int i=patron;i<=grado;i++)
{
gMunieca.write(i);
delay(movTiempo);
}
}
}
// Movimiento Servomotor Pinza
void movPinza(int grado)
{
int patron = pinza.read();
if(patron>grado)
{
for(int i=patron;i>=grado;i--)
{
pinza.write(i);
delay(movTiempo);
}
}else
{
for(int i=patron;i<=grado;i++)
{
pinza.write(i);
delay(movTiempo);
}
}
}
void programa()
{
int cont=0;
Serial.flush();
while(Serial.parseInt()!='I' && cont<2)
{
posconectar();
delay(2000);
if(cont=0)
{
datoUp=68;
datoDown=61;
}else if(cont=1)
{
datoUp=65;
datoDown=65;

}else
{
datoUp=61;
datoDown=68;
}
movIzq(datoUp);
movDer(datoDown);
cont++;
}
}
void movIzq(int dato)
{
movCintura(115);
movHombro(dato);
movCodo(103);
movMunieca(99);
movGmunieca(88);
movPinza(53);
}
void movDer(int dato)
{
movCintura(56);
movHombro(dato);
movCodo(103);
movMunieca(99);
movGmunieca(88);
movPinza(31);
}
void preestablecido()
{
if(a==0){
grado1=88;
grado2=90;
grado3=90;
grado4=90;
grado5=100;
grado6=105;
for(int i = 0; i<=40; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 2);
grado3=(grado3 - 1);
grado4=(grado4 + 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=5; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 2);
grado3=(grado3 - 1);

grado4=(grado4 + 2);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=25; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 0);
grado3=(grado3 - 0);
grado4=(grado4 + 1);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=30; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 0);
grado3=(grado3 - 0);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 2);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=10; i++){
grado1=(grado1 - 0);
grado2=(grado2 + 1);
grado3=(grado3 - 1);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}

for(int i = 0; i<=10; i++){


grado1=(grado1 - 0);
grado2=(grado2 + 1);
grado3=(grado3 - 0);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=75; i++){
grado1=(grado1 - 1);
grado2=(grado2 + 0);
grado3=(grado3 + 0);
grado4=(grado4 - 0);
grado5=(grado5 + 0);
grado6=(grado6 + 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=10; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 1);
grado3=(grado3 - 0);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=10; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 1);
grado3=(grado3 + 1);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);

gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=30; i++){
grado1=(grado1 - 0);
grado2=(grado2 - 0);
grado3=(grado3 - 0);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 + 2);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=20; i++){
grado1=(grado1 - 0);
grado2=(grado2 + 1);
grado3=(grado3 - 1);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 - 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=10; i++){
grado1=(grado1 + 2);
grado2=(grado2 + 1);
grado3=(grado3 + 2);
grado4=(grado4 - 1);
grado5=(grado5 - 2);
grado6=(grado6 + 0);
cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
for(int i = 0; i<=25; i++){
grado1=(grado1 + 2);
grado2=(grado2 + 2);
grado3=(grado3 + 1);
grado4=(grado4 - 0);
grado5=(grado5 - 0);
grado6=(grado6 + 0);

cintura.write(grado1);
hombro.write(grado2);
codo.write(grado3);
munieca.write(grado4);
gMunieca.write(grado5);
pinza.write(grado6);
delay(50);
}
}
a=1;
}

DIAGRAMA DE BLOQUES DE LA PROGRAMACIN EN ARDUINO

BRAZO ROBTICO
Este proyecto se basa en la automatizacin de un brazo robtico de 6 grados de libertad, el
cual se realiza mediante la interface conocida como Arduino.
En este Proyecto se unifica tanto la Electrnica con la Informtica, logrando as la
Automatizacin del brazo.
ANLISIS DEL BRAZO
El brazo robtico posee 6 grados de libertad. A continuacin se muestra un esquema con los
seis ejes de giro que posee el brazo. Se puede observar que los ejes q1, q4 y q6 son giros
respecto a la vertical mientras que q2, q3 y q5 son giros respecto a la horizontal.

Esquema con la ubicacin de los ejes del brazo.


Una vez indicados los ejes de giro del brazo, podemos describir el rea de trabajo del
mismo. sta queda contenida en un plano delimitado por el ngulo de giro de la base (q1).
Se puede observar el rea de trabajo del robot en la siguiente ilustracin.

50cm

rea de trabajo del brazo en un plano.

TIEMPO Y VELOCIDAD DE OPERACIN DEL BRAZO


Tiempo de operacin para transportar el tubo de ensayo de una rendija a otra:
Tmn=5 segundos, Tmx=9 segundos
Velocidad de operacin para transportar el tubo de ensayo de una rendija a otra:
Vmn=8cm/seg, Vmx=12cm/seg
VELOCIDAD DE MOVIMIENTO DE LOS SERVOS
Sin carga: Cada servomotor se mueve 60 en 0,17 segundos.
Con carga: Cada servomotor se mueve 60 en 0,22 segundos.
Dato a tener en cuenta: Puesto que los servos operan a altas velocidades, es de prioridad
hacer una programacin que trabaje de manera segmentada el movimiento, lo cual evitara
movimientos muy bruscos que puedan afectar la estabilidad del transporte del tubo de
ensayo.
SERVOMOTORES
Hay tres tipos de servomotores:
Servomotores de CC
Servomotores de AC
Servomotores de imanes permanentes o Brushless.

Tiene adems de los circuitos de control un potencimetro conectado al eje central del
motor. Este potencimetro permite a la circuitera de control, supervisar el ngulo actual del
servo motor. Si el eje est en el ngulo correcto, entonces el motor est apagado. Si el
circuito chequea que el ngulo no es correcto, el motor volver a la direccin correcta,
hasta llegar al ngulo que es correcto. El eje del servo es capaz de llegar alrededor de los
180 grados. Normalmente, en algunos llega a los 210 grados, pero vara segn el fabricante.
Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un
servo normal no es mecnicamente capaz de retornar a su lugar, si hay un mayor peso que
el sugerido por las especificaciones del fabricante.
Los servomotores tienen 3 terminales:
Terminal positivo: Recibe la alimentacin del motor (4 a 8 voltios, son de color Rojo)
Terminal negativo: Referencia tierra del motor (0 voltios, son de color Negro)
Entrada de seal: Recibe la seal de control del motor (son de color Naranja).
ESPECIFICACIONES DE LOS ELEMENTOS A USAR
MG996R

Tipo de Interfaz: Analgica


Torque: 8.5kg/cm (4.8V), 10kg/cm (6V)
Voltaje de operacin: 4.8 7.2V
Velocidad de Operacin (4.8V sin carga): 0.2 seg / 60 grados
Velocidad de Operacin (6V sin carga): 0.16 seg / 60 grados
Conector universal para la mayora de los receptores de radio control
Rango de Temperatura: -30 a +60 C

SG90

Velocidad: 0.10 sec/60 @ 4.8V


Torque: 1.8 Kg-cm @ 4.8V
Voltaje de funcionamiento: 3.0-7.2V
Temperatura de funcionamiento: -30 ~ 60
ngulo de rotacin: 180
Ancho de pulso: 500-2400 s
Longitud de cable de conector: 24.5cm

ARDUINO UNO

Modulo Bluetooth HC-05

Compatible con el protocolo Bluetooth


V2.0.
Voltaje de alimentacin: 3.3VDC
6VDC.
Voltaje de operacin: 3.3VDC.
Baud rate ajustable: 1200, 2400, 4800,
9600, 19200, 38400, 57600, 115200.
Baud rate por defecto: 9600
Tamao:
1.73 in x
0.63 in x

0.28 in (4.4 cm x 1.6 cm x 0.7 cm)


Corriente de operacin: < 40 mA
Corriente modo sleep: < 1mA

COMPRA DE MATERIALES
ARDUINO UNO

Mdulo BLUETOOTH HC06


Cables de conexin

SERVOMOTORES

CONEXIONADO

Los Servos motores tienen 3 pines de conexin (Masa, Positivo, Seal).


Los pines utilizados para la seal son 6 salidas PWM, que me permiten manipular los
servos en la posicin que yo desee (3, 5, 6, 7, 9, 10, 11).

BIBLIOGRAFA

[1] Colombia. com. [En lnea]. 2012. Disponible:


http://www.colombia.com/tecnologia/ciencia-y-salud/sdi/45086/las-empresascolombianas-tambien-estan-dotadas-de-robots-industriales.
[2] arduino.cc. [En lnea]. Disponible: http://www.arduino.cc/
[3] A.A. Romero, Diseo, impresin, montaje y control de un manipulador
robtico. Trabajo de grado de pregrado de la Universidad Carlos III de Madrid,
2012.
[4] M.A. Cdiz, Ooml: Una Biblioteca C++ para el desarrollo mecnico aplicado
a robtica. Trabajo de grado de pregrado de la Universidad Carlos III de Madrid,
2012.
[5] S. Kumar Saha, Introduccin a la robtica. Espaa: McGraw-Hill, 2010.
[6] F. Jeff, Java para desarrollo Android. Madrid: Anaya Multimedia, 2011.
[7] S. Ratabouil, Android NKD Beginners Guide. Olton Birmingham: Packt
Publishing, 2012.
[8] G. S. A. Milette, Professional Android Sensor Programming. Somerset, NJ,
USA: Wiley, 2012.
[9] D. Torres Milano, Android Application Testing Guide. Olton Birmingham:
Packt Publishing, 2011.
[10] W.H. Tranter, Wireless Personal Communications: Bluetooth Tutorial and
Other Technologies. Hingham, MA, USA: Kluwer Academic Publishers, 2000.
[11] D. Gratton, Developing Practical Wireless Applications. Burlington, MA,
USA: Digital Press, 2007.
[12] S. Rackley, Wireless Networking Technology: From Principles to Successful
Implementation. Jordan Hill, GBR: Newnes, 2007.
[13] http://robologs.net/2015/07/18/tutorial-de-arduino-controlar-dos-servospor-serial/
[14] http://mitappsinventor.blogspot.pe/2015/05/control-multiple-servo-motorsusing.html
[15] http://elprofegarcia.com/?p=202
[16] http://www.roboremo.com/arduino-bluetooth-servo.html
[17] http://www.instructables.com/id/How-to-control-servo-motor-from-androidapp/?ALLSTEPS
[18] https://sites.google.com/site/educretton/Programacin/Arduino/proyectobrazo-6-grados
[19] http://www.instructables.com/id/Control-Multiple-servo-motors-fromandroid-and-ard/

CONCLUSIONES
-

Se logr implementar un brazo robtico con estructura de MDF y mapresa.


Se logr acoplar los servomotores con la estructura de forma adecuada.
Se dise una programacin para el arduino, la cual nos permite establecer el
control sobre el brazo robtico.
Se dise una programacin en App Inventor, la cual nos provee una interfaz
amigable y de esa manera tener un control con acceso remoto.
Se estableci una base de MDF para todo el proyecto, tanto para el brazo robtico,
la gradilla y la base de plstico que sostiene el tubo de ensayos.
Se dise un shield especficamente para el Arduino UNO, el cual nos permite un
mejor conexionado con el mdulo bluetooth.
Se configur el mdulo bluetooth adecuadamente, dndole caractersticas propias
del alumno.
Se adecu el cableado para que no cree obstculos a la hora del funcionamiento del
brazo robtico.
Se colocaron jebecillos en las pinzas para lograr un mejor agarre del tubo de
ensayos.
Se elabor una base circular de mapresa para brindar mayor estabilidad a la hora del
movimiento de la cintura del brazo robtico.
Se coloc un resorte en el brazo robtico, el cual permite un amortiguamiento
cuando ocurran movimientos bruscos por actuacin del slider.
Se acopl alimentacin especfica tanto para el arduino como para los servomotores.
Se logr disear movimientos manuales y un movimiento automtico para trasladar
el tubo de ensayos desde la base de plstico hacia la gradilla.

POSIBLES MEJORAS

- Controlar el brazo robot a distancia mediante el sensor Kinect, el cual nos provee un
-

fcil manejo, cualquier usuario pueda manipularlo y de esa manera mejorar el


posicionamiento.
Buscar que el proyecto sea eficiente a nivel energtico y funcional.

You might also like