Skip to main content

Brzi početak

Spojite mrežu LED dioda na kontroler s tri žice, instalirajte biblioteku i pokrenite njezin primjer SetPixel. Pet piksela zasvijetli na poznatim mjestima, što pokazuje da napajanje, podatkovni signal i koordinate (x, y) rade.

Programirate kontroler spojen na ovu pločicu. Sama pločica se ne programira.

1. Spojite pločicu​

Najprije zalemite priložene pin headere na pločicu. Mreža se napaja naponom od 5 V preko VCC, a podatke prima na DIN. Primjeri iz biblioteke šalju podatke s pina 6 kontrolera.

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

VCC zahtijeva 4,5 V do 5,3 V, stoga ga nikada nemojte spajati na viši napon. LED diode očitavaju DIN kao visoku razinu tek od 0,7 x VCC, što je 3,5 V pri napajanju od 5 V, pa je podatkovni signal od 3,3 V ispod vrijednosti za koju su LED diode specificirane. Primjeri postavljaju svjetlinu na 40 od 255 kako bi struja ostala mala.

DOUT je izlaz prema sljedećoj mreži u lancu. Zasad ga ostavite nespojenim.

2. Instalirajte biblioteku​

Instalirajte Soldered WS2812B Grid tako da je preuzmete s njezina GitHub repozitorija i dodate ZIP u Arduino IDE (pogledajte savjet u nastavku).

🔗Soldered WS2812B Grid

Provjerena Arduino biblioteka na commitu 4a1991f

→

Savjet: preuzimanje s GitHuba. Otvorite biblioteku na commitu 4a1991f preko gornje poveznice, tamo kliknite zeleni gumb Code i odaberite Download ZIP, zatim je dodajte u Arduino IDE preko Sketch → Include Library → Add .ZIP Library....

3. Pokrenite prvi primjer​

Ovo je SetPixel.ino, vlastiti primjer biblioteke. Postavlja svjetlinu na 40, pali pet piksela prema njihovu položaju (x, y) i šalje ih na mrežu pomoću show(). Ako ste DIN spojili na neki drugi pin, promijenite PIN tako da odgovara.

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. Provjerite rezultat​

Nema ispisa na serijskom sučelju. Odmah nakon prijenosa programa piksel u gornjem lijevom kutu (0, 0), gdje podaci ulaze, svijetli crveno, piksel gore desno (7, 0) zeleno, a piksel dolje lijevo (0, 7) plavo. Dva piksela na (3, 3) i (4, 4), u sredini mreže, svijetle bijelo. Ostaju upaljeni jer loop() ne radi ništa.

Ovo smo pokrenuli na pločici kompatibilnoj s Arduinom na 5 V s podatkovnom linijom na pinu 6, s Arduino IDE-om 2.3 i bibliotekom na commitu 4a1991f, a mreža je prikazala upravo ovih pet piksela.

Postavljanje piksela objašnjava sve funkcije koje skica koristi.

5. Ako ne radi​

Nastavite s poglavljem Otklanjanje poteškoća i nakon svake promjene ponovno pokrenite ovaj najmanji primjer.