Zum Hauptinhalt springen

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.

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.

ControllerSoldered Smart LED WS2812B Grid 8x8
5VVCC
GNDGND
Pin 6DIN

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.

Select Board
SetPixel.ino
/**
**************************************************
*
* @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.