neopixel --- kendali LED WS2812 / NeoPixel¶
Modul ini menyediakan driver untuk strip LED WS2812 / NeoPixel. Driver bergantung pada machine.bitstream() untuk menghasilkan sinyal dengan pewaktuan presisi yang diharapkan oleh LED, sehingga bekerja pada port manapun yang modul machine-nya mengimplementasikan bitstream.
Aplikasi mengatur data piksel melalui penugasan item atau NeoPixel.fill(), lalu memanggil NeoPixel.write() untuk memperbarui strip. Setiap piksel direpresentasikan sebagai tuple RGB atau RGBW sesuai urutan yang diterima pengguna; driver menangani urutan kabel GRB(W) secara internal.
Contoh:
import machine
import neopixel
# 32 LED strip connected to pin P7.
n = neopixel.NeoPixel(machine.Pin("P7"), 32)
# Draw a red gradient.
for i in range(32):
n[i] = (i * 8, 0, 0)
# Update the strip.
n.write()
class NeoPixel¶
- class neopixel.NeoPixel(pin: 'machine.Pin', n: int, bpp: int = 3, timing: int | tuple[int, int, int, int] = 1)¶
Membuat objek
NeoPixeluntuk strip LED yang terhubung ke pin.pin adalah instans
machine.Pin; konstruktor akan mengonfigurasinya ulang sebagai output.n adalah jumlah LED dalam strip.
bpp adalah jumlah byte per piksel:
3untuk LED RGB (seperti WS2812) dan4untuk LED RGBW (seperti SK6812-RGBW).timing memilih pewaktuan bit.
0memilih pewaktuan lambat 400 kHz,1memilih pewaktuan standar 800 kHz yang digunakan oleh sebagian besar strip modern. Sebuah 4-tuple(high_0, low_0, high_1, low_1)berupa durasi nanodetik juga dapat diberikan, dalam format yang diterima olehmachine.bitstream().
- ORDER: tuple[int, int, int, int]¶
Atribut kelas yang memetakan urutan kanal yang terlihat oleh pengguna ke urutan kabel. Defaultnya adalah
(1, 0, 2, 3), yaitu tuple(R, G, B[, W])yang diberikan pengguna dikirimkan sebagaiG R B [W]. Subkelas dapat menimpaORDERuntuk mendukung strip dengan urutan kabel yang berbeda.
- fill(pixel: tuple[int, ...]) None¶
Mengatur setiap piksel dalam strip ke pixel, sebuah tuple RGB atau RGBW berisi bilangan bulat dalam rentang
0-255.
- __setitem__(index: int, val: tuple[int, ...]) None¶
Mengatur piksel pada index ke val, sebuah tuple RGB atau RGBW. Data hanya disimpan dalam buffer; panggil
write()untuk mengirimkannya ke strip.
- __getitem__(index: int) tuple[int, ...]¶
Mengembalikan piksel pada index dari buffer lokal sebagai tuple RGB atau RGBW dalam urutan kanal yang terlihat oleh pengguna.
- write() None¶
Mengirimkan data piksel yang tersimpan dalam buffer ke strip menggunakan
machine.bitstream().