Вы находитесь на странице: 1из 7

INSTRUCCIONES PARA BRAZO ROBÓTICO RV.

09

Link de video de armado rv.09 escarabajo: https://www.youtube.com/playlist?


list=PLh3iIqo6Gz88hk9x4rtY69RaBKwmD6lB1

Link de armado de fuente: https://www.youtube.com/playlist?


list=PLh3iIqo6Gz893ReGtY0SDD4-yx1VC9tsG

PARA CONTROL BLUETOOTH:


El siguiente esquemático muestra las conexiones si deseas controlarlo vía bluetooth
desde tu celular.

Si se desconecta el bluetooth alimenta por separado el arduino (usa una fuente 5v


500 mA) y los servos (una fuente 5v 1.5 o 2 A). Si el problema persiste cambia la
fuente de los motores o acondicionala con un capacitor adecuado.

Ahora debes cargar sólo el código arduino siguiente a tu placa arduino uno. Si no
te la reconoce y aparece el mensaje “AVRDUDE” debes instalar un driver para el
integrado CH340 siguiendo los pasos indicados en el siguiente link:
https://www.youtube.com/watch?v=LIWn59qNbRk

Código a cargar:

#include <Servo.h> // Incluimos la biblioteca Servo

//Determina los pines que controlaran al brazo robotico


//estos pines son los PWM e inicia con el pin
// que controla al servomotor del eje de las pinzas
// del gripper Pin 11, finalizando con el pin 3
// que controla a la base del brazo robotico.

#define PinSerGripper 11
#define PinSerMuneca 10
#define PinSerCodo2 9
#define PinSerCodo1 6
#define PinSerHombro 5
#define PinSerEje 3

//Cargo los valores iniciales


#define init_serv_gripper 30
#define init_serv_muneca 80
#define init_serv_codo2 35
#define init_serv_codo1 55
#define init_serv_hMAX 165
#define init_serv_EJE 90

Servo Srv_Gripper,Srv_muneca,Srv_Codo2, Srv_Codo1, Srv_Hombro, Srv_Eje; //


Definimos los servos que vamos a utilizar

byte Vlr_Hombro = 0;

byte BufferIn[4];
boolean StringCompleta = false;
boolean ValPWMLeido = false;

byte Cont_char =0;

