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
- Realiza la siguiente conexión electrónica.

- Abrimos Arduino IDE.

- 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. } - 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.