Robot futbolista. Diseño y programación

Desarrollada en
Escuela Técnica N°12 
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ónicaMatías Juncos
Con la colaboración de 
Docentes Taller de electrónica - Ciclo básico: Rubén Machaca, Agustín Menendez
Electrónica Ciclo Superior: Coordinador Jonathan Czernochivsky
Instituto Superior de Electrónica
Rector: Profesor Julio C. Patiño
UTN.BA
Coordinador: Ing. Patricio Guillán


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.

De la hoja de datos del puente H (L293D)


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.

Comentarios

  1. Famulosa 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.

    ResponderEliminar
  2. https://www.dropbox.com/scl/fi/hd65iy8ide0yqerx5bb9r/RobotFutbolistaET12Botones.apk?rlkey=cutccejk1cr0ete8ykxowl3wb&dl=0

    ResponderEliminar

Publicar un comentario