viernes, 26 de agosto de 2016

Arduino: Modulo L298n Control de Motores DC [Parte 2]


Circuito


Ejemplo 1

int IN1 = 3; //Entrada motor Izquierdo hacia adelante
int IN2 = 5; //Entrada motor Izquierdo hacia atras
int IN3 = 6; //Entrada motor Derecho hacia atras
int IN4 = 9; //Entrada motor Derecho hacia adelante

void setup()
{

  pinMode (IN1, OUTPUT); //Pin3 = Salida    
  pinMode (IN2, OUTPUT); //Pin5 = Salida    
  pinMode (IN3, OUTPUT); //Pin6 = Salida       
  pinMode (IN4, OUTPUT); //Pin9 = Salida     
}

void ATRAS(){ 

  digitalWrite (IN1, LOW);  //Entrada motor Izquierdo hacia adelante  off
  digitalWrite (IN4, LOW);  //Entrada motor Derecho hacia adelante    off
  digitalWrite (IN2, HIGH); //Entrada motor Izquierdo hacia atras     on
  digitalWrite (IN3, HIGH); //Entrada motor Derecho hacia atras       on
   
}
void ADELANTE(){ 
  
  digitalWrite (IN1, HIGH); //Entrada motor Izquierdo hacia adelante  on
  digitalWrite (IN4, HIGH); //Entrada motor Derecho hacia adelante    on
  digitalWrite (IN2, LOW);  //Entrada motor Izquierdo hacia atras     off
  digitalWrite (IN3, LOW);  //Entrada motor Derecho hacia atras       off
}

void DERECHA(){ 
  
  digitalWrite (IN1, HIGH); //Entrada motor Izquierdo hacia adelante  on
  digitalWrite (IN4, LOW);  //Entrada motor Derecho hacia adelante    off
  digitalWrite (IN2, LOW);  //Entrada motor Izquierdo hacia atras     off
  digitalWrite (IN3, HIGH); //Entrada motor Derecho hacia atras       on
}

void IZQUIERDA(){ 
  
  digitalWrite (IN1, LOW);  //Entrada motor Izquierdo hacia adelante  off
  digitalWrite (IN4, HIGH); //Entrada motor Derecho hacia adelante    on
  digitalWrite (IN2, HIGH); //Entrada motor Izquierdo hacia atras     on
  digitalWrite (IN3, LOW);  //Entrada motor Derecho hacia atras       off
}
void loop()
{

ADELANTE(); //Función creada motor hacia adelante
delay(1000);//Se mueve 1 segundos 
     
ATRAS();     //Función creada motor hacia atras
delay(1000); //Se mueve 1 segundos 
        
DERECHA();  //Función creada motor hacia la derecha
delay(2000); //Se mueve 2 segundos 

IZQUIERDA();//Función creada motor hacia la izquierda
delay(2000);//Se mueve 2 segundos 



Ejemplo 2

int IN4 = 9; //Entrada motor Derecho hacia adelante

void setup()
{   
  pinMode (IN4, OUTPUT);  //Pin9 = Salida   
}


void loop()
  analogWrite(IN4,115); //Pwm en IN4
  delay(2000);          //Se mueve 2 segundos
  analogWrite(IN4,160); //Pwm en IN4
  delay(2000);          //Se mueve 2 segundos
  analogWrite(IN4,200); //Pwm en IN4
  delay(2000);          //Se mueve 2 segundos
  analogWrite(IN4,255); //Pwm en IN4
  delay(3000);          //Se mueve 3 segundos
}