Академический Документы
Профессиональный Документы
Культура Документы
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.
Vin 5V
GND GND
Vout D2
Detección de objetos.
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.
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:
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*
Control 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.
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.
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.