⭕ حلقه‌ی نئوپیکسل ۱۲ تایی (NeoPixel Ring 12 (WS2812))

اسم انگلیسیNeoPixel Ring 12 (WS2812)
در ووکوی (Wokwi)wokwi-led-ring
دسته💡 LED و نمایشگر
در شبیه‌ساز فارسیمود آردوینو · رایگان

حلقه‌ی نئوپیکسل ۱۲ تایی (NeoPixel Ring 12) دوازده LED رنگی آدرس‌پذیر WS2812 است که روی یک دایره چیده شده‌اند و همه با یک سیم داده کنترل می‌شوند. هر LED را می‌توانی جدا به هر رنگی دربیاوری؛ برای همین برای چراغ گردان، نشانگر بارگذاری، ساعت رنگی، قطب‌نما و تایمر عالی است.

حلقه‌ی نئوپیکسل در ووکوی (Wokwi)

در ووکوی حلقه با شناسه‌ی wokwi-led-ring و ویژگی "pixels": "12" ساخته می‌شود. پایه‌هایش GND، VCC، DIN و DOUT هستند:

{
  "version": 1,
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-led-ring", "id": "ring1", "top": -170, "left": 60, "attrs": { "pixels": "12" } }
  ],
  "connections": [
    [ "ring1:GND", "uno:GND.1", "black", [] ],
    [ "ring1:VCC", "uno:5V", "red", [] ],
    [ "ring1:DIN", "uno:6", "green", [] ]
  ]
}
پایه‌ی حلقهوصل به
GNDuno:GND.1
VCCuno:5V
DINuno:6
DOUTآزاد؛ یا DIN حلقه یا نوار بعدی

اگر به‌جای ۱۲ عدد دیگری در pixels بگذاری، ووکوی حلقه‌ی بزرگ‌تر یا کوچک‌تر می‌کشد؛ فقط همان عدد را در کد هم عوض کن. حلقه‌ی نئوپیکسل در تینکرکد فارسی جزو اشتراک پلاس است؛ مثال‌هایش برای خواندن رایگان باز می‌شوند و برای اجرا پلاس لازم داری.

سیم‌کشی با آردوینو (مدار واقعی)

پایه‌ی حلقهآردوینو Unoنکته
DIN (یا IN)پین 6از راه یک مقاومت ۳۳۰ تا ۴۷۰ اهم
5V (یا VCC)5Vبرای نور کامل، منبع ۵ ولت جدا
GNDGNDزمین مشترک با آردوینو
DOUT (یا OUT)—به DIN حلقه‌ی بعدی، برای زنجیر

روی بیشتر حلقه‌ها پایه‌ها پد لحیمی پشت برد هستند و باید سیم را لحیم کنی. یک خازن بزرگ (حدود ۱۰۰۰ میکروفاراد) بین 5V و GND نزدیک حلقه، LEDها را از ضربه‌ی لحظه‌ی روشن شدن محافظت می‌کند. حساب جریان را هم داشته باش: دوازده LED در سفید کامل تا حدود ۷۰۰ میلی‌آمپر می‌کشند، ولی با setBrightness(60) و رنگ‌های تک این عدد کسری از آن می‌شود و USB آردوینو از پسش برمی‌آید. اگر حلقه را با منبع جدا تغذیه می‌کنی، GND منبع را به GND آردوینو وصل کن؛ بدون زمین مشترک داده به LEDها نمی‌رسد.

کد نمونه: تایمر حلقه‌ای

// NeoPixel ring as a 12-second timer: one green pixel per second,
// then three red flashes.
#include <Adafruit_NeoPixel.h>

#define RING_PIN 6
#define NUM_PIXELS 12

Adafruit_NeoPixel ring(NUM_PIXELS, RING_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  ring.begin();
  ring.setBrightness(60);   // keep the current low
  ring.show();              // all pixels off
}

void loop() {
  for (int i = 0; i < NUM_PIXELS; i++) {
    ring.setPixelColor(i, ring.Color(0, 150, 40));
    ring.show();
    delay(1000);
  }
  for (int k = 0; k < 3; k++) {     // time is up
    ring.fill(ring.Color(200, 0, 0));
    ring.show();
    delay(250);
    ring.clear();
    ring.show();
    delay(250);
  }
}

LEDها از ۰ تا ۱۱ شماره دارند و اولی همان است که DIN به آن می‌رسد. اگر نقطه‌ی شروع جای دلخواهت نیست، به‌جای چرخاندن حلقه شماره را در کد جابه‌جا کن، مثلاً (i + 3) % NUM_PIXELS. برای تایمر یک‌دقیقه‌ای هم کافی است delay(1000) را به ۵۰۰۰ برسانی.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

حلقه‌ی نئوپیکسل ۱۲ تایی چقدر جریان می‌کشد؟

هر LED در سفید کامل حدود ۶۰ میلی‌آمپر می‌کشد، پس دوازده‌تا تا حدود ۷۰۰ میلی‌آمپر می‌رسد. با setBrightness نور را پایین نگه دار یا حلقه را از منبع ۵ ولت جدا تغذیه کن و زمین‌ها را مشترک کن.

در ووکوی تعداد LEDهای حلقه را چطور عوض کنم؟

در diagram.json ویژگی pixels را در attrs قطعه‌ی wokwi-led-ring عوض کن، مثلاً 16 یا 24، و همان عدد را در کد به‌جای 12 بنویس.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: حلقه‌ی نئوپیکسل ۱۲ تایی آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

🌈

رنگین‌کمان نئوپیکسل با آردوینو و کتابخانه‌ی Adafruit_NeoPixel

قطعه‌های دیگرِ LED و نمایشگر

🌈

نوار نئوپیکسل ۸ تایی

NeoPixel Strip 8 (WS2812)

💡

LED (دیود نورانی)

LED (Light-Emitting Diode)

🌈

LED RGB (سه‌رنگ)

RGB LED

🔢

نمایشگر هفت‌قسمتی (سون سگمنت)

7-Segment Display

📊

نوار LED ده‌تایی

LED Bar Graph (10 segments)

📟

نمایشگر LCD 16×2

LCD 16x2 (LCD1602)

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

حلقه‌ی نئوپیکسل ۱۲ تایی را در شبیه‌ساز امتحان کن 🚀