Obtenga entrega gratuita en todas las órdenes más de £20!

Usando el L9110s con el Arduino

Using the L9110S With the Arduino

El L9110S controlador de motor es una solución compacta y eficiente para controlar motores DC y motores paso a paso en tus proyectos con Arduino. Ya sea que estés construyendo un robot simple o un sistema de automatización más complejo, el L9110S ofrece una forma fiable de gestionar las operaciones del motor con un cableado y una programación mínimos. En este artículo exploraremos las características del L9110S controlador de motor, cómo conectarlo a un Arduino y proporcionaremos código de ejemplo para que empieces.

¿Qué es el L9110S?

El L9110S es un circuito integrado controlador de motor de doble canal diseñado para controlar la velocidad y la dirección de dos motores DC o de un motor paso a paso. Funciona en un rango de voltaje de 2.5V a 12V, lo que lo hace versátil para diversas aplicaciones. El L9110S es conocido por su tamaño compacto, bajo consumo de energía y facilidad de integración con microcontroladores como el Arduino.

Por qué elegir el L9110S?

  • Diseño compacto: Su reducido tamaño lo hace ideal para proyectos con espacio limitado.
  • Doble canal: Controla dos motores de forma independiente, permitiendo movimientos complejos.
  • Fácil de usar: Interfaz simple con etiquetado claro para conexiones sencillas.
  • Económico: Precio accesible sin sacrificar funcionalidad.

Conectar el L9110S al Arduino

Configurar el L9110S con un Arduino es sencillo. A continuación hay una guía paso a paso para realizar las conexiones:

  1. Conexiones de alimentación:
    • Conecta el pin VCC del L9110S al pin 5V del Arduino.
    • Conecta el pin GND del L9110S al pin GND del Arduino.
  2. Conexiones del motor:
    • Conecta el primer motor a los pines OUT1 y OUT2 .
    • Si usas un segundo motor, conéctalo a los pines OUT3 y OUT4 .
  3. Pines de control:
    • Conecta los pines AIN1 y AIN2 a dos pines digitales del Arduino (por ejemplo, los pines 2 y 3).
    • Si usas un segundo motor, conecta BIN1 y BIN2 a otros dos pines digitales (por ejemplo, los pines 4 y 5).

Consulta el diagrama a continuación para una representación visual de las conexiones:

Programando el Arduino

Después de configurar el hardware, el siguiente paso es programar el Arduino para controlar los motores. A continuación hay un código de ejemplo que demuestra cómo controlar la dirección y la velocidad de un motor DC usando el L9110S controlador de motor.


// Definir pines de control del motor
const int AIN1 = 2;
const int AIN2 = 3;

// Función setup
void setup() {
  // Inicializar los pines de control del motor como salidas
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Función loop
void loop() {
  // Girar el motor hacia adelante
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Funcionamiento durante 2 segundos

  // Detener el motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Parar durante 1 segundo

  // Girar el motor hacia atrás
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Funcionamiento durante 2 segundos

  // Detener el motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Parar durante 1 segundo
}

Explicación:

  • AIN1 y AIN2 se usan para controlar la dirección del motor.
  • Poner AIN1 en HIGH y AIN2 en LOW hace que el motor gire hacia adelante.
  • Poner AIN1 en LOW y AIN2 en HIGH hace que el motor gire hacia atrás.
  • Poner ambos AIN1 y AIN2 en LOW detiene el motor.

Control de velocidad con PWM

El L9110S admite PWM (Modulación por Ancho de Pulso) para el control de velocidad. Variando el ciclo de trabajo de la señal PWM puedes ajustar la velocidad del motor. Aquí se muestra cómo modificar el código anterior para incluir control de velocidad:


// Definir pines de control del motor
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // Pin PWM para control de velocidad

// Función setup
void setup() {
  // Inicializar los pines de control del motor como salidas
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Función loop
void loop() {
  // Ajustar la velocidad a 150 de 255
  analogWrite(PWM_PIN, 150);

  // Girar el motor hacia adelante
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Funcionamiento durante 2 segundos

  // Detener el motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Parar durante 1 segundo

  // Girar el motor hacia atrás
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Funcionamiento durante 2 segundos

  // Detener el motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Parar durante 1 segundo
}

Explicación: La función analogWrite() envía una señal PWM al motor, lo que te permite controlar su velocidad. El valor varía de 0 (parado) a 255 (velocidad máxima).

Aplicaciones del L9110S con Arduino

La combinación del L9110S controlador de motor y Arduino abre una amplia gama de posibilidades de proyectos:

  • Robótica: Controla el movimiento de brazos robóticos o robots móviles con control preciso de motores.
  • Sistemas de automatización: Automatiza tareas como abrir/cerrar puertas, ajustar válvulas o mover componentes en líneas de ensamblaje.
  • Proyectos DIY: Crea proyectos electrónicos personalizados como sliders motorizados para cámaras, sistemas automatizados de riego para plantas o vehículos controlados a distancia.
  • Herramientas educativas: Enseña a los estudiantes sobre control de motores, electrónica y programación mediante proyectos prácticos.

Conclusión

El L9110S controlador de motor es un componente versátil y fácil de usar para cualquiera que desee controlar motores usando un Arduino. Su capacidad de doble canal, combinada con la sencillez en el cableado y la programación, lo convierte en una excelente opción tanto para principiantes como para aficionados experimentados. Siguiendo los pasos descritos en este artículo, puedes integrar rápidamente el control de motores en tus proyectos y ampliar la funcionalidad de tus sistemas basados en Arduino.

Experimenta con diferentes velocidades, direcciones y aplicaciones para aprovechar al máximo el potencial del L9110S controlador de motor. ¡Feliz bricolaje!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Escribir un comentario