Professional Documents
Culture Documents
Hardware:
Carcasa: Fue construida de en su totalidad de madera, se decidió este
material debido a la resistencia que presenta a los golpes. Las medidas
finales de la carcasa fueron 0.14mx0.16mx0.14m (ver figura 1). Nota: La
madera elegida tenía un espesor de ½ “.
Sensor QRD114 (ver figura 2). Son sensores del tipo infrarrojos, que se
puede ocupar principalmente para detectar color blanco a color negro de
acuerdo a las dos diferentes configuraciones que presentan. Ver figura 3.
Página 1 de 16
Figura 3. Configuraciones para el sensor QRD1114
La configuración que se escogió para utilizar en el sumo robot fue la del inciso B,
debido a que la pista en la cual se realizaría el combate es en su mayoría color
negro a excepción de 2 cm de perímetro de color blanco que indica que el sumo
robot está a punto de salir de la pista.
Sensor HC_SR04 (ver figura 4). Los ultrasonidos son señales acústicas
cuyas frecuencias de 20 a 400 KHz, las cuales están por encima del rango
de frecuencias sensibles al oído humano. Los sensores de ultrasonidos son
capaces de medir la distancia a la que están respecto a un objeto por medio
de un sistema de medición de ecos. Los sensores de ultrasonidos están
formados por un transductor que emite un pulso corto de energía ultrasónica.
Cuando el pulso es reflejado por un objeto, el sensor captura el eco producido
por medio de un receptor, y mediante un sistema de tratamiento de la señal,
calcula la distancia a la que está de dicho objeto. Son capaces de medir hasta
4m, sin embargo de acuerdo a nuestras necesidades lo configuramos para
emitir una señal en caso que la distancia fuera menor a 0.20m.
En nuestro caso utilizamos dos sensores de este tipo, porque de acuerdo a nuestro
estimaciones con ello podíamos cubrir todo el área de la pista, uno se colocó en
frente, mientras que el otro se puso del lado derecho del sumo robot.
Página 2 de 16
Figura 4. Sensor HC-SR04
Página 3 de 16
características con anterioridad su apariencia física de los mismo se puede observar
en la figura 6.
Página 4 de 16
Figura 8. Cosas para dar peso al sumo robot
Página 5 de 16
Figura 11. Regulador de voltaje L7805 y su configuración
Página 6 de 16
s3=0;
}
if((340<=sensor4)&&(salida == 1)) //condición para el cuarto sensor qrd1114
{
s4=1;
}
else
{
s4=0;
}
Se observó que a partir de una entrada de 340, significaba que había ocurrido un
cambio de color negro a blanco.
Para poner utilizar los sensor HC-SR04 se utilizó la librería Ultrasonic, la cual fue
descargada de la web, al utilizar esta librería solo se especifica los pines en los
cuales estaban conectado el pin TRIG y ECHO, la librería la incluía cual trabaja con
entrada y como salida, además te arrojaba la distancia recorrida en cm es por ello,
que eso fue lo que se utilizó como condición, la parte del programas para estos
sensores quedo de la siguiente manera:
if(cm1<20)
{
P1=1;
}
else if (cm1>20)
{
P1=0;
}
if(cm2<20)
{
P2=1;
}
else if (cm2>20)
{
P2=0;
}
Página 7 de 16
Figura 13. Vista en planta del sumo robot
cm1=ultrasonic1.Ranging(CM);
Serial.println("cm1");
Serial.println(cm1);
cm2=ultrasonic2.Ranging(CM);
Serial.println("cm2");
Serial.println(cm2);
Página 8 de 16
sensor1=analogRead(A0);
Serial.println("sensor1");
Serial.println(sensor1);
sensor2=analogRead(A1);
Serial.println("sensor2");
Serial.println(sensor2);
sensor3=analogRead(A2);
Serial.println("sensor3");
Serial.println(sensor3);
sensor4=analogRead(A3);
Serial.println("sensor4");
Serial.println(sensor4);
if((340<=sensor1)&&(salida == 1)) //condición para el primer sensor qrd1114
{
s1=1;
}
else
{
s1=0;
}
if((340<=sensor2)&&(salida == 1)) //condición para el segundo sensor qrd1114
{
s2=1;
}
else
{
s2=0;
}
if((340<=sensor3)&&(salida == 1)) //condición para el tercer sensor qrd1114
{
s3=1;
}
else
{
s3=0;
}
if((340<=sensor4)&&(salida == 1)) //condición para el cuarto sensor qrd1114
{
s4=1;
}
else
{
s4=0;
}
if(cm1<20)
{
P1=1;
}
else if (cm1>20)
{
P1=0;
}
if(cm2<20)
{
P2=1;
}
else if (cm2>20)
{
P2=0;
}
Serial.println("s1");
Serial.println(s1);
Serial.println("s2");
Serial.println(s2);
Serial.println("s3");
Serial.println(s3);
Serial.println("s4");
Serial.println(s4);
Serial.println("p1");
Serial.println(P1);
Página 9 de 16
Serial.println("p2");
Serial.println(P2);
if ((s1==0)&&(s2==0)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==0))
{
digitalWrite (12, LOW);
Serial.println(12);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
}
else if ((s1==0)&&(s2==0)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==1))
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==0)&&(P2==0)) //CASO 3
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==0)&&(P2==1))//CASO 4
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==0)&&(P2==0))// CASO 5
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==0))// CASO 6
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==1))// CASO 7
Página 10 de 16
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
}
else if ((s1==0)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 8
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==0)&&(s3==0)&&(s4==1)&&(P1==0)&&(P2==0))// CASO 9
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==0)&&(s3==0)&&(s4==1)&&(P1==0)&&(P2==1))// CASO 10
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==0)&&(s3==0)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 11
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==0)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==0))// CASO 12
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
}
else if ((s1==1)&&(s2==0)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==1))// CASO 13
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, LOW);
Página 11 de 16
digitalWrite (9, HIGH);
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
}
else if ((s1==1)&&(s2==0)&&(s3==1)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 14
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==0)&&(P1==0)&&(P2==0))// CASO 15
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==0)&&(P1==0)&&(P2==1))// CASO 16
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 17
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==1)&&(P1==0)&&(P2==0))// CASO 18
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==1)&&(P1==0)&&(P2==1))// CASO 19
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
Página 12 de 16
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==0)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 20
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==0)&&(P2==0))// CASO 21
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, HIGH);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==0)&&(P2==1))// CASO 22
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==0)&&(P1==1)&&(P2==0))// CASO 23
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==0))// CASO 24
{
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==0)&&(P2==1))// CASO 25
{
digitalWrite (12, LOW);
digitalWrite (11, HIGH);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
else if ((s1==1)&&(s2==1)&&(s3==1)&&(s4==1)&&(P1==1)&&(P2==0))// CASO 26
{
Página 13 de 16
digitalWrite (12, HIGH);
digitalWrite (11, LOW);
digitalWrite (10, HIGH);
digitalWrite (9, LOW);
digitalWrite (8, HIGH);
digitalWrite (7, LOW);
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
}
}//llave del botón
else// final del programa
{
digitalWrite (12, LOW);
digitalWrite (11, LOW);
digitalWrite (10, LOW);
digitalWrite (9, LOW);
digitalWrite (8, LOW);
digitalWrite (7, LOW);
digitalWrite (6, LOW);
digitalWrite (5, LOW);
}
RESULTADO:
Casi para terminar montanos todo sobre la carcasa quedando nuestro sumo como
a continuación se presenta. Ver figura 14.
Página 14 de 16
Figura 15. Sumo robot en combate
BIBLIOGRAFIA:
http://www.opiron.com/portfolio/sensores-de-ultrasonidos-arduino-opiron
http://electronicayrobotica.wordpress.com/2012/09/08/sensores-infrarrojos-
qrd1114-y-cny70/
CONCLUSIONES INDIVIDUALES:
Arturo Padrón Reyes: Realizar este sumo robot resulto una buena manera de
poner a prueba mis conocimientos, ya que la realización de éste, se hizo con los
conocimientos adquiridos durante el semestre. Dedicamos bastante tiempo para
que funcionara correctamente, al final no lo hizo al cien por ciento pero quedamos
satisfechos de nuestro trabajo.
Algo nuevo fue la programación en arduino que nunca lo habíamos utilizado, pero
la lógica del programa fue muy parecida a la del seguidor de línea que realizamos
anteriormente. Así como conocer los diferentes tipos de motores existentes y de ahí
optar por los motoreductores ya que fueron los que se ajustaron a nuestro
presupuesto.
En general fue una experiencia agradable el conocer más a mi equipo, porque como
todo hubo momentos de desesperación pero por la gran armonía existente en el
equipo se logró el objetivo común.
Michell Orizel Andrade Cornejo: Realizar el robot sumo fue una gran experiencia
para mí ya que nos pudimos topar con muchas complicaciones y que solo
trabajando en equipo salimos adelante. Nunca había realizado un trabajo pareció
ya que juntamos conocimientos de muchas materias como fue la utilización de los
sensores QRD1114 que ya habíamos utilizado en materias anteriores.
Página 15 de 16
La programación la hicimos en ARDUINO ya que nos permitió tener todos los
elementos en un mismo programa ya que con PIC necesitábamos 2 o 3 para todas
las entradas y salidas.
Así procedimos a hacer uso de los conocimientos que teníamos para de ahí partir a
algo nuevo y diferente, lo primero fue la elección de los motores, elegimos
motoreductores pues había que ajustarse a lo que conocíamos, después el trabajar
con los sensores ultrasónicos no fue complicado debido a la librería que utilizamos,
lo difícil fue entender cómo funcionaba esa librería, con los sensores QRD1114 fue
fácil ya que se tenía la experiencia de haber trabajado con ellos. Una de las cosas
complicadas fue el programa, no por las instrucciones ya que estas son muy
parecidas a C++ sino más bien para conocer en qué sentido deberían de girar las
llantas. Todo un reto a nivel personal realizar este sumo robot pero muy satisfactorio
poder verlo en combate, porque aunque como todos sabemos la electrónica es algo
caprichosa y a veces falla (aunque sea por un simple cable) no funciono al cien por
ciento pero la experiencia de estar en combate esa nadie la destruye.
Página 16 de 16