Une matrice LED RGB 8x8 (64) avec des LEDs WS2812b adressables pour des pixels contrôlables individuellement. Elle est généralement pilotée par un microcontrôleur avec un seul signal de données et une alimentation commune en 5V avec masse partagée. Souvent chaînée en série et utilisée pour des graphiques simples, des animations et des affichages d’état.
| Broche | Signal | Description |
|---|---|---|
5V |
power | 5V power input rail for the WS2812B LED matrix. |
GND |
ground | Common ground reference for power and data signals. |
DI |
data | Serial data input from the microcontroller to drive the first LED. |
DO |
data | Serial data output from the last LED for chaining another matrix. |
GND |
ground | Ground output/reference for a chained LED matrix. |
5V |
power | 5V rail output for powering or chaining LED matrices. |
| De | Vers | Fil |
|---|---|---|
board:5V |
x1:5V |
red |
board:GND |
x1:GND |
black |
board:D6 |
x1:DI |
green |
Cet exemple a été écrit et vérifié à la compilation pour le arduino-uno. Codey Online l'adapte pour vous à toute autre carte prise en charge.
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define LED_COUNT 64
Adafruit_NeoPixel matrix(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
uint32_t colorFromXY(uint8_t x, uint8_t y) {
// Simple rainbow-style gradient across the 8x8 matrix.
uint8_t r = x * 32;
uint8_t g = y * 32;
uint8_t b = 255 - (x + y) * 16;
return matrix.Color(r, g, b);
}
uint16_t xyToIndex(uint8_t x, uint8_t y) {
// Common serpentine wiring for many 8x8 WS2812 matrices.
// If your specific module uses a different layout, adjust this mapping.
if (y % 2 == 0) {
return y * 8 + x;
} else {
return y * 8 + (7 - x);
}
}
void showDemoPattern() {
matrix.clear();
for (uint8_t y = 0; y < 8; y++) {
for (uint8_t x = 0; x < 8; x++) {
matrix.setPixelColor(xyToIndex(x, y), colorFromXY(x, y));
}
}
matrix.show();
}
void setup() {
Serial.begin(115200);
matrix.begin();
matrix.setBrightness(40);
matrix.show(); // Initialize all pixels to off
Serial.println("8x8 WS2812B matrix demo starting...");
}
void loop() {
showDemoPattern();
Serial.println("Showing color gradient on the 8x8 matrix.");
delay(1000);
matrix.clear();
matrix.show();
Serial.println("Cleared matrix.");
delay(500);
}
Décrivez ce que vous voulez créer. Codey Online écrit le code, dessine le schéma de câblage, le compile et flashe votre carte directement depuis le navigateur.
Commencez gratuitement