آردوینوپروژه آردوینو

هر آنچه که باید راجب ماژول WS2812 بدانید + راه اندازی مدار

مقدمه

ماژول led rgb ws2812: امروز می خواهیم ماژولی را به شما معرفی کنیم که می توان با آن میلیون ها رنگ را تولید کرد. با داتوس همراه باشید.

نمایی از ماژول led rgb ws2812
نمایی از ماژول led rgb ws2812

ماژول فوق یک LED سه رنگ به نام WS2812 است که رنگ های آن توسط یک سیگنال دیجیتال کنترل می شود. یعنی برخلاف دیگر LED های سه رنگ که معمولا برای هررنگ یک پایه آنالوگ یا PWm نیاز دارند این مدل را می توان با تنها یک پایه دیجیتال کنترل کرد.


موج pwm چیست؟ و چه کاربرد هایی دارد؟


این LED هم در حالت تکی و هم به تعداد به صورت رشته ای قابل کنترل و برنامه ریزی است. پایه کنرل از آردوینو به پین DI متصل می شود و در صورت اینکه بخواهید چندتا را باهم سری کنید باید باید به طور متوالی DI ماژول بعدی را به DO ماژول قبلی وصل کنید.

برای راه اندازی این ماژول نیاز به کتابخانه دارید که در آدرس https://github.com/adafruit/Adafruit_NeoPixel موجود است.

مدار

پس از نصب کتابخانه مدار زیر را ببندید.

چگونگی اتصال ماژول ها به آردوینو
چگونگی اتصال ماژول ها به آردوینو

در اینجا ما از ۵ عدد ماژول استفاده کرده ایم. و برنامه طوری نوشه شده است که با سه متغیر تصادفی هر LED هر بار یک رنگ تصادفی را نمایش می دهد.

لوازم مورد نیاز

برنامه ماژول led rgb ws2812

#include <Adafruit_NeoPixel.h>
#define PIN            6

تعریف پایه ای که به سیگنال ماژول متصل است.

#define NUMPIXELS      5

تعداد ماژول هایی که به هم متصل اند.

long r,g,b;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN);

تعریف کتابخانه و مقدار دهی تعداد پیکسل ها و پین ورودی سیگنال.

int delayval = 100; 

void setup() {
  pixels.begin();

راه اندازی کتابخانه

}

void loop() {

  for(int i=0;i<NUMPIXELS;i++){
    r=random(0,256);
    g=random(0,256);
    b=random(0,256);

مقدار دهی رندوم به سه متغییر سبز و قرمز و آبی

    pixels.setPixelColor(i, pixels.Color(r,g,b)); 

مقدار دهی ماژول ها با استفاده از مقادیر سز و قرمز و آبی

    pixels.show();

نمایش مقادیر بر روی ماژول و تغیی وضعیت نور آن

    delay(delayval);
  }
}

متغیر ثابت PIN شماره پین دیتا برای LED را مشخص می کند و NUMPIXELS تعداد ماژول ها را مشخص می کند. متغیر های r,g,b مربوط به شدت روشنایی هر رنگ از ۰ تا ۲۵۶ می باشند که در اینجا به صورت تصادفی انتخاب می شوند. در خط زیر ماژول فعال شده و به آردوینو معرفی می شود.

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN);

Delayval مقدار تاخیر بین نمایش هر رنگ توسط LED را بیان می کند.

در حلقه Setup ماژول فعال می شود.

در حلقه اصلی برنامه یک حلقه تکرار For تشکیل داده ایم تا تمام LED ها به نوبت روشن شوند.

نمایی از نتیجه نهایی پروژه راه اندازی ماژول led rgb ws2812
نمایی از نتیجه نهایی پروژه راه اندازی ماژول led rgb ws2812

سخن پایانی

این ماژول کاربرد های فراوانی دارد و راه اندازی آن بسیار راحت است. امیدوارم از این آموزش لذت برده باشید. با ما در بخش نظرات در ارتباط باشید.

نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا