Tutoriales

Tutoriales

Módulo Driver L298N con Arduino Uno

Código para 1 motor:

const int pinENA = 9;
const int pinIN1 = 8;
const int pinIN2 = 7;
 
int speed = 255;      //velocidad de giro
int tiempo=2000;

void setup()
{
   pinMode(pinIN1, OUTPUT);
   pinMode(pinIN2, OUTPUT);
   pinMode(pinENA, OUTPUT);
}
void loop()
{
   if(speed==80){
      analogWrite(pinENA, speed);
      speed=255;
   }
   else if(speed==255){
      analogWrite(pinENA, speed);
      speed=80;
   }
   
   Izquierda();
   delay(tiempo);
   Derecha();
   delay(tiempo);
   Detenerse();
   delay(tiempo);
}


void Detenerse(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, LOW);
}

void Izquierda(){
   digitalWrite(pinIN1, HIGH);
   digitalWrite(pinIN2, LOW);
}

void Derecha(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, HIGH);
}

Código para 2 motores:

//Pines para el motor A
const int pinENA = 10;
const int pinIN1 = 9;
const int pinIN2 = 8;

//Pines para el motor B
const int pinIN3 = 7;
const int pinIN4 = 6;
const int pinENB = 5;
 
int speed = 255;      //velocidad de giro
int tiempo=2000;

void setup()
{
   pinMode(pinENA, OUTPUT);
   pinMode(pinIN1, OUTPUT);
   pinMode(pinIN2, OUTPUT);
   pinMode(pinIN3, OUTPUT);
   pinMode(pinIN4, OUTPUT);
   pinMode(pinENB, OUTPUT);
}
void loop()
{
   if(speed==100){
      analogWrite(pinENA, speed);
      analogWrite(pinENB, speed);
      speed=255;
   }
   else if(speed==255){
      analogWrite(pinENA, speed);
      analogWrite(pinENB, speed);
      speed=100;
   }
   
   MA_Izquierda();
   delay(tiempo);
   MA_Derecha();
   delay(tiempo);
   MA_Detenerse();
   delay(tiempo);
   
   MB_Izquierda();
   delay(tiempo);
   MB_Derecha();
   delay(tiempo);
   MB_Detenerse();
   delay(tiempo);
   
   Adelante();
   delay(tiempo);
   Atras();
   delay(tiempo);
   Stop();
   delay(tiempo);
}

void MA_Detenerse(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, LOW);
}
void MA_Izquierda(){
   digitalWrite(pinIN1, HIGH);
   digitalWrite(pinIN2, LOW);
}
void MA_Derecha(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, HIGH);
}

void MB_Detenerse(){
   digitalWrite(pinIN3, LOW);
   digitalWrite(pinIN4, LOW);
}
void MB_Izquierda(){
   digitalWrite(pinIN3, HIGH);
   digitalWrite(pinIN4, LOW);
}
void MB_Derecha(){
   digitalWrite(pinIN3, LOW);
   digitalWrite(pinIN4, HIGH);
}

void Adelante(){
   digitalWrite(pinIN1, HIGH);
   digitalWrite(pinIN2, LOW);
   digitalWrite(pinIN3, HIGH);
   digitalWrite(pinIN4, LOW);
}
void Atras(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, HIGH);
   digitalWrite(pinIN3, LOW);
   digitalWrite(pinIN4, HIGH);
}
void Stop(){
   digitalWrite(pinIN1, LOW);
   digitalWrite(pinIN2, LOW);
   digitalWrite(pinIN3, LOW);
   digitalWrite(pinIN4, LOW);
}

Descargas:

error: