🛠 Control de GPIO y LED RGB en el Driver Motor 4-Encoders

Unit 4-Encoder Motor Driver (DRV8837DSGR) · intermediaire · Apprenez à utiliser les entrées-sorties et la LED RGB WS2812C intégrée au module DRV8837DSGR via I2C.

Objetivos

Este tutorial tiene como objetivo dominar las funciones de entrada/salida (GPIO) y la visualización luminosa del módulo M5Stack 4-Encoder Motor Driver. A diferencia de los controladores clásicos, este módulo integra un microcontrolador STM32F030C8T6 que gestiona los periféricos. Configuraremos los puertos Grove para leer estados lógicos y controlar el LED RGB WS2812C integrado para mostrar el estado del sistema, manteniendo el control de los motores mediante I2C.

Material Necesario

Pasos

  1. Conexión de Hardware: Inserte el módulo en el puerto Grove de su placa base. Conecte un botón pulsador a uno de los dos puertos Grove HY2.0-4P disponibles en el módulo. Asegúrese de que el módulo esté alimentado mediante el puerto Grove (5V) o la entrada DC externa.
  1. Inicialización de Software: En su código Arduino, incluya la librería M5Stack_M5Stack. Inicialice el módulo con M5.begin() y arranque el driver del motor con M5.M5Stack.begin(). Verifique que la comunicación I2C (dirección 0x24) esté activa.
  1. Configuración de GPIO: El módulo expone líneas GPIO a través de sus puertos Grove. Utilice funciones específicas del driver para definir la dirección de los pines. Por ejemplo, configure el pin asociado al puerto Grove utilizado como entrada digital (INPUT_PULLUP) para leer el estado del botón.
  1. Control del LED RGB: El LED WS2812C es direccionable mediante el bus I2C. Envíe un comando para definir el color. Por ejemplo, encienda el LED en verde si el botón está suelto, y en rojo si está presionado. Utilice la función setRGB(r, g, b) proporcionada por la librería del driver.
  1. Bucle de Lectura: En la función loop(), lea el estado del GPIO conectado al botón. Actualice el color del LED en consecuencia. Añada un retraso de 10ms para evitar rebotes mecánicos y la saturación del bus I2C.

Verificación

Abra el monitor serie a 115200 baudios. Muestre el estado del botón leído por el GPIO. Presione el botón: el LED del módulo debe cambiar de color instantáneamente. Verifique que los motores permanezcan inmóviles si no se envía ninguna orden de movimiento, confirmando que la configuración GPIO no afecta a los puentes en H.

Para Ir Más Allá

Explore el uso del sensor de corriente INA199A integrado. Puede leer la corriente consumida por cada motor y hacer parpadear el LED RGB según la carga detectada, creando un sistema de diagnóstico visual para sus robots.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales