Proyecto de matriz de LED RGB ESP32-S3 4 - Punto inclinado

Proyecto de matriz de LED RGB ESP32-S3 4 - Punto inclinado

Proyecto 4 - Punto Inclinado (Mueve el Punto inclinando la Matriz LED RGB ESP32-S3)

El Proyecto 4 introduce el sensor de movimiento integrado en el módulo de matriz LED RGB ESP32-S3. En lugar de mover automáticamente el punto (como en el Proyecto 1) o desplazar texto (Proyectos 2 y 3), este proyecto te permite controlar la posición del punto simplemente inclinando la placa. El punto se mueve suavemente a través de la pantalla RGB de 8×8 basado en lecturas en tiempo real del acelerómetro QMI8658C en la parte posterior del módulo.

Los seis proyectos de esta serie se demuestran en un video de YouTube. El mismo video está incrustado en esta página, por lo que puedes ver exactamente cómo se mueve el punto en tiempo real a medida que la tabla se inclina. El código completo para este proyecto se carga automáticamente debajo del artículo, y los enlaces de compra afiliados para el módulo aparecen bajo la sección del código.

Resumen del módulo de matriz de LED RGB ESP32-S3

Este proyecto utiliza el módulo de matriz de LED RGB ESP32-S3, que incluye:

  • microcontrolador ESP32-S3con Wi-Fi y Bluetooth
  • matriz LED RGB de 8×8(64 LED individuales direccionables)
  • Acelerómetro QMI8658Cen la parte posterior para la detección de inclinación y movimiento
  • puerto USBpara programación y potencia
  • Botón de arranque / reinicio
  • Pines GPIO utilizablespara futuras expansiones

El sensor QMI8658C leeX,Y, andZvalores de aceleración y orientación, permitiendo que el punto se mueva hacia arriba/abajo/izquierda/derecha según cómo esté inclinado el tablero.:contentReference[oaicite:0]{index=0}

Proyectos Cubiertos en el Video (Marcas de Tiempo)

  • 00:00- Introducción
  • 02:01- Instalando placas ESP32
  • 03:32- Instalando bibliotecas
  • 05:32- Proyecto 1: Punto en Movimiento
  • 11:11- Proyecto 2: Desplazamiento de texto
  • 12:59- Proyecto 3: Texto HTTP
  • 16:41-Proyecto 4: Tilt Dot (este proyecto)
  • 18:55- Proyecto 5: Flecha Arriba
  • 20:02- Proyecto 6: Juego de Objetivos

Se recomienda encarecidamente ver la demostración de inclinación en el video, ya que puedes ver cómo el punto reacciona suavemente a la orientación de la tabla.:contentReference[oaicite:1]{index=1}

Instalando las placas ESP32 en Arduino IDE

Si has completado algún proyecto anterior, el soporte de la placa ya está instalado. De lo contrario, sigue estos pasos:

  1. AbiertoFile > Preferences→ Añadir URL de placas ESP32.
  2. Ir aTools > Board > Boards Manager…y instalarESP32.
  3. Seleccione su placa ESP32-S3 bajoTools > Board.
  4. Seleccione el puerto COM correcto bajoTools > Port.

Instalando bibliotecas necesarias

Este proyecto requiere las siguientes bibliotecas:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX Library
  • QMI8658(sensor de movimiento)

Instálalos en el Administrador de Bibliotecas:

  1. AbrirSketch > Include Library > Manage Libraries….
  2. Buscar porAdafruit NeoMatrix→ Instalar.
  3. Permitir la instalación automática deAdafruit GFXyAdafruit NeoPixel.
  4. Buscar porQMI8658por su autor listado → Instalar.:contentReference[oaicite:2]{index=2}

Cómo Funciona el Proyecto 4

El sensor QMI8658C proporciona continuamente datos de aceleración a lo largo de los ejes X, Y y Z. Para este proyecto, solo utilizamos los ejes X e Y para decidir:

  • Qué tan lejos mover el punto a la izquierda o a la derecha (eje X)
  • Qué tan lejos mover el punto hacia arriba o hacia abajo (eje Y)

Los valores del sensor se mapean en un rango de coordenadas de 0 a 7 (para la matriz de LED de 8×8). La posición del punto se actualiza muchas veces por segundo, dando el efecto de deslizamiento suave a medida que inclinas el módulo.:contentReference[oaicite:3]{index=3}

Proyecto 4 - Configuraciones de Código (Punto Inclinable)

A continuación se encuentran los ajustes editables por el usuario que se encuentran cerca de la parte superior del código del proyecto. El boceto completo aparece automáticamente debajo del artículo.

Punto y tamaño de matriz


// 8×8 RGB matrix configuration
const int MATRIX_PIN    = 14;   // fixed pin for this board
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

DejarMATRIX_PINen14Está conectado de forma fija a la matriz a bordo.

Brillo


// Overall brightness (0–255)
uint8_t matrixBrightness = 40;

Aumenta si es necesario, pero evita el brillo extremo al observar de cerca.

Color del punto


// Dot color (R, G, B)
uint8_t dotRed   = 0;
uint8_t dotGreen = 200;   // light green (default)
uint8_t dotBlue  = 0;

Cambia estos valores para crear cualquier color. Ejemplos:

  • Rojo:(255, 0, 0)
  • Amarillo:(255, 255, 0)
  • Blanco:(255, 255, 255)

Sensibilidad al movimiento

Para prevenir saltos extremos, los valores del acelerómetro suelen ser limitados o escalados. Una configuración típica se ve así:


// How aggressively tilt affects movement
float sensitivity = 4.0f;   // larger = faster movement across screen

Si el punto se mueve demasiado lento → aumenta el valor. Si el punto se mueve demasiado bruscamente → disminúyelo.

Velocidad de actualización (Tasa de refresco)

Puedes añadir un pequeño retraso entre actualizaciones para suavizar el movimiento:


// Delay between position updates (ms)
int refreshDelayMs = 20;   // lower = smoother and faster response

Valores entre 10-30 ms se sienten muy responsivos.

Resumen

El Proyecto 4 da vida al acelerómetro QMI8658C integrado del ESP32-S3 al permitirte controlar la matriz de LED con movimiento físico. Una pequeña inclinación de la placa mueve el punto en la misma dirección, lo que convierte este proyecto en un escalón perfecto para los proyectos más avanzados "Flecha Arriba" y "Juego de Objetivos".

El boceto completo de Tilt Dot está cargado debajo de este artículo (automáticamente). Para una mejor comprensión, mira la demostración de tilt en el video, donde puedes ver lo suavemente que se mueve el punto mientras se rota la placa. Los enlaces para comprar el módulo de matriz de LED RGB ESP32-S3 están incluidos en la sección de código.

Imágenes

ESP32 S3 Matrix
ESP32 S3 Matrix
ESP32 S3 Matrix  pin out
ESP32 S3 Matrix pin out
ESP32-S3_RGB_8x8_matrix-3
ESP32-S3_RGB_8x8_matrix-3
ESP32 S3 Matrix displaying rainbow heart
ESP32 S3 Matrix displaying rainbow heart
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3_RGB_8x8_matrix-2
802-ESP32-S3 RGB LED Matrix Project 4 - Tilt dot
Idioma: C++
¡Copiado!

Cosas que podrías necesitar

Recursos y referencias

Archivos📁

Archivo de Fritzing