Subido por dperez6392.mx

Robot segidor de linea

Anuncio
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);
}
}
Descargar