Robot futbolista. Diseño y programación
Gral. José de San Martín D.E.1.

Rector: Prof. Pablo Climent
Vicerector: Jonathan Witten
Jefe Gral. Ens. Prácticas: Prof. José Czernochivsky
Docente Taller de Electrónica: Matías Juncos
Docentes Taller de electrónica - Ciclo básico: Rubén Machaca, Agustín Menendez
Electrónica Ciclo Superior: Coordinador Jonathan Czernochivsky
Rector: Profesor Julio C. Patiño
Objetivo:
Es un robot que puede ser controlado a distancia a través de un módulo y un dispositivo celular (Android) con bluetooth. La finalidad es que el robot tome una pelota con su pala delantera y la traslade hacia el arco. Anotando así un gol cuando la pelota entre al arco. Se puede dibujar un círculo o un cuadrado con tiza en el piso como arco. Se construyó en el taller de carpintería una cancha de futbol en madera.
Se estipulan tiempos de juego. Se usan dos robots.
Las reglas pueden ser creadas y modificadas por el alumnado.
El robot futbolista está compuesto por:
1 PCB (Placa de Circuito Impreso)
1 Placa arduino NANO, con cable USB-B (mini) para programarlo
(Si no detecta el arduino por el puerto USB, descargar aqui driver de arduino e instalar)
1 módulo Bluetooth HC06
1 Puente H (L293D) con zócalo
1 Regulador de tensión LM7805
1 diodo 1N4148 o 1N4007
2 Motores con caja reductora y 2 ruedas
1 Rueda con giro libre (360*)
1 Tira alojamiento hembra x 40 pines
1 Tira x 40 pines a
90º
1 Broche para batería con cable
1 Batería de 9v recargable
2 Tornillos largos 3 cm con tuercas para motores
2 Tornillos cortos con tuercas para rueda loca
1 Soporte 3d para motores y batería (Archivos para imprimir)
1 Soporte 3d Pala
2 Cilindros 3d separadores para la rueda giro libre
1 Pelota
Desarrollo:
Placa Arduino, su historia, software y hardware libre. Sensores y actuadores para Arduino. Programación de placa Arduino.
Identificación del pin-out (patas de salida) de los componentes en las hojas de datos (datasheet) de la PLACA ARDUINO y del LM7805.
Circuito esquemático:
El circuito esquemático se arma con un programa
de simulación por computadora (ejemplo PCB Wizard Profesional, MULTISIM de Electronics Workbench, MPLAB
de MICHOCHIP, PROTEUS de LABCENTER, FRITZING de Friends-of-Fritzing foundation, descargue archivo).
Luego se realiza el diseño de las pistas para una PCB simple faz de 10x5 cm.
Objetivos:
Aprender
a realizar diseños de circuitos impresos simples.
Armado de la PCB (print circuit board, placa de circuito impreso) por transferencia de temperatura y ataque químico:
Se imprime en hoja calidad fotográfica en impresora láser el negativo del circuito.
Luego se traspasa la tinta por calor (planchado) a la placa virgen. Posteriormente se sumerge la placa en cloruro férrico y se limpia. por último se hacen los agujeros para insertar todos los componentes.
Se sueldan los componentes y coloca la carcasa con los tornillos y las tuercas. Se usará soldador, estaño, estación de soldado, esponja de limpieza y de-soldador.
Objetivos:
Realización de soldadura, uso de multi-tester para comprobar continuidad y medir tensión en el circuito si se presentan fallas.
Una vez armado el robot, se carga un programa de
prueba con Arduino (https://www.arduino.cc/), en la placa Arduino
Nano, a través del cable usb y una computadora. Se testea y se prueba. Luego
se analiza y sugieran modificaciones o mejoras.
ROBOT FUTBOLISTA – PRIMER PROGRAMA DE CONTROL:
//ROBOT FUTBOLISTA, CREADOR: Juncos Matías E.T. 12 San Martín
int Mo1 = PD4; //motor 1 pin a
int Mo2 = PD5; //motor 1 pin b
int Mo3 = PD6; //motor 2 pin a
int Mo4 = PD7; //motor 2 pin b
int estado=0;
void setup() {
Serial.begin(9600);
pinMode(Mo1, OUTPUT);//poner el pin digital como salida
pinMode(Mo2, OUTPUT);//poner el pin digital como salida
pinMode(Mo3, OUTPUT);//poner el pin digital como salida
pinMode(Mo4, OUTPUT);//poner el pin digital como salida
}
void loop() {
if(Serial.available()>0)
{
estado = Serial.read();
}
if(estado == '1')
{
digitalWrite(Mo1, HIGH);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, HIGH);
digitalWrite(Mo4, LOW);
delay (500);
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
}
if(estado == '2')
{
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, HIGH);
digitalWrite(Mo4, LOW);
delay (500);
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
}
if(estado == '3')
{
digitalWrite(Mo1, HIGH);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
delay (500);
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
}
if(estado == '4')
{
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, HIGH);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, HIGH);
delay (500);
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
}
if(estado == '0')
{
digitalWrite(Mo1, LOW);
digitalWrite(Mo2, LOW);
digitalWrite(Mo3, LOW);
digitalWrite(Mo4, LOW);
}
}
Se usó MIT APP INVENTOR (https://appinventor.mit.edu/) para construir la aplicación para celular.
Ir a la biblioteca del creador de la app APLICACIÓN PARA ANDROID del MIT App Inventor.
Descargar la APK de Drive.
Fue muy linda esperiencia
ResponderEliminarY muy divertido
ResponderEliminarFamulosa experiencia, con el tiempo se irá mejorando y convirtiendo en un robot mucho más óptimo y lindo, quiero estar para al menos verlo :D.
ResponderEliminarhttps://www.dropbox.com/scl/fi/hd65iy8ide0yqerx5bb9r/RobotFutbolistaET12Botones.apk?rlkey=cutccejk1cr0ete8ykxowl3wb&dl=0
ResponderEliminar