Está en la página 1de 5

COLEGIO DE BACHILLERATO

TÉCNICO
“DANIEL CÓRDOVA TORAL”
Practica 1 segundo trimestre.
Nombre: David Israel Yuquilima Parra.
Curso: Tercero “A” Mecatrónica.
Tema: Prototipo de un robot seguidor de línea.
Objetivo: con lo aprendido sobre el sensor KY033 realizar un prototipo de un robot
seguidor de línea, con la ayuda de motorreductores, Arduino, driver L298N y 2 sensores
KY033, con el fin que cada sensor comande un motor.

Lista de materiales:
- PC.
- Programa IDE Arduino.
- Fritzing.
- Arduino uno.
- Driver L298N.
- 2 motorreductores.
- 2 sensores KY033.
- Protoboard.
- Cables macho-macho.
- Cables macho-hembra.

Esquema y conexiones:
Programación:

 Código:

int dp = 5;
int dn = 4;
int sd = 2;
int vd = 3;
int vald;

int ip = 9;
int in = 10;
int si = 8;
int vi = 11;
int vali;

void setup(){
pinMode(dp,OUTPUT);
pinMode(dn,OUTPUT);
pinMode(vd,OUTPUT);
pinMode(sd,INPUT);

pinMode(ip,OUTPUT);
pinMode(in,OUTPUT);
pinMode(vi,OUTPUT);
pinMode(si,INPUT);
}

void adelante(){
digitalWrite(dp,1);
digitalWrite(dn,0);
digitalWrite(ip,1);
digitalWrite(in,0);
analogWrite(vd,255);
analogWrite(vi,255);
}

void stop(){
digitalWrite(dp,0);
digitalWrite(dn,0);
digitalWrite(ip,0);
digitalWrite(in,0);
analogWrite(vd,0);
analogWrite(vi,0);
}

void derecha(){
digitalWrite(dp,0);
digitalWrite(dn,1);
digitalWrite(ip,1);
digitalWrite(in,0);
analogWrite(vd,200);
analogWrite(vi,175);
}

void izquierda(){
digitalWrite(dp,1);
digitalWrite(dn,0);
digitalWrite(ip,0);
digitalWrite(in,1);
analogWrite(vd,200);
analogWrite(vi,175);
}

void loop(){

vald = digitalRead(sd);
vali = digitalRead(si);

if ((vald==1) && (vali==1)){


adelante();
}
else
if((vald==0) && (vali==1) == HIGH){
izquierda();
}
else
if ((vald==1) && (vali=0)){
derecha();
}
else
if((vald==0) && (vali==0)){
stop();
}

Funcionamiento:
Elementos:

- Sensor KY033: es un elemento fundamental de la práctica ya que este es el que reconoce


la línea gracias a que tiene implementado un fotodiodo y un fototransistor, al reconocer
la línea emiten una señal la cual nos ayuda a controlar los motores mediante
programación.
- Driver L298: permite encender y controlar dos motores de corriente continua desde
Arduino, variando tanto la dirección como la velocidad de giro, ya que el Arduino no
disponen de potencia suficiente para mover actuadores.
- Motorreductores: mediante estos elementos se va a percibir el funcionamiento de la
práctica, ya que avanzarán, se detendrán, girara a la izquierda o derecha según los
sensores ya antes programados.
- Cables macho-macho y macho-hembra: transportan las señales del Arduino al driver y
del driver a los motores, nos ayudaran con todas las conexiones necesarias.
- Protoboard: nos será de ayuda para hacer conexiones comunes.

Software:

El funcionamiento es el siguiente:
 Cuando el sensor reconoce la línea manda una señal al Arduino, esto se realiza
individualmente por cada sensor.
 Para ejecutar acciones con esta señal se usó la función If (si).
 Realizamos funciones que ejecuten las acciones de adelante, izquierda, derecha y
paro, cumpliendo con las siguientes condiciones.
- Adelante = máxima velocidad.
- Derecha – Izquierda = mediana velocidad.
- Paro = velocidad nula.
 El sensor derecho (vald) va a controlar el motor derecho.
 El sensor izquierdo (vali) va a controlar el motor izquierdo.
 Realizamos unas condiciones las cuales son:
 Si la señal del sensor derecho = 1 ir hacia adelante.
 Si la señal del sensor izquierdo = 1ir hacia adelante.
 if ((vald==1) && (vali==1)) {
adelante ();
}
 Si la señal del sensor derecho = 1 girar a la derecha.
 Si la señal del sensor izquierdo = 0 girar a la derecha.
 if ((vald==1) && (vali==0)) {
derecha ();
}
 Si la señal del sensor derecho = 0 girar a la izquierda.
 Si la señal del sensor izquierdo = 1 girar a la izquierda.
 if ((vald==0) && (vali==1)) {
izquierda ();
}
 Si la señal del sensor derecho = 0 se debe parar.
 Si la señal del sensor izquierdo = 0 se debe parar.
 if ((vald==0) && (vali==0)) {
stop ();
}
 con esto conseguimos que al momento que los dos sensores reconozcan la línea el
robot avance, cuando solo detecte el sensor de la derecha girar a la derecha,
cuando solo el sensor de la izquierda reconozca la línea debe girar a la izquierda y
cuando no detecten la línea no debe moverse.

Conclusiones y recomendaciones:

La conclusión que saque después de realizar esta práctica es que a pesar de que se usaron
componentes básicos de electrónica son suficientes para realizar una práctica muy interesante, ya
que cumple las expectativas esperadas además nos sirve como base para adentrarse en el campo
de la robótica.

están dirigidas a las personas que quieran realizar esta práctica y son las siguientes:
1. Revisar que la alimentación este bien conectada para que el driver funcione.
2. Comprobar la polaridad de los motores para saber a dónde conectar.
3. Reconocer que pin corresponde a la salida del positivo y negativo del driver, para así
saber a qué pines del Arduino conectar para programar.
4. Conectar correctamente la alimentación del sensor KY033.
5. Reconocer y programar que pines van a ser las entradas de las señales de los sensores.
6. Conocer y entender el funcionamiento de la función If.
7. Conectar todos los GND a un común ya que si no se hace eso la práctica no funcionara.
8. Recomiendo usar un Protoboard para realizar conexiones comunes.

También podría gustarte