Construccion de Robot Futbolista a base de Arduino y bluetooth

Segun los reglamentos de la categoria el robot tiene que tener 15x15 (cm) por esta razon opte por utilizar como base una carcasa de fuente de computadora ya que esta tiene las mismas dimenciones. 


La disposición de los GEARBOX serán en forma vertical para así poder tener mas espacio para llevar la pelota.
 Utilizaremos las herramientas adecuadas ya que es metal, y tentremos que hacer cortes con medida para poder instalar los motores con sus llantas.
 Dobleremos la parte cortada hacia afuera para tener soporte para los motores y para hacer una especie de rampa en la estructura.



 Puliremos los filos para no tener inconvenientes ya que se pueden cortar por los bordes con astillas.
 De una tapa de calculadora vieja cortaremos un pedazo para que sea nuestra plataforma donde instalaremos nuestro arduino, esta plataforma nos protegerá de las vibraciones de los motores al arduino para no tener problemas de conexión.


 Le he puesto unos cauchos en cada tornillo para darle mayor estabilidad, estos cauchos los saque de un toca cd, es donde se desplaza el lente, para reducir las vibraciones.
 Así apreciaran mejor los cauchos y como van en nuestra carcasa justo detrás de los motores...

 Vamos a instalar nuestro disparador el cual lo saque de un VHS, el motor estaba con esa banda y lo unico que uni gue ese rodillo que es el que sostiene la cinta del caset VHS.
De un helicoptero de juguete dañado que saque el porta pilas para el robot, tambien utilize la cola que me sirvio como brazos para atrapar el balon
 Corte un prte de la carcasa arriba de la ruedas para hacer soporte y poder instalar el disparador


 Esta es la placa del puente H que utilize como tenia unas baterias que me daban 2.5 Amp. y para no tener problemas con los motores por el consumo de corriente este punte H aguanta 5 Amp y lo puedes encontrar en : https://www.facebook.com/Gale.Ele?fref=ts
 Este es el puente H que controlara los dos motores para sus diferentes sentidos de movimiento
 Con la segunta parte de la carcasa de la fuente es la que tapara nuestro robot, y en la parte superior realise un corte para que entre el porta pilas del helicoptero que les mencione anterior mente

 Porta pilas del helicoptero.

 De un telefono viejo que encontre y que no valia, en la parte de la bateria colocare mi bluetooth  aislandolo del ruido y de todo que afecte su funcionamiento al momento de poner en marcha el robot

 De la pantalla del celular que el plastico para darle un tono estetico 
 Le instale un switch el cual encendera solamente el arduino para hacer el emparejamiento del bluetooth con el dispositivo movil...

 Tamvien hize una avertura para poder incertar mi bateria que es la que alimenta al arduino.


 El robot consta de dos baterias las cuales son de 4 pilas que alimentan a los motores y una batería que alimenta al arduino, tenemos que cortar el sobrante de la carcasa por que es la zona donde actuara el disparador...


 Asi tiene que quedar la carcasa de fuente haciendo los dobles adecuados para que nuestro disparador este en optima desenvoltura
 Para los costados pondremos la cola de helicoptero para que de forma de brazos y asi poder llevar mejor la pelota..
 Asi quedaria la instalacion del puente H y los cables listos para ensamblar el robot




 Para tener un mejor agarre entre los brazos y para que al moemto del partido en algun golpe que siempre sucede por parte del adversario fijaremos con el sobrante de la carcasa de fuente y le fabricaremos una rampa uniendo con la rampa del medio que hicimos al inicio

 Como no tenia bateria de 9 V de las pequeñas como estaba diseñado al principio le puse una de carro RC pero igual funciono




 Asi quedarian los dobleses de la rampa y se pego muy bien con silicona
 Los ultimos toques de presentacion para darle distincion y claro hecho en : https://www.facebook.com/Gale.Ele?fref=ts


Robot futbolista


Primeras pruebas de funcionamiento




Ya el robot en el Concurso de Robotica RIOTRONIC 2013

LA APLICACION la puedes descargar de : http://www.mobot.es/MobotBTCar.html
y el codigo para arduino ya modificado para el GEARBOX  es :
int forward = 12; // Pin 12 - Forward
int reverse = 11; // Pin 11 - Reverse
int left = 10; // Pin 10 - Left
int right = 9; // Pin 9 - Right
int turbo = 8; // Pin 8 - Turbo
int short_lights = 7; // Pin 7 - Short Lights
int long_lights = 6; // Pin 6 - Long Lights
int back_lights = 5; // Pin 5 - Back Lights
int reverse_lights = 4; // Pin 4 - Reverse Lights

