Programacion en Arduino desde Cero (0) – Conceptos Básicos

Un motor de corriente continua (denominado también motor DC por las iniciales en inglés direct current) es una máquina que convierte energía eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la acción de un campo magnético.

Un motor de corriente continua se compone principalmente de dos partes: El estator (carcasa exterior) crea un campo magnético. El rotor es la parte interior que gira, alimentado con corriente directa a través de delgas, que están en contacto alternante con escobillas fija.

Pasos a Seguir

  1. Realiza la siguiente conexión electrónica.
  2. Abrimos Arduino IDE.
  3. Carga el siguiente código de control.
    int IN1 = 2;      // IN1 de L298N a pin digital 2
    int IN2 = 3;      // IN2 de L298N a pin digital 3
    int ENA = 5;      // ENA de L298N a pin digital 5
    
    void setup(){
      pinMode(IN1, OUTPUT);   // pin 2 como salida
      pinMode(IN2, OUTPUT);   // pin 3 como salida  
      pinMode(ENA, OUTPUT);   // pin 5 como salida
    }
    
    void loop(){
      digitalWrite(ENA, HIGH);  // habilita motor A (giro en un sentido)
      digitalWrite(IN1, LOW); // IN1 a 0
      digitalWrite(IN2, HIGH);  // IN2 a 1
      delay(3000);      // demora de 3 seg.
    
      digitalWrite(ENA, LOW); // ENA en 0 para deshabilitar motor
      delay(2000);      // demora de 2 seg.
    
      digitalWrite(ENA, HIGH);  // habilita motor A (giro en sentido contrario)
      digitalWrite(IN1, HIGH);  // IN1 a 1
      digitalWrite(IN2, LOW); // IN2 a 0
      delay(3000);      // demora de 3 seg
    
      digitalWrite(ENA, LOW); // ENA en 0 para deshabilitar motor
      delay(2000);      // demora de 2 seg.
    }
  4. Ahora veremos como controlar la velocidad del motor DC, carga el siguiente código a Arduino.
    int IN1 = 2;			// IN1 de L298N a pin digital 2
    int IN2 = 3;			// IN2 de L298N a pin digital 3
    int ENA = 5;			// ENA de L298N a pin digital 5
    int VELOCIDAD;			// variable para almacenar valor de velocidad
    
    void setup(){
      pinMode(IN1, OUTPUT);		// pin 2 como salida
      pinMode(IN2, OUTPUT);		// pin 3 como salida	
      pinMode(ENA, OUTPUT);		// pin 5 como salida
    }
    
    void loop(){
    
      for (VELOCIDAD = 0; VELOCIDAD < 256; VELOCIDAD++){	// bucle que incrementa de a uno
      analogWrite(ENA, VELOCIDAD);				// el valor de velocidad y aplica a ENA
      digitalWrite(IN1, LOW);				// IN1 en 0
      digitalWrite(IN2, HIGH);				// IN2 en 1
      delay(50);						// demora de 50 mseg. por cada iteracion
      }
    
      digitalWrite(ENA, LOW);	// ENA en 0 para deshabilitar motor
      delay(2000);			// demora de 2 seg.
    
      for (VELOCIDAD = 0; VELOCIDAD < 256; VELOCIDAD++){	// bucle que incrementa de a uno
      analogWrite(ENA, VELOCIDAD);				// el valor de velocidad y aplica a ENA
      digitalWrite(IN1, HIGH);				// IN1 en 1
      digitalWrite(IN2, LOW);				// IN2 en 0
      delay(50);						// demora de 50 mseg. por cada iteracion
      }
    
      digitalWrite(ENA, LOW);	// ENA en 0 para deshabilitar motor
      delay(2000);			// demora de 2 seg.
    }

Prueba

  • Apaga y enciende el motor DC a través de puerto serial.
Select your currency (Seleccione su moneda)
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare
Menú Principal Categorías CONTACTO
¿Qué buscas en RoboticaDeColombia.Com?
Verificado por MonsterInsights