✨ نئوپیکسل (WS2812)
نئوپیکسل چیست و چطور با یک سیم دهها LED رنگی را کنترل کنیم؟ پایه DIN، کتابخانه Adafruit_NeoPixel، مصرف جریان و کد رنگینکمان — با شبیهساز آنلاین رایگان فارسی.
نئوپیکسل چیست؟
نئوپیکسل (تراشهی WS2812) یک LED رنگی است که کنترلکنندهی خودش را داخل خودش دارد. جادویش این است: با فقط یک سیم داده میتوانی دهها یا صدها LED را کنترل کنی و به هرکدام رنگ جداگانه بدهی.
چطور با یک سیم؟
آردوینو رشتهای از داده میفرستد. هر LED اولین بسته را برای خودش برمیدارد و بقیه را به بعدی پاس میدهد — مثل صف تحویل نامه.
سه پایه
| پایه | نقش |
|---|---|
| 5V | تغذیه |
| GND | زمین — حتماً به GND آردوینو هم وصل شود |
| DIN | ورودی داده — به یک پایهی دیجیتال آردوینو |
روی نوارها یک DOUT هم هست که به DIN نوار بعدی میرود. جهت فلش روی نوار را رعایت کن.
کد رنگینکمان
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel ring(12, 6, NEO_GRB + NEO_KHZ800);
int step = 0;
void setup() {
ring.begin();
ring.setBrightness(80); // کم نگهش دار
}
void loop() {
for (int i = 0; i < 12; i++) {
int hue = (i * 21 + step) % 256;
ring.setPixelColor(i, ring.Color(hue, 255 - hue, 128));
}
ring.show(); // بدون این هیچچیز عوض نمیشود!
step = (step + 8) % 256;
delay(60);
}
⚠️ هر پیکسل در سفید کامل تا ۶۰ میلیآمپر میکشد. یک نوار ۳۰ تایی یعنی تا ۱٫۸ آمپر — خیلی بیشتر از توان USB. برای نوارهای بلند منبع تغذیهی جدا بگذار و GNDها را به هم وصل کن. با
setBrightness() مصرف را پایین نگه دار.اشتباهات رایج
- فراموشکردن
ring.show()— رنگها تنظیم میشوند ولی نمایش داده نمیشوند. - وصلکردن به DOUT بهجای DIN.
- تغذیهی نوار بلند از خود آردوینو — ولتاژ افت میکند و رنگها عجیب میشوند.
- وصلنکردن GND منبع جدا به GND آردوینو.