Contenido del curso

Actividad 18

 

Control completo de un motor DC
El objetivo de este ejercicio es poder controlar totalmente un motor DC haciendo uso de los Puente en H y el driver L293D incorporado en el kit que emplea este tipo de tecnología. Vamos conectar el circuito integrado como indica el esquema a continuación y programar el Arduino para establecer distintas velocidades en ambos sentidos de giro del motor:




// Se definen los pines que se van a utilizar
#define vel 9
#define Gir1 10
#define Gir2 11

void setup() {
  // Se configuran los pines como salidas
  pinMode(vel,OUTPUT);
  pinMode(Gir1,OUTPUT);
  pinMode(Gir2,OUTPUT);
  // Se apagan todas las salidas
  digitalWrite(vel,LOW);
  digitalWrite(Gir1,LOW);
  digitalWrite(Gir2,LOW);
}

void loop() {
  // Primero se va a seleccionar un sentido de giro
  digitalWrite(Gir1,HIGH);
  digitalWrite(Gir2,LOW);
 
  // Despues se acelera de forma progresiva
  for(int i=0;i<256;i++){
    analogWrite(vel,i);
    delay(20);
  }
  // Despues se frena progresivamente
  for(int i=255;i>=0;i--){
    analogWrite(vel,i);
    delay(20);
  }
  // Ahora se cambia el sentido de giro de los motores
  digitalWrite(Gir1,LOW);
  digitalWrite(Gir2,HIGH);
  // Despues se acelera de forma progresiva
  for(int i=0;i<256;i++){
    analogWrite(vel,i);
    delay(20);
  }
  // Despues se frena progresivamente
  for(int i=255;i>=0;i--){
    analogWrite(vel,i);
    delay(20);
  }
  // Se apagan los motores
  digitalWrite(Gir1,LOW);
  digitalWrite(Gir2,LOW);
  // Se espera un tiempo para empezar de nuevo la secuencia
  delay(3000);
}


Puedes descargar la solución pinchando en el siguiente icono:


Vistas
12 Número de vistas
12 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.