Está en la página 1de 8

Operación de Sistemas Mecatrónicos.

Quinto Semestre

Practica 05 Robot seguidor de línea.

NOMBRE DE LOS
ALUMNOS

GRUPO CARRERA CALIFICACIÓN FECHA

Instrucciones.

En equipos de 4 integrantes maximo, armar un robot seguidor de linea tipo diferencial accionado por motor
con reducción, puente H, arduino, dos sensores de linea, un sensor ultrasonido y bateria, realizar las pruebas
correspondientes de acuerdo a los datos presentados en esta practica.

Objetivos.

• Trabaja en equipo de manera constructiva.


• Realiza cálculos matemáticos para validar los valores de los componentes.
• Consulta manual del fabricante y verificar características del motor y puente H a utilizar.
• Prepara los materiales, herramientas y equipo en la mesa de trabajo y los deja listos para el inicio de la
práctica.
• Agrega dos sensores de línea y un ultrasónico al robot móvil, realiza pruebas de funcionamiento e
identifica problemas de funcionamiento mediante verificación de datos y valores.
• Modifica la programación tomando como base la practica anterior, practica 4.
• Valida los datos obtenidos durante la practica con los cálculos matemáticos realizados.

Materiales.

• Cables 3M para conexión en protoboard.


• Protoboard.
• Microprocesador Arduino UNO o Nano y cable de conexión.
• Motor con reducción y encoder.
• Modulo puente H L298N.
• Fuente de voltaje 5V - 1Amp.
• Materiales para fijar el motor y los dos sensores.
• Dos modulos sensores de linea TCRT5000.
• Un sensor ultrasinido.
• Chasis para robot móvil.

Desarrollo.

EL primer paso es acordar la función de cada integrante, es decir que va a realizar cada uno de los cuatro
compañeros, cabe mencionar que entre los cuatro integrantes deben elaborar un reporte y si se requiere una
precentación y exponer brevemente ante el grupo.

A continuación investigar hacerca de los temas a tratar utilizando fuentes confiables de información, es decir
buscar en libros, sitios Web que pertenezcan a instituciones oficiales o a investigadores reconocidos o pagina
del fabricante para ampliar la información.
A.M.R.O.S.M.E. – Versión 1 Página 1 de 8
Operación de Sistemas Mecatrónicos. Quinto Semestre
Ya con toda la información recabada y el robot móvil armado, el primer paso será colocar los dos sensores de
linea y posteriormente el sensor ultrasonico, realizar la programación y finalmente realizar pruebas de
funcionamiento.

Todas las piezas deben estar bien atornilladas los modulos y componentes bien fijados al chasis, nada debe
quedar suelto o flojo, tal como se muestra en la siguiente figura.

Conexión modulos sensores de linea TCRT5000 y modulo sensor ultrasonico.

Los modulos sensores de linea estan provistos de 4 pines de conexión dos son de alimentación y dos de datos.

La alimentación se realiza conectando el pin VCC a 5V de arduino y el pin GND a GND de arduino, para la señal
solo se utilizara el pin digital y se conectara de acuerdo a la siguiente tabla.

Para el modulo ultrasonico, igualmente el pin Vcc se conecta a 5V de arduino y el pin GND a GND de arduino,
en este caso hay dos señales una de salida y otra de entrada, el pin echo se conecta de acuerdo con la siguiente
tabla.

Conexión de pines correspondientes a los sensores.


Pin 2 Ardiono Pin 3 Arduino Pin 10 Arduino Pin 11 Arduino Pin 12 Arduino Pin 13 Arduino
D0 Izquierdo D0 Derecho Echo Triger Libre LED

NOTA: Se recomienda nunca conectar una tensión de entrada al pin de +5V, cuando el jumper de selección de
5V se encuentre activado. Esto provocaría un corto y podría dañar permanentemente el módulo.

A.M.R.O.S.M.E. – Versión 1 Página 2 de 8


