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.
- Arduino
- MicroPython
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.
| Controller | Soldered Smart LED WS2812B Grid 8x8 |
|---|---|
| 5V | VCC |
| GND | GND |
| Pin 6 | DIN |
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.
/**
**************************************************
*
* @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.
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 modula šalju
podatke s pina 6 kontrolera, kao Pin(6, Pin.OUT). Testirali smo to na
pločici NULA DeepSleep (ESP32-S3) s podatkovnom linijom na GPIO 6.
| Controller | Soldered Smart LED WS2812B Grid 8x8 |
|---|---|
| 5V | VCC |
| GND | GND |
| GPIO 6 | DIN |
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. U
našem testu podatkovna linija od 3,3 V izravno je pokretala DIN dok je mreža bila na 5 V,
i mreža je radila, ali tehnički list to ne jamči. 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 modul
Nakon instalacije paketa mpremote, instalirajte biblioteku na pločicu sljedećom naredbom:
mpremote mip install github:SolderedElectronics/Soldered-WS2812Grid-MicroPython-Library
Ili, ako koristite operacijski sustav Windows:
python -m mpremote mip install github:SolderedElectronics/Soldered-WS2812Grid-MicroPython-Library
🔗MicroPython biblioteka Soldered WS2812Grid
Repozitorij modula na commitu db93fa3, verzija prema kojoj su ove stranice provjerene
Savjet: preuzimanje s GitHuba. Ako nemate mpremote, otvorite .py
datoteku modula na GitHubu i kliknite Download raw file, zatim je otvorite u Thonnyju i preko
File → Save as... → MicroPython device kopirajte na pločicu.
3. Pokrenite prvi primjer
Ovo je primjer SetPixel.py iz modula. 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 broj u Pin(6, Pin.OUT) tako da odgovara. Pokrenite ovo u Thonnyju s priključenim kontrolerom.
# 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
🔗Otvorite cjelovit primjer
Examples/SetPixel.py na commitu db93fa3
4. Provjerite rezultat
Primjer ne ispisuje ništa u Thonny shellu. Kad se pokrene, 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 nakon završetka skripte.
Ovo smo pokrenuli na pločici NULA DeepSleep (ESP32-S3) s podatkovnom linijom na GPIO 6,
mrežom napajanom s 5 V i podatkovnom linijom od 3,3 V koja izravno pokreće DIN, s
modulom na commitu db93fa3, a mreža je prikazala upravo ovih pet piksela.
Postavljanje piksela objašnjava sve funkcije koje primjer koristi.
5. Ako ne radi
Nastavite s poglavljem Otklanjanje poteškoća i nakon svake promjene ponovno pokrenite ovaj najmanji primjer.