char val; // Variable to receive data from the serial port

void setup() {

// initialize the digital pins as output
pinMode(forward, OUTPUT);
pinMode(reverse, OUTPUT);
pinMode(left, OUTPUT);
pinMode(right, OUTPUT);
pinMode(turbo, OUTPUT);
pinMode(short_lights, OUTPUT);
pinMode(long_lights, OUTPUT);
pinMode(back_lights, OUTPUT);
pinMode(reverse_lights, OUTPUT);

Serial.begin(9600); // Start serial communication at 9600bps
}


// Fordward action
void go_forward() {
digitalWrite(forward, HIGH);
digitalWrite(turbo, HIGH);
digitalWrite(reverse, LOW);
}

// Stop Forward action
void stop_go_forward() {
digitalWrite(forward, LOW);
digitalWrite(turbo, LOW);
}


// Reverse action
void go_reverse() {
digitalWrite(reverse, HIGH);
digitalWrite(forward, LOW);
digitalWrite(turbo, LOW);
digitalWrite(reverse_lights, HIGH);
}

// Stop Reverse action
void stop_go_reverse() {
digitalWrite(reverse, LOW);
digitalWrite(reverse_lights, LOW);
}

// Turbo action
void go_turbo() {
digitalWrite(turbo, HIGH);
digitalWrite(forward, LOW);
digitalWrite(reverse, LOW);
}

// Stop Turbo action
void stop_go_turbo() {
digitalWrite(turbo, LOW);
}

// Left action
void go_left() {
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
}

// Right action
void go_right() {
digitalWrite(right, HIGH);
digitalWrite(left, LOW);
}

// Stop turnaction
void stop_turn() {
digitalWrite(right, LOW);
digitalWrite(left, LOW);
}

// Stop car
void stop_car() {
digitalWrite(forward, LOW);
digitalWrite(reverse, LOW);
digitalWrite(turbo, LOW);
digitalWrite(right, LOW);
digitalWrite(left, LOW);
digitalWrite(reverse_lights, LOW);
}

// Short Lights ON
void lights_on() {
digitalWrite(short_lights, HIGH);
digitalWrite(back_lights, HIGH);
}

// Short Lights OFF
void lights_off() {
digitalWrite(short_lights, LOW);
digitalWrite(back_lights, LOW);
}

// Long Lights ON
void long_lights_on() {
digitalWrite(long_lights, HIGH);
}

// Long Lights OFF
void long_lights_off() {
digitalWrite(long_lights, LOW);
}

// Reverse Lights ON
void back_lights_on() {
digitalWrite(reverse_lights, HIGH);
}

// Reverse Lights OFF
void back_lights_off() {
digitalWrite(reverse_lights, LOW);
}

// Read serial port and perform command
void performCommand() {
if (Serial.available()) {
val = Serial.read();
}
if (val == 'f') { // Forward
go_forward();
} else if (val == 'z') { // Stop Forward
stop_go_forward();
} else if (val == 'b') { // Backward
go_reverse();
} else if (val == 'y') { // Stop Backward
stop_go_reverse();
} else if (val == 't') { // Turbo
go_turbo();
} else if (val == 'x') { // Stop Turbo
stop_go_turbo();
} else if (val == 'l') { // Right
go_right();
} else if (val == 'r') { // Left
go_left();
} else if (val == 'v') { // Stop Turn
stop_turn();
} else if (val == 's') { // Stop
stop_car();
} else if (val == 'a') { // Short Lights
lights_on();
} else if (val == 'c') { // Stop Short Lights
lights_off();
} else if (val == 'd') { // Long Lights
long_lights_on();
} else if (val == 'e') { // Stop Long Lights
long_lights_off();
}

}


void loop() {
performCommand();
}


Share on Google Plus

About Gaelec

    Blogger Comment
    Facebook Comment

2 comentarios:

  1. De la experiencia adquirida en el concurso.... tengo que hacerlo lo mas liviano que pueda, la fuerza de empuje esta muy bien pero para velocidad le falta un poco, eso tengo que arreglar un poco...

    ResponderBorrar
  2. Que tal Felipe Muñoz, veras soy encargado de impartir un curso sobre robotica basada en Arduino para alumnos de preparatoria acá en México y me parece que podría aumentar su interés en este tema si ven un proyecto como el tuyo, que no es un simple robot sigue linea y que camina atrás y adelanta sino que ya realiza una actividad bastante interesante como lo es el futbol. Sera posible que me facilitaras material utilizado, diagrama de conexiones y los codigos necesarios para hacer un robot similar al tuyo? De antemano Gracias.!

    ResponderBorrar