Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Quinto Semestre
NOMBRE DE LOS
ALUMNOS
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.
Materiales.
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.
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.
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.
// ///////////////////////////////////////////////////////////////////////////
// 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. //
// ///////////////////////////////////////////////////////////////////////////
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);
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.
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.