matrice-led.ino
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).