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

2.

Que nuestro Sumobot tenga la suficiente fuerza en los


Practica Sumobot motores para que pueda sacar al contrincante o la suficiente
para no ser sacado.
Aparicio T, Ibarra W, Jaramillo A,
López K, Parra D, Robles A, Sánchez G
3. Otro objetivo sería que nuestro Sumobot cumpla con las
especificaciones ya mencionadas.

I. INTRODUCCION.
IV. MATERIALES.

 Arduino.
S e nos dio la tarea de realizar un Sumobot con los conocimientos
 Sensor ultrasónico.
 Sensor infrarrojo.
que tenemos siendo más específico, conocimientos que tenemos al
 Batería lipo.
programar con Arduino, cabe mencionar que también se utilizó
conocimientos adquiridos de pasadas practicas ya que para elaborar  Dos motores C.D
un Sumobot no solo se necesita un Arduino, sino que también se  Placa.
emplea el uso de sensores que se utilizaron en las pasadas prácticas,  Llantas.
como por ejemplo el sensor ultrasónico que se utiliza para detectar un
objeto, el cual se utilizó para detectar al oponente y atacarlo, también
se utiliza un sensor infrarrojo el cual funciona con el mecanismo de V. DESARROLLO.
emisión/recepción y en esta práctica se empleó para que nuestro
Bueno el procedimiento que nosotros seguimos para la
Sumobot no se saliera del área de combate. Estos son los realización de nuestro Sumobot fue la sig.
componentes esenciales para que funcione el Sumobot, el cual
Detección de línea blanca.
asemeja a un luchador de zumo con el mismo objetivo de sacar al
contrincante del área de combate. Cabe mencionar que nos plantearon Parte importante de cómo armar un Mini Sumobot son Los
un par de límites los cuales son que el Sumobot no pase de las sensores de línea, los cuáles evitarán que el Sumobot salga del
área de combate, primero tenemos que soldar el conector
medidas de 30 cm por 30 cm y la otra es que no pese más de 3 header al sensor.
kilogramos.

II. OBJETIVO GENERAL.

Nuestro objetivo general y lo más seguro que el de los demás, es que


nuestro Sumobot funcione correctamente y que supere el de los
demás para que resulte ganador.

III. OBJETIVOS ESPECIFICOS.

1. Un objetivo es que los sensores ya mencionados funcionen


lo mejor posible para que a lo hora del combate reaccione y
ataque o que detecte el perímetro del área de combate para
que este no salga.
Luego usando Jumpers hembra-hembra conectamos cada Y finalmente, al probar el sensor detectando el objeto en una
sensor al arduino. superficie blanca o negra, se encenderá y apagará el LED
respectivamente:
Sensor Arduino

Vin 5V

GND GND

Vout D2

Una vez probados ambos sensores procedimos a colocarlos en


la estructura, usamos silicón para adherirlos a la estructura y
para que quede aislado el sensor para evitar hacer algún cortó
circuito.

Detección de objetos.

Para detectar el enemigo se debe medir la distancia de objetos


que se encuentren al frente o a los lados del Sumobot, para
Se hizo un programa muy corto con el que se probó su esto usaremos los sensores de distancia ultrasónicos, estos
funcionamiento. Si el sensor detectaba línea blanca se entregan un voltaje analógico que depende de la distancia que
encendería el LED, hay que destacar que el sensor envía un se esté midiendo.
voltaje bajo cuando detecta línea blanca.
1 int LED = 13;
2 int lectura_linea_1; El sensor ultrasónico son detectores de proximidad que
3 int lectura_linea_2; trabajan libres de roces mecánicos y que detectan objetos a
4 distancias que van desde pocos centímetros hasta varios
5 void setup() { metros. El sensor emite un sonido y mide el tiempo que la
6 pinMode(LED,OUTPUT); señal tarda en regresar.
7 Serial.begin(9600);
8 }
Los sensores utilizan unos conectores especiales, estos
9
necesitan soldarse a otros conectores para después poder
10 void loop() {
conectarlos al arduino. Usamos unos jumpers hembra o
11 delay(100);
macho, si usábamos hembra los podíamos conectar
12 lectura_linea_1 = analogRead(A0);
directamente a tu arduino uno, si utilizábamos macho
13 lectura_linea_2 = analogRead(A1);
podíamos conectar a un protoboard.
14 Serial.println(lectura_linea_1);
15 Serial.println(lectura_linea_2);
16 if(lectura_linea_1 < 30 || lectura_linea_2 < 30) Una vez que soldados los conectores se conectaron al arduino
17 digitalWrite(LED,HIGH); y se probó su funcionamiento. Primero conectamos el sensor al
18 else arduino.
19 digitalWrite(LED,LOW);
20 }
Para probar el sensor utilizamos un objeto que sea de color
blanco y negro, nosotros pusimos una línea negra con cinta de
aislar sobre un papel cascaron.
El código que nos permitió medir la distancia y enviarla al
puerto serie

1 // Conexiones
2 int sensor_distancia_1 = A0;
3
4 // Inicialización
5 int lectura = 0;
6
7 void setup() {
8 Serial.begin(9600);
9 Serial.println("Iniciando lectura de sensor");
10 }
11
12 // Programa
13 void loop() {
14 lectura = analogRead(sensor_distancia_1); Luego armaremos en Protoboard un circuito con el Arduino
15 Serial.println(lectura); Nano, el driver de motores y los motores, el objetivo será crear
16 delay(1000); un programa en el que podamos controlar los motores, su giro
17 } y su velocidad.

Conectar el driver de motores es muy simple, solo se


Control de motores.
deben conectar las alimentaciones, las entradas de control y las
salidas de potencia, con el siguiente diagrama te puedes guiar:
Ya probados los sensores queda por probar el movimiento de
los motores, los motores a utilizar funcionan con un voltaje de
corriente directa, para controlar el giro y la velocidad se usará
un driver de motores.

Primero soldaremos los cables a los motores, igual que con los
sensores de distancia usaremos jumpers para que sea fácil
conectar a los motores:

Se deben soldar los cables de manera perpendicular al motor


de modo que la longitud del motor sea lo más corta posible
(ahora que se ha incluido el cable).

VCC. Alimentación de 5V
GND. Tierra
AO1. Salida 1 para motor A
AO2. Salida 2 para motor A
BO1. Salida 1 para motor B
BO2. Salida 2 para motor B
VMOT. Voltaje para alimentar a los motores, se debe conectar
la batería Lipo a este pin
PWMA. Entrada de control de velocidad del motor A
Una vez soldados los motores debemos soldar un conector AIN2. Entrada 2 de control para el motor A
macho para el driver, soldaremos loa conector macho para AIN1. Entrada 1 de control para el motor A
conectar al protoboard. STBY. Entrada para detener el funcionamiento de los motores,
colocar una resistencia PULL-UP a 5V
BIN1. Entrada 1 de control para el motor B
BIN2. Entrada 2 de control para el motor B
PWMB. Entrada de control de velocidad del motor B
La conexión con el arduino debe ser la siguiente:

Driver Arduino

VCC 5V

GND GND

PWMA D5

PWMB D3

AIN2 D7

AIN1 D6

BIN1 D4

BIN2 D2

Driver Batería

VMOT 9V

GND GND

Driver Motores
Se utilizaron las líneas de alimentación del protoboard para
AO1 Motor A* conectar 5V y GND, el voltaje de la batería se conectará
directamente en el pin del driver de motores.
AO2 Motor A*

BO1 Motor B* Además también es conveniente agregar un interruptor para la


alimentación del circuito, el interruptor debe ser de 2
posiciones, estos interruptores tienen 3 pines, debes soldar el
BO2 Motor B*
del centro y uno e los extremos:
*No importa cual pin del motor se coloca, en caso de que se
conecte al revés el resultado será que el motor girará al sentido
contrario a lo esperado, eso se corregirá al final, después de
haber montado del todo.

El circuito para armar un Sumobot hasta ahora se debe ver de


la siguiente manera:
Uno de los cables del interruptor va conectado al voltaje de la 20
batería y el otro al punto en el que queremos alimentar el 21 // Rutina
circuito. 22 void loop() {
23 digitalWrite(ai1,HIGH);
24 digitalWrite(ai2,LOW);
25 digitalWrite(bi1,HIGH);
26 digitalWrite(bi2,LOW);
27 delay(1000);
28
29 digitalWrite(ai1,LOW);
30 digitalWrite(ai2,HIGH);
31 digitalWrite(bi1,HIGH);
32 digitalWrite(bi2,LOW);
33 delay(1000);
34
35 digitalWrite(ai1,HIGH);
36 digitalWrite(ai2,LOW);
37 digitalWrite(bi1,LOW);
38 digitalWrite(bi2,HIGH);
39 delay(1000);
El circuito finalizado se debe ver de la siguiente manera: 40
41 digitalWrite(ai1,LOW);
42 digitalWrite(ai2,HIGH);
43 digitalWrite(bi1,LOW);
44 digitalWrite(bi2,HIGH);
45 delay(1000);
46

Control de motores.

Ya probados los sensores queda por probar el movimiento de


los motores, los motores a utilizar funcionan con un voltaje de
corriente directa, para controlar el giro y la velocidad se usará
un driver de motores.

Una vez conectado todo se programará el Arduino con el Primero soldaremos los cables a los motores, igual que con los
siguiente código para probar los motores: sensores de distancia usaremos jumpers para que sea fácil
conectar a los motores:
1 // Conexiones
2 int pwma = 3; Se deben soldar los cables de manera perpendicular al motor
3 int pwmb = 5; de modo que la longitud del motor sea lo más corta posible
4 int ai1 = 2; (ahora que se ha incluido el cable).
5 int ai2 = 4;
6 int bi1 = 6;
7 int bi2 = 7;
8
9 // Inicialización
10 void setup() {
11 pinMode(pwma,OUTPUT);
12 pinMode(pwmb,OUTPUT);
13 pinMode(ai1,OUTPUT);
14 pinMode(ai2,OUTPUT);
15 pinMode(bi1,OUTPUT);
16 pinMode(bi2,OUTPUT);
17 analogWrite(pwma,200);
18 analogWrite(pwmb,200);
19 }
Una vez soldados los motores debemos soldar unos conectores AIN1. Entrada 1 de control para el motor A
macho para el driver, soldaremos loa conectores macho para STBY. Entrada para detener el funcionamiento de los motores,
conectar al protoboard. colocar una resistencia PULL-UP a 5V
BIN1. Entrada 1 de control para el motor B
BIN2. Entrada 2 de control para el motor B
PWMB. Entrada de control de velocidad del motor B
La conexión con el arduino debe ser la siguiente:

Driver Arduino

VCC 5V

GND GND

PWMA D5

PWMB D3

AIN2 D7
Luego armaremos en Protoboard un circuito con el Arduino
Nano, el driver de motores y los motores, el objetivo será crear AIN1 D6
un programa en el que podamos controlar los motores, su giro
y su velocidad. BIN1 D4

BIN2 D2
Conectar el driver de motores es muy simple, solo se
deben conectar las alimentaciones, las entradas de control y las
Driver Batería
salidas de potencia, con el siguiente diagrama te puedes guiar:
VMOT 9V

GND GND

Driver Motores

AO1 Motor A*

AO2 Motor A*

BO1 Motor B*

BO2 Motor B*
*No importa cual pin del motor se coloca, en caso de que se
conecte al revés el resultado será que el motor girará al sentido
contrario a lo esperado, eso se corregirá al final, después de
haber montado del todo.
VCC. Alimentación de 5V
GND. Tierra El circuito para armar un Sumobot hasta ahora se debe ver de
AO1. Salida 1 para motor A la siguiente manera:
AO2. Salida 2 para motor A
BO1. Salida 1 para motor B
BO2. Salida 2 para motor B
VMOT. Voltaje para alimentar a los motores, se debe conectar
la batería Lipo a este pin
PWMA. Entrada de control de velocidad del motor A
AIN2. Entrada 2 de control para el motor A
Uno de los cables del interruptor va conectado al voltaje de la
batería y el otro al punto en el que queremos alimentar el
circuito.

El circuito finalizado se debe ver de la siguiente manera:

Se utilizaron las líneas de alimentación del protoboard para


conectar 5V y GND, el voltaje de la batería se conectará
directamente en el pin del driver de motores.

Además también es conveniente agregar un interruptor para la


alimentación del circuito, el interruptor debe ser de 2
posiciones, estos interruptores tienen 3 pines, debes soldar el
del centro y uno e los extremos:
Una vez conectado todo se programará el Arduino con el
siguiente código para probar los motores:

1
// Conexiones
2
int pwma = 3;
3
int pwmb = 5;
4
int ai1 = 2;
5
int ai2 = 4;
6
int bi1 = 6;
7
int bi2 = 7;
8
9
// Inicialización
10
void setup() {
11
pinMode(pwma,OUTPUT);
12
pinMode(pwmb,OUTPUT);
13
pinMode(ai1,OUTPUT);
14
pinMode(ai2,OUTPUT);
15
pinMode(bi1,OUTPUT);
16
pinMode(bi2,OUTPUT);
17
analogWrite(pwma,200);
18
analogWrite(pwmb,200);
19
}
20
21
// Rutina
22
void loop() {
23
digitalWrite(ai1,HIGH);
24
digitalWrite(ai2,LOW);
25
digitalWrite(bi1,HIGH);
26
digitalWrite(bi2,LOW);
27
delay(1000);
28
29
digitalWrite(ai1,LOW);
30
digitalWrite(ai2,HIGH);
31
digitalWrite(bi1,HIGH);
32
digitalWrite(bi2,LOW);
33
delay(1000);
34
35
digitalWrite(ai1,HIGH);
36
digitalWrite(ai2,LOW);
37
digitalWrite(bi1,LOW);
38
digitalWrite(bi2,HIGH);
39
delay(1000);
40
41
digitalWrite(ai1,LOW);
42
digitalWrite(ai2,HIGH);
43
digitalWrite(bi1,LOW);
44
digitalWrite(bi2,HIGH);
45
delay(1000);
46
VI. EVIDENCIAS. VII. CONCLUSION GENERAL.

En este proyecto pudimos aprender más sobre Arduino y sus infinitas


funciones además del uso que se les puede hacer a sensores con el
ultrasónico e infrarrojo que fueron utilizados en el Sumobot ya que es
una parte fundamental para que funcione bien. Nos gustaría hacer en
el futuro más proyectos así para aplicar conocimientos que fuimos
adquiriendo de otras prácticas y competir para ver que quien es el
mejor.

En esta práctica se cabe mencionar que fue de vital importancia que la


utilización de arduino uno por la que tuvimos que poner en práctica
todo el conocimiento adquirido anteriormente durante las clases tanto
de la parte física como de la parte interna (la programación), además
de que con el desarrollo de esta práctica pude comprender mejor el
uso de cada material electrónico. Bueno en este caso consto de la
realización de un Sumobot lo cual a mi parecer fue una práctica muy
divertida y competitiva ya que para que un Sumobot sea realmente
competente debe ser muy funcional y creativo.

Durante la realización de esta práctica tuvimos algunos problemas,


por ejemplo, al principio el sumobot no funcionaba correctamente
hubo errores en la programación por lo que el sumobot no realizaba
las acción deseadas, así que tuvimos que hacer cambios en la
programación, todo esto nos ayudó también a mejorar nuestra
capacidad para enfrentar y resolver problemas, lo cual nos será muy
útil en el futuro.

Esta práctica fue muy útil ya que nos permito reforzar los
conocimientos de electrónica adquiridos previamente en semestres
anteriores, y no solo eso, también nos ayudó a poder obtener nuevos
conocimientos en cuanta a la programación de Arduino.
En las imágenes se puede apreciar el planeamiento del
sumobot, lo que es cotización de materiales y asignar el trabajo
de cada integrante.

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