En esta práctica hemos realizado el funcionamiento de un coche que gira en forma cuadrangular con dos motores para las ruedas y un motor que le da alimentación al Driver L298N para motores DC.
//Motor A
int ENA=11;
int IN1=10;
int IN2=9;
//Motor B
int ENB=5;
int IN3=6;
int IN4=7;
void setup(){
//Declaramos todos los pines con salidas
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void Adelante()// Declaramos el funcionamiento de los motores de las ruedas y la velocidad que tienen que tener
{
//Direccion motor A
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 120);//Velocidad motor A
//Direccion motor B
digitalWrite (IN3, LOW);
digitalWrite (IN4, HIGH);
analogWrite (ENB,120); //Velocidad motor B
}
void Atras ()// Declaramos como van a funcionar los motores de las ruedas y que velocidad tienen que tener
{
//Direccion motor A
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
analogWrite (ENA, 100); //Velocidad motor A
//Direccion motor B
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
analogWrite (ENB, 100); //Velocidad motor B
}
void Derecha ()// Una rueda va a girar para la derecha y la otra rueda va a estar parada
{
//Direccion motor A
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
analogWrite (ENA, 150); //Velocidad motor A
//Direccion motor B
digitalWrite (IN3, LOW);
digitalWrite (IN4, HIGH);
analogWrite (ENB, 0); //Velocidad motor A
}
void Izquierda ()//Este void no lo vamos a utilizar pero funcionaría igual que el void derecha pero el funcionamiento de la rueda estaría al revés.
{
//Direccion motor A
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
analogWrite (ENA, 0); //Velocidad motor A
//Direccion motor B
digitalWrite (IN3, LOW);
digitalWrite (IN4, HIGH);
analogWrite (ENB, 100); //Velocidad motor A
}
void Parar ()//Los motores de las ruedas están a 0 en velocidad.
{
//Direccion motor A
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
analogWrite (ENA, 0); //Velocidad motor A
//Direccion motor B
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
analogWrite (ENB, 0); //Velocidad motor A
}
void loop (){// En este circuito solo vamos a utilizar los void derecha, parar y adelante para darle movimiento cuadrangular al coche.
Adelante();
delay(300);
Parar();
delay(1000);
Derecha();
delay(300);
Parar();
delay(1000);
}
Comentarios
Publicar un comentario