Schnellstart
Verbinden Sie das Grid mit drei Drähten mit Ihrem Controller, installieren Sie die Bibliothek und führen Sie ihr Beispiel SetPixel aus. Fünf Pixel leuchten an bekannten Stellen auf. Das zeigt, dass Stromversorgung, Daten und die (x, y)-Koordinaten alle funktionieren.
Sie programmieren den Controller, der an dieses Breakout angeschlossen ist. Das Breakout selbst wird nicht geflasht.
- Arduino
- MicroPython
1. Breakout-Board anschließen
Löten Sie zuerst die mitgelieferten Header-Pins an das Board. Das Grid
bezieht seine 5-V-Versorgung über VCC und seine Daten über DIN. Die Beispiele der Bibliothek senden
die Daten von Pin 6 des Controllers.
| Controller | Soldered Smart LED WS2812B Grid 8x8 |
|---|---|
| 5V | VCC |
| GND | GND |
| Pin 6 | DIN |
VCC benötigt 4,5 V bis 5,3 V, schließen Sie es deshalb nie an eine höhere Spannung an. Die
LEDs lesen DIN erst ab 0,7 x VCC als High, das sind 3,5 V bei 5 V
Versorgung. Ein Datensignal mit 3,3 V liegt daher unter dem, wofür die LEDs spezifiziert sind. Die
Beispiele setzen die Helligkeit auf 40 von 255, um den Strom niedrig zu halten.
DOUT ist der Ausgang zum nächsten Grid in einer Kette. Lassen Sie ihn vorerst unbeschaltet.
2. Bibliothek installieren
Installieren Sie Soldered WS2812B Grid, indem Sie sie aus dem GitHub-Repository herunterladen und die ZIP-Datei in der Arduino IDE hinzufügen (siehe den Tipp unten).
🔗Soldered WS2812B Grid
Verifizierte Arduino-Bibliothek beim Commit 4a1991f
Tipp: Download von GitHub. Öffnen Sie die Bibliothek beim Commit 4a1991f über den Link oben, klicken Sie dort auf die grüne Schaltfläche Code und wählen Sie Download ZIP. Fügen Sie sie dann in der Arduino IDE hinzu über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen....
3. Erstes Beispiel ausführen
Das ist SetPixel.ino, das eigene Beispiel der Bibliothek. Es setzt die Helligkeit auf
40, lässt fünf Pixel an ihrer (x, y)-Position leuchten und überträgt sie mit
show() an das Grid. Wenn Sie DIN an einen anderen Pin angeschlossen haben, ändern Sie PIN entsprechend.
/**
**************************************************
*
* @file SetPixel.ino
* @brief Basic usage: set individual pixels by (x, y) coordinates on the
* Soldered 8x8 WS2812B LED grid.
*
* Connect the grid data line to PIN below.
* (0, 0) is top-left. X increases to the right, Y increases downward.
*
* @authors Josip Šimun Kuči @ soldered.com
***************************************************/
#include "WS2812Grid-SOLDERED.h"
#define PIN 6
WS2812Grid grid(PIN);
void setup()
{
grid.begin();
// Set overall brightness (0 = off, 255 = full).
// Keep this low to avoid excessive current draw.
grid.setBrightness(40);
// Draw a red pixel at the top-left corner
grid.setPixel(0, 0, 255, 0, 0);
// Draw a green pixel at the top-right corner
grid.setPixel(7, 0, 0, 255, 0);
// Draw a blue pixel at the bottom-left corner
grid.setPixel(0, 7, 0, 0, 255);
// Draw a white pixel in the centre using a packed color
grid.setPixel(3, 3, WS2812Grid::Color(255, 255, 255));
grid.setPixel(4, 4, WS2812Grid::Color(255, 255, 255));
// Push all changes to the hardware
grid.show();
}
void loop()
{
// Nothing to do — pixels stay lit
}
4. Ergebnis prüfen
Es gibt keine serielle Ausgabe. Unmittelbar nach dem Upload leuchtet das Pixel oben links (0, 0),
wo die Daten eintreten, rot, das Pixel oben rechts (7, 0) grün und das Pixel
unten links (0, 7) blau. Die beiden Pixel bei (3, 3) und (4, 4) in der
Mitte des Grids leuchten weiß. Sie bleiben an, weil loop() nichts tut.
Wir haben dies auf einem 5-V-Arduino-kompatiblen Board mit der Datenleitung an Pin 6, mit Arduino IDE 2.3 und der Bibliothek beim Commit 4a1991f ausgeführt, und das Grid zeigte genau diese fünf Pixel.
Pixel setzen erklärt jede Funktion, die der Sketch verwendet.
5. Wenn es nicht funktioniert
Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses kleinste Beispiel nach jeder Änderung.
1. Breakout-Board anschließen
Löten Sie zuerst die mitgelieferten Header-Pins an das Board. Das Grid
bezieht seine 5-V-Versorgung über VCC und seine Daten über DIN. Die Beispiele des Moduls senden
die Daten von Pin 6 des Controllers, als Pin(6, Pin.OUT). Wir haben dies mit einem
NULA DeepSleep (ESP32-S3) getestet, mit der Datenleitung an GPIO 6.
| Controller | Soldered Smart LED WS2812B Grid 8x8 |
|---|---|
| 5V | VCC |
| GND | GND |
| GPIO 6 | DIN |
VCC benötigt 4,5 V bis 5,3 V, schließen Sie es deshalb nie an eine höhere Spannung an. Die
LEDs lesen DIN erst ab 0,7 x VCC als High, das sind 3,5 V bei 5 V
Versorgung. Ein Datensignal mit 3,3 V liegt daher unter dem, wofür die LEDs spezifiziert sind. In
unserem Testlauf steuerte die 3,3-V-Datenleitung DIN direkt an, während das Grid mit 5 V lief,
und das Grid funktionierte, doch das Datenblatt garantiert dies nicht. Die Beispiele
setzen die Helligkeit auf 40 von 255, um den Strom niedrig zu halten.
DOUT ist der Ausgang zum nächsten Grid in einer Kette. Lassen Sie ihn vorerst unbeschaltet.
2. Modul installieren
Nachdem Sie das mpremote-Paket installiert haben, installieren Sie die Bibliothek mit dem folgenden Befehl auf Ihrem Board:
mpremote mip install github:SolderedElectronics/Soldered-WS2812Grid-MicroPython-Library
Oder, wenn Sie Windows verwenden:
python -m mpremote mip install github:SolderedElectronics/Soldered-WS2812Grid-MicroPython-Library
🔗Soldered WS2812Grid MicroPython-Bibliothek
Das Repository des Moduls beim Commit db93fa3, der Version, gegen die diese Seiten geprüft wurden
Tipp: Download von GitHub. Öffnen Sie ohne mpremote die .py-Datei des Moduls
auf GitHub und klicken Sie auf Download raw file. Öffnen Sie sie dann in Thonny und kopieren Sie sie mit
File → Save as... → MicroPython device auf das Board.
3. Erstes Beispiel ausführen
Das ist das Beispiel SetPixel.py des Moduls. Es setzt die Helligkeit auf 40,
lässt fünf Pixel an ihrer (x, y)-Position leuchten und überträgt sie mit
show() an das Grid. Wenn Sie DIN an einen anderen Pin angeschlossen haben, ändern Sie die Zahl in Pin(6, Pin.OUT) entsprechend. Führen Sie dies in Thonny aus, während Ihr Controller angeschlossen ist.
# FILE: SetPixel.py
# AUTHOR: Josip Šimun Kuči @ Soldered
# BRIEF: Basic usage: set individual pixels by (x, y) coordinates on the
# Soldered 8x8 WS2812B LED grid.
# Connect the grid data line to the pin defined below.
# (0, 0) is top-left. X increases to the right, Y increases downward.
# WORKS WITH: Soldered WS2812B LED Grid: www.soldered.com
# LAST UPDATED: 2026-05-12
from machine import Pin
from WS2812Grid import WS2812Grid
PIN = Pin(6, Pin.OUT)
grid = WS2812Grid(PIN)
grid.begin()
# Set overall brightness (0 = off, 255 = full).
# Keep this low to avoid excessive current draw.
grid.setBrightness(40)
# Draw a red pixel at the top-left corner
grid.setPixel(0, 0, 255, 0, 0)
# Draw a green pixel at the top-right corner
grid.setPixel(7, 0, 0, 255, 0)
# Draw a blue pixel at the bottom-left corner
grid.setPixel(0, 7, 0, 0, 255)
# Draw a white pixel in the centre using a packed color
grid.setPixel(3, 3, WS2812Grid.Color(255, 255, 255))
grid.setPixel(4, 4, WS2812Grid.Color(255, 255, 255))
# Push all changes to the hardware
grid.show()
# Nothing to do — pixels stay lit
🔗Vollständiges Beispiel öffnen
Examples/SetPixel.py beim Commit db93fa3
4. Ergebnis prüfen
Das Beispiel gibt in der Thonny-Shell nichts aus. Wenn es läuft, leuchtet das Pixel oben links (0, 0), wo die Daten eintreten, rot, das Pixel oben rechts (7, 0) grün und das Pixel unten links (0, 7) blau. Die beiden Pixel bei (3, 3) und (4, 4) in der Mitte des Grids leuchten weiß. Sie bleiben an, nachdem das Skript beendet ist.
Wir haben dies auf einem NULA DeepSleep (ESP32-S3) ausgeführt, mit der Datenleitung an GPIO 6, dem
Grid mit 5 V versorgt und der 3,3-V-Datenleitung, die DIN direkt ansteuert, mit dem
Modul beim Commit db93fa3, und das Grid zeigte genau diese fünf Pixel.
Pixel setzen erklärt jede Funktion, die das Beispiel verwendet.
5. Wenn es nicht funktioniert
Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses kleinste Beispiel nach jeder Änderung.