Racing Senna - Fase 4.


_______________________________________________________________________________________________________________________

_______________________________________________________________________________________________________________________


Introducción a la Ingeniera Electrónica

Pablo Esteban Brand Tegue
Juan Camilo Pavi Valencia

Docente Oscar Casas García

______________________________________________________________
________________________________

Continuando con la fase cuatro del proyecto final de ingeniería electrónica, se procede a describir el sistema funcional de movimiento del robot seguidor de linea. Se opto por utilizar el driver controlador de motores "L298N" gracias a su popularidad y simple uso. Para esta parte del trabajo, ya se tiene una maquina funcional capaz de moverse en distintas dirección de manera "autónoma" a través de señales en su ambiente.



DRIVER CONTROLADOR DE MOTORES
L298N

El módulo controlador de motores L298N  nos permite controlar la velocidad y la dirección de dos motores de corriente continua a través de señales externas, como pueden ser las de una placa arduino de forma muy sencilla.

Características generales:
- Interfaz de potencia: 5V~35V
- Corriente máxima: 2A por canal
- Voltaje de control: 5V
- Corriente de control: 36mA
- Potencia de salida: 25W



__________________________________

CONEXIONES
__________________________________

________________________________________________________________

DIAGRAMA DE FLUJO DEL PROGRAMA
________________________________________________________________



________________________________________

PROGRAMA UTILIZADO
________________________________________



int rs = 13; // Pin del sensor derecho
int ls = 2; // Pin del sensor izquierdo
int ledr=8;
int ledl=7;

// Pines de señal del módulo L298N
int in1 = 5; 
int in2 = 6;
int in3 = 10;
int in4 = 11;

int leftValue; //izquierda
int rightValue; //derecha

void setup() {
  pinMode(rs, INPUT);
  pinMode(ls, INPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(ledr, OUTPUT);
  pinMode(ledl, OUTPUT);
 

  Serial.begin(9600); // // Comunicación serial
  
  
}

void sensorReading(){
  leftValue = digitalRead(ls); // Lectura - Pin izquierdo
  rightValue = digitalRead(rs); //Lectura - Pin derecho

}

void forward(){
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
}


void turnRight(){
  //Motor izquierdo
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  // Motor derecho
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW); 
}
void turnLeft(){
  //Motor izquiero
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  // Motor derecho
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH); 
}


void stopMotors(){
   //Motor izquierdo
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  // Motor derecho
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(3000);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW); 
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
   delay(3000);
}
void loop() {
  
 sensorReading();
 
    if(leftValue == 0 && rightValue == 1){
    turnLeft();
  }else if(leftValue == 1 && rightValue == 0 ){
    turnRight();
  }else if(leftValue == 1 && rightValue == 1){
    stopMotors();
  }
 
  else if(leftValue == 0 && rightValue == 0){
    forward();
  }
  {
  
  if (rightValue==HIGH)
  
  {
    digitalWrite(ledr, HIGH);
  }
  
  else
  {
    digitalWrite(ledr, LOW);
  }}
  
  
{  
  
  if (leftValue==HIGH)
  
  {
    digitalWrite(ledl, HIGH);
  }
  
  else
  {
    digitalWrite(ledl, LOW);
  }
}
  Serial.print(leftValue);
  Serial.println(rightValue);
  
}//END


________________________________________________________

ENSABLAJES FINALES DEL ROBOT
________________________________________________________



Imagen 1


Imagen 2


Imagen 3


________________________________________________________

ROBOT EN FUNCIONAMIENTO
________________________________________________________




Comentarios

Entradas populares de este blog

Robot laberinto Kastelean

Fase 4 Robot seguidor de linea

FASE 2 ROBOT SEGUIDOR DE LINEA