matrice-led.ino

Arduino UNO R4 WiFi · Fichier : matrice-led.ino · Langage : Arduino · Usage : Animer la matrice LED 12x8 intégrée au R4 WiFi

La matrice 12x8 est la signature du R4 WiFi : ce script dessine une balle qui rebondit en diagonale, trame par trame. La bibliothèque officielle ArduinoLEDMatrix masque le multiplexage des lignes et le pilote WS2812 interne.

Matériel requis

Une Arduino UNO R4 WiFi (Renesas RA4M1 @ 14 MHz + ESP32-S3 Wi-Fi/BLE compagnon, matrice LED 12x8, LED RGB) alimentée par USB ou 6-24 V. Aucun : la matrice est embarquée sur la carte.

Câblage

Rien à câbler. La matrice consomme jusqu'à ~100 mA : alimenter par USB plutôt que par pin.

Fonctionnement

Chaque image est un tableau de 8 octets (1 bit = 1 LED) ; setFrame la charge, render l'affiche. La boucle déplace la balle et inverse la pente aux bords.

Exécution

Arduino IDE 2.x avec le core « Arduino UNO R4 Boards », carte « Arduino UNO R4 WiFi », port série puis Téléverser. Le coprocesseur ESP32-S3 se met à jour séparément si l'IDE le demande.

Variantes

Afficher du texte défilant (bitmap 5x7 par caractère), ou un visualiseur de réseau connecté via le 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).

← Retour à la fiche