matrice-led.ino

Arduino UNO R4 WiFi · Archivo : matrice-led.ino · Lenguaje : Arduino · Uso : Animer la matrice LED 12x8 intégrée au R4 WiFi

La matriz 12x8 es la firma del R4 WiFi: este script dibuja una pelota que rebota en diagonal, trama a trama. La librería oficial ArduinoLEDMatrix oculta la multiplexación de filas y el driver WS2812 interno.

Hardware

Un Arduino UNO R4 WiFi (Renesas RA4M1 @ 14 MHz + ESP32-S3 Wi-Fi/BLE compañero, matriz LED 12x8, LED RGB) alimentado por USB o 6-24 V. Ninguno: la matriz va integrada en la placa.

Cableado

Nada que cablear. La matriz consume hasta ~100 mA: alimentar por USB en vez de por pin.

Funcionamiento

Cada imagen es un array de 8 bytes (1 bit = 1 LED); setFrame la carga, render la muestra. El bucle mueve la pelota e invierte la pendiente en los bordes.

Ejecución

Arduino IDE 2.x con el core « Arduino UNO R4 Boards », placa « Arduino UNO R4 WiFi », puerto serie y Subir. El coprocesador ESP32-S3 se actualiza aparte si el IDE lo pide.

Variantes

Mostrar texto desplazable (bitmap 5x7 por carácter), o un visualizador de red vía Wi-Fi.

matrice-led.ino

// Matrice 12x8 du R4 WiFi via la bibliotheque officielle.
#include "ArduinoLEDMatrix.h"

ArduinoLEDMatrix matrice;

// Trame : 8 octets, 1 bit = 1 LED (12 colonnes utilisees).
#include <string.h>
uint8_t frame[8] = {0};

void setup() {
  matrice.begin();
  matrice.setBrightness(10);
  Serial.begin(9600);
}

void loop() {
  static unsigned long t0 = 0;
  if (millis() - t0 < 120) return;
  t0 = millis();

  static int x = 0;
  memset(frame, 0, sizeof(frame));

  // Une balle qui rebondit en diagonale.
  static int y = 0, dy = 1;
  int col = x % 12;
  frame[y] |= (1 << col);
  frame[y] |= (1 << ((col + 1) % 12));   // petite trainee
  x = (x + 1) % 12;
  y += dy;
  if (y == 0 || y == 7) dy = -dy;

  matrice.setFrame(frame);
  matrice.render();
}

// La bibliotheque est livree avec le core UNO R4 (Arduino IDE).

← Volver a la ficha