COLEGIO NACIONAL DE EDUCACIÓN PROFECIONAL TÉCNICO NOMBRE DEL DOCENTE: LUIS ALBERTO GOMEZ LOPEZ NOMBRE DEL ALUNO: ANDRIK PEREZ TOLEDO MODULO: DISEÑO DE ROBOT ESPECIALIDAD: MANTENIMIENTO DE SISTEMAS ELECTRÓNICOS ACTIVIDAD: REPORTE DE ROBOT SEGIDOR DE LINEA GRUPO: 3203 SALINA CRUZ OAXACA 27/06/2024 Introducción Este proyecto trata de como armar y utilizar un robot seguidor de línea así como del funcionamiento del Arduino y sus diferentes métodos de utilizarlo sin mas que mencionar el proyecto del robot seguidor de linea Iniciamos colocando los motores en la base de acrílico atornillando con sus respectivos tornillos, colocando sus respectivas llantas. Colocamos y atornillamos la rueda loca Colocamos el botón para controlar la corriente. Colocamos el controlador de motor atornillamos correctamente para asegurarnos que no se mueva ala hora de utilizar el robot. colocamos el Arduino y lo atornillamos con cuidado para no dañarlo Conectamos los motores del carrito en el controlador de motor nos aseguramos de que los cables estén conectados de acuerdo con el giro de las llantas si en dado caso es otro el resulta invertimos las conexiones. Conectamos los cables del controlador de motor al Arduino uno de acuerdo con el programa que estamos trabajando Motor1A=13; Motor1B=12; Motor2C=11; Motor2D=10; infra Pin=2; infra Pin1=4; valor Infra=0; valor Infra1=1; Conectamos los cables de la batería el cable rojo o positivo lo conectaremos en el botón, el cable negro o negativo ira en el controlador de motor donde GND en este caso serán dos cables debido a que usaremos dos baterías a demás que se utilizaran para alimentar el Arduino por lo que sacaremos dos cables uno a GND del controlador de motor al Arduino y otro de 5 V al Arduino que ira conectado en VIN colocamos los dos sensores infrarrojos los atornillamos con cuidado de no dañarlos Por último, colocamos los dos sensores infrarrojos conectamos de acuerdo con el programa que tenemos de Arduino infra Pin=2; infra Pin1=4; valor Infra=0; valor Infra1=1; int VelocidadMotor1 = 6; int VelocidadMotor2 = 5; int Motor1A = 13; int Motor1B = 12; int Motor2C = 11; int Motor2D = 10; int infraPin = 2; int infraPin1 = 4; int valorInfra = 0; int valorInfra1 = 1; void setup() { Serial.begin(9600); delay(1000); pinMode(infraPin, INPUT); pinMode(infraPin1, INPUT); pinMode(Motor1A,OUTPUT); pinMode(Motor1B,OUTPUT); pinMode(Motor2C,OUTPUT); pinMode(Motor2D,OUTPUT); pinMode(VelocidadMotor1, OUTPUT); pinMode(VelocidadMotor2, OUTPUT); analogWrite(VelocidadMotor1, 180); analogWrite(VelocidadMotor2, 180); digitalWrite(Motor1A, LOW); digitalWrite(Motor1B, LOW); digitalWrite(Motor2C, LOW); digitalWrite(Motor2D, LOW); } // Ejecución contínua void loop() { valorInfra = digitalRead(infraPin); valorInfra1 = digitalRead(infraPin1); Serial.println(valorInfra); Serial.println(valorInfra1); if(valorInfra == 0 && valorInfra1 == 0){ Serial.println("Ninguno en linea"); digitalWrite(Motor1A, HIGH); digitalWrite(Motor2D, HIGH); delay(20); digitalWrite(Motor1A, LOW); digitalWrite(Motor2D, LOW); delay(20); } // El robot encuentra línea negra con el infrarrojo derecho y //hay que corregir girando a la derecha if(valorInfra == 0 && valorInfra1 == 1){ Serial.println("Derecho en linea"); digitalWrite(Motor1A,LOW); digitalWrite(Motor2D, LOW); delay(25); digitalWrite(Motor1A,LOW); digitalWrite(Motor2D, HIGH); delay(20); } // El robot encuentra línea negra con el infrarrojo izquierdo y //hay que corregir girando a la izquierda if(valorInfra == 1 && valorInfra1 == 0){ Serial.println("Izquierdo en linea"); digitalWrite(Motor1A, LOW); digitalWrite(Motor2D,LOW); delay(25); digitalWrite(Motor1A, HIGH); digitalWrite(Motor2D,LOW); delay(20); } // Los dos sensores infrarrojos encuentran una línea negra, //el final del circuito if(valorInfra == 1 && valorInfra1 == 1){ Serial.println("Ambos en linea"); digitalWrite(Motor1A, LOW); digitalWrite(Motor1B, LOW); digitalWrite(Motor2C, LOW); digitalWrite(Motor2D, LOW); } }