Operación de Sistemas Mecatrónicos. Quinto Semestre

Armado de Sensores de linea y sensor ultrasonico.

Los sensores de linea se instalan de la siguiente forma y posición, viendo el


robot movil desde su parte trasera hacia el frente el sensor a mano izquierda y el
sensor a mano derecha, tal y como se muestra en la siguiente figura, se requiere
de un espacio de 3 cm entre los dos sensores de linea, en este espacio cabe la
linea negra que tiene un ancho de 2 cm.

Modulo sensor de linea TCRT5000. Modulo Ultrasonido.

Programación de robot seguidor de linea.

Finalmente modificar el programa de la practica pasada para realizar un robot


seguidor de linea, cargar el sketch y realizar las pruebas de funcionamiento que
correspondan y ajustes para un optimo funcionamiento.

// ///////////////////////////////////////////////////////////////////////////
// Código para robot seguidor de línea con dos sensores TCRT5000, dos //
// motores TTL amarillos ó Tonka, y sensor ultrasónico para la //
// detección de obstáculos a una distancia de 10 cmm al frente del //
// robot. //
// //
// Autor:M.I.E. Arturo Márquez Rojas //
// Curso: Operación de Sistemas Mecatrónicos. //
// Fecha: 6 Octubre de 2023. //
// Semestre: Quinto semestre. //
// Carrera: Mecatrónica. //
// ///////////////////////////////////////////////////////////////////////////

A.M.R.O.S.M.E. – Versión 1 Página 3 de 8


Operación de Sistemas Mecatrónicos. Quinto Semestre
// Definición de pines para sensores de línea //
const int si=2;
const int sd=3;
// Definición de pines para el motor 1
const int in1=4;
const int in2=5;
const int enA=6;
// Definición de pines para el motor 2
const int in3=7;
const int in4=8;
const int enB=9;
// Definicoón de pines para sensor ultrasónico
const int echo=10;
const int trigger=11;
// Definición de pines para led
const int led=13;
// Definición de variables globales
int dato=0;
char D;
int S1=100;
int S2=100;
int lecturaSensorIzq;
int lecturaSensorDer;
long t; //timepo que demora en llegar el eco
long d; //distancia en centimetros

void setup()
{
// Conficuración para el puerto serie
Serial.begin(9600);
// Configuración de pines para sensores de linea
pinMode(si,INPUT);
pinMode(sd,INPUT);
// Configuración de pines para el motor 1
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(enA,OUTPUT);
// Configuración de pines para el motor 2
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(enB,OUTPUT);
// Configuración de pines para sensor ultrasonico
pinMode(echo,INPUT);
pinMode(trigger,OUTPUT);
// Configuración de pines para led
pinMode(led,OUTPUT);
// Configuración inicial en reposo-freno
digitalWrite(enA,HIGH);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
A.M.R.O.S.M.E. – Versión 1 Página 4 de 8
Operación de Sistemas Mecatrónicos. Quinto Semestre
digitalWrite(enB,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
digitalWrite(led,LOW);
digitalWrite(trigger,LOW);
}

void loop()
{
// Lectura de sensor ultrasónico
lecturaSensorUsonido();
// Lectura de sensores de linea
lecturaSensorLinea();
// Si sensor si=blanco=0 y sd=blanco=0
if(lecturaSensorIzq == 0 && lecturaSensorDer == 0 && d >= 10)
{
// Avanza
avanza();
Serial.println("avanza");
}
// si sensor si=blanco=0 y sd=negro=1
if (lecturaSensorIzq == 0 && lecturaSensorDer == 1 && d >= 10)
{
// Izquierda
izquierda();
Serial.println("izquierda");
//delay(500);
}
// si sensor si=negro=1 y sd=blanco=0
if (lecturaSensorIzq == 1 && lecturaSensorDer == 0 && d >= 10)
{
// Derecha
derecha();
Serial.println("derecha");
//delay(500);
}
// si sensor si=negro=1 y sd=negro=1
if (lecturaSensorIzq == 1 && lecturaSensorDer == 1)
{
// Para
para();
Serial.println("para");
}

void lecturaSensorUsonido()
{
//long t; //timepo que demora en llegar el eco
//long d; //distancia en centimetros
A.M.R.O.S.M.E. – Versión 1 Página 5 de 8
Operación de Sistemas Mecatrónicos. Quinto Semestre

digitalWrite(trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(trigger, LOW);

t = pulseIn(echo, HIGH); //obtenemos el ancho del pulso


d = t/59; //escalamos el tiempo a una distancia en cm

Serial.print("Distancia: ");
Serial.print(d); //Enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
return(d);
//delay(100); //Hacemos una pausa de 100ms
}

void lecturaSensorLinea()
{
// Almacena la lectura del sensor izquierdo
lecturaSensorIzq = digitalRead(si);
// Almacena la lectura del sensor derecho
lecturaSensorDer = digitalRead(sd);
// Imprime valor de sensor izquierdo
Serial.print("Si es: ");
Serial.println(lecturaSensorIzq);
// Imprime valor de sensor derecho
Serial.print("Sd es: ");
Serial.println(lecturaSensorDer);
}

void avanza()
{
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, LOW);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
digitalWrite (in4, LOW);
// Velocidad motor izquierdo
analogWrite (enB,S2);
delay(50);
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, HIGH);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
A.M.R.O.S.M.E. – Versión 1 Página 6 de 8
Operación de Sistemas Mecatrónicos. Quinto Semestre
digitalWrite (in4, HIGH);
// Velocidad motor izqu
delay(50);
}

void izquierda()
{
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, HIGH);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
digitalWrite (in4, LOW);
// Velocidad motor izquierdo
analogWrite (enB,S2);
delay(50);
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, HIGH);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
digitalWrite (in4, HIGH);
// Velocidad motor izqu
delay(50);
}

void derecha()
{
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, LOW);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
digitalWrite (in4, HIGH);
// Velocidad motor izquierdo
analogWrite (enB,S2);
delay(50);
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, HIGH);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
A.M.R.O.S.M.E. – Versión 1 Página 7 de 8
Operación de Sistemas Mecatrónicos. Quinto Semestre
digitalWrite (in4, HIGH);
// Velocidad motor izqu
delay(50);
}

void para()
{
// Sentido motor derecho
digitalWrite (in1, HIGH);
digitalWrite (in2, HIGH);
// Velocidad motor derecho
analogWrite (enA,S1);
// Sentido motor izquierdo
digitalWrite (in3, HIGH);
digitalWrite (in4, HIGH);
// Velocidad motor izquierdo
analogWrite (enB,S2);
}

Cierre.

Realizar un documento de texto con las siguientes características:

Tipo de letra: Arial


Tamaño de la letra: 11
Interlineado: 1.15
Texto: Justificado
Márgenes: Superior 2 cm, inferior 2 cm, izquierdo 2 cm, derecho 2 cm.

Con la siguiente estructura:

Hoja 1 - 8.- Hojas de practica.


Hoja 9.- CODIGOS: Agregar el codigo utilizado si se realizaron cambios.
Hoja 10.- EVIDENCIA: Agregar en una hoja fotografias de la practica mostrando circuito, valores y parte fisica.
Hoja 11.- Conclusiones: Agregar una conclusión por cada integrante del equipo con información referente en
como esta practica te ayudo en el cumplimiento de los objetivos.

Recuerden se evalúa el trabajo en equipo, participación en clase, si te expresas de forma ordenada y con
respeto con tus compañeros y maestro.

NOTA: esta actividad cuenta para tu calificación final.

A.M.R.O.S.M.E. – Versión 1 Página 8 de 8

También podría gustarte