void setup()
{
Serial.begin(9600);
Serial.println("INICIANDO");
Srv_Gripper.attach(PinSerGripper);
Srv_Gripper.write(init_serv_gripper);

Srv_muneca.attach(PinSerMuneca);
Srv_muneca.write(init_serv_muneca);

Srv_Codo2.attach(PinSerCodo2);
Srv_Codo2.write(init_serv_codo2);

Srv_Codo1.attach(PinSerCodo1);
Srv_Codo1.write(init_serv_codo1);//INCREMENTO Y SE LEVANTA

Srv_Hombro.attach(PinSerHombro);
Srv_Hombro.write(init_serv_hMAX);//DECREMENTO SE LEVANTA
Vlr_Hombro = init_serv_hMAX;

Srv_Eje.attach(PinSerEje);
Srv_Eje.write(init_serv_EJE);

Cont_char=0;
ValPWMLeido = false;

BufferIn[0]= 0;
BufferIn[1]= 200;

void loop()
{
if ((StringCompleta == true)&&(Cont_char ==2))
{
ValPWMLeido = false;
if (BufferIn[0]== 191){Srv_Gripper.write(BufferIn[1]);}
if (BufferIn[0]== 192){Srv_muneca.write(BufferIn[1]);}
if (BufferIn[0]== 193){Srv_Codo2.write(BufferIn[1]);}
if (BufferIn[0]== 194){Srv_Codo1.write(BufferIn[1]);}
if (BufferIn[0]== 195){Srv_Hombro.write(BufferIn[1]);}
if (BufferIn[0]== 196){Srv_Eje.write(BufferIn[1]);}
//Serial.println(BufferIn[0]);
//Serial.println(BufferIn[1]);

StringCompleta = false;
Cont_char=0;
ValPWMLeido = true;

BufferIn[0]= 0;
BufferIn[1]= 200;
}
}

void serialEvent()
{
if(ValPWMLeido = true)
{
while (Serial.available())
{
BufferIn[Cont_char] = (byte)Serial.read();
if(BufferIn[1]!= 200){StringCompleta=true;}
Cont_char++;
}
}
}

Ahora hay que instalar la app de control bluetooth en tu celular desde playstore,
se llama "brazo robótico" y fué desarrollada por innova domotics.

Debes seguir los siguientes pasos para la configuración:

* Conecta el brazo robótico ya alambrado a la red eléctrica.


* Abre tu bluetooth en el celular y vincula con el hc-05. Generalmente la clave es
1234, pero algunas veces funciona el 0000 ó el 1111.
* Abre la aplicación
* Ve a configuracion
* Valores mínimos todos cero
* Valores iniciales todos 90, excepto el gripper que se inicia a 60.
* Valores finales todos a 180
* Guardar
* Regresar
* Inicializar (habrá un movimiento brusco)
* Ya se podrá controlar el brazo.
PARA CARGAR LA SECUENCIA DE AGARRE DEL VIDEO:
Se alambra de la siguiente manera (es similar al control bluetooth pero sin el hc-
05)

Ahora hay que cargar el siguiente código de agarre en el arduino uno:

#include<Servo.h>

Servo gripper;
Servo giromuneca;
Servo verticalmuneca;
Servo codo;
Servo girohombro;

int pos = 90;


int a = 90;
void setup()
{
gripper.attach(3);
gripper.write(90);

giromuneca.attach(5);
giromuneca.write(90);

verticalmuneca.attach(6);
verticalmuneca.write(90);

codo.attach(9);
codo.write(90);

girohombro.attach(10);
girohombro.write(90);
}
void loop()
{

for(pos = 90; pos >=0; pos--)


{
gripper.write(pos);
delay(5);
}
for(pos = 0; pos <= 90; pos++)
{
gripper.write(pos);
delay(5);
}
for(pos = 90; pos >=0; pos--)
{
gripper.write(pos);
delay(5);
}
for(pos = 0; pos <= 90; pos++)
{
gripper.write(pos);
delay(5);
}

for(pos = 90; pos >= 0; pos--)


{
gripper.write(pos);
delay(5);
}

for(pos = 0; pos <= 90; pos++)


{
gripper.write(pos);
delay(5);
}
delay(500);

//ahora corregimos el siguiente movimiento

for(pos = 90; pos <= 180; pos++)


{
giromuneca.write(pos);
delay(5);
}

for(pos= 180; pos >=0; pos--)


{
giromuneca.write(pos);
delay(5);
}

for(pos= 0; pos <=90; pos++)


{
giromuneca.write(pos);
delay(5);
}
for(pos= 90; pos >=0 ; pos--)
{
girohombro.write(pos);
delay(10);
}

for(pos=90; pos >=0; pos--)


{
codo.write(pos);
verticalmuneca.write(pos);
delay(10);
}

for(pos= 0; pos<= 50; pos++)


{
verticalmuneca.write(pos);
delay(10);
}

for(pos= 90; pos>=0; pos--)


{
gripper.write(pos);
delay(10);
}

for(pos= 0; pos <=150; pos++)


{
codo.write(pos);
verticalmuneca.write(50+(2*pos)/3);
delay(10);
}

for(pos= 0; pos<=180; pos++)


{
girohombro.write(pos);
giromuneca.write(90+pos/2);
delay(10);
}

for(pos=150; pos>=0; pos--)


{
codo.write(pos);
verticalmuneca.write(50+(2*pos/3));
giromuneca.write(90+3*pos/5);
delay(10);
}

for(pos= 0; pos<=90; pos++)


{
gripper.write(pos);
delay(10);
}

for(pos= 0; pos<=90; pos++)


{
codo.write(pos);
verticalmuneca.write(50+4*pos/9);
girohombro.write(180-pos);
delay(10);
}
delay(12000);
}

Ahora está listo para funcionar!

Muchas gracias por su compra. En Alphabot es un gusto apoyarle.

Вам также может понравиться