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

راه اندازی LED RGB WS2812 با استفاده از آردوینو

راه اندازی LED RGB WS2812 با استفاده از آردوینو
4 (80%) 3 votes

 

 

راه اندازی WS2812 با آردوینو

راه اندازی  WS2812 با استفاده از آردوینو

یکی از کاربردهای برد های آردوینو استفاده از آنها در راه اندازی LED های RGB است.امروزه ازLED های RGB در نورپردازی های شهری و ساختمان ها به طور گسترده استفاده می شود.این LED ها به دلیل تولید رنگ های متنوع ، زیبایی خاصی به نورپردازی های محیط اطراف می دهد.

همان طور که می دانید تمام رنگ های موجود در طبیعت از ترکیب ۳ رنگ اصلی قرمز، سبز، و آبی (RED,GREEN, BLUE) تشکیل شده است.از لحاظ فیزیکی رنگ مورد نظربر حسب مقدار درصد ترکیب این سه رنگ  تولید می شود.

rgb arduino led

در دنیای LED های RGB نیز تولید این رنگ بر حسب مقدار ولتاژ اعمال شده به LED  های سه رنگ قرمز – سبز و آبی است. یا به طور دقیق تر شدت نور هر کدام از LED ها در رنگ های مختلف متفاوت است.

ساختمان داخلی LED های RGB :

در درون LED های RGB سه عدد LED  به رنگ های قرمز، سبز و آبی وجود دارد.یک آیسی راه انداز یا کنترلر نیز برای این LED ها وجود دارد که سیگنال دیجیتال دریافتی از میکروکنترلر را به  ولتاژ های آنالوگ معادل تبدیل و آنها را به LED ها می فرستد.LED های RGB سری WP به سه دسته مختلف تقسیم می شوند.

-WS2801

-WS2811

-WS2812

درواقع نام های فوق اسم آیسی کنترلر LED های RGB هستند.کارکرد سه گروه فوق مشابه یک دیگر است با این تفاوت که WS2801 یک پایه (CLK)بیشتر از WS2811 و WS2812 دارد.و اینکه آیسی کنترلر در بعضی از LED ها ، در داخل LED قرار دارد.کدهای مورد نیاز برای راه اندازی هر سه گروه هم تقریبا مشابه یکدیگر است.

 

WS2801-آردوینو

ws2811 آردوینو

 

نام پین های WS2801/11/12 :

۱-VCC:پین تغذیه که باید به ولتاژ 5V (در بعضی از ماژول ها 12V)وصل شود.

این مطلب را از دست ندهید  نصب کتابخانه در آردوینو

۲-GND:پین زمین و باید به زمین مدار وصل شود.

۳-DI:پین دیتا که باید به یکی از پین های برد آردوینو وصل شود.

4- DO:این پین یاید به DI در LED بعدی وصل شود.

۴-CLK:پین تولید سیگنال نوسان برای آیسی راه انداز که باید به یکی از پین های دیجیتال آردوینو وصل شود.(این پین فقط در سری WS2801 وجود دارد)

راه اندازی WS2812

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

نکته:ترتیب اتصال بین LED ها بسیار مهم است. در صورتی که این ترتیب رعایت نشود باعث سوختن LED ها می شود.

ws2812 arduino

arduino ws2812

 

 

-محاسبه توان مصرفی: 

هر کدام از LED های RGB تقربیاً 60mA جریان در ولتاژ 5v مصرف می کند.پس توان مصرفی هر کدام از این LED ها برابر است با:

5V×60mA=0.3 wat

اگر از یک زنجیر یک متری با  60 عدد از این LED ها در پروژه خود استفاده کنید به یک منبع تغذیه ۵ولت با توانایی تولید حداقل A3.6 آمپر جریان نیاز دارید.

نکته مهم: برای راه اندازی WS2812 به هیچ عنوان از پین های 5V و GND روی برد آردوینو استفاده نکنید.چون اگر بخواهید از پورت USB کامپیوتر خود این جریان را تامین کنید هم پورت USB‌و هم برد آردوینو آسیب خواهد دید.پین های 5V و GND باید به یک منبع تغدیه خارجی وصل شود.

بهترین راه برای تغذیه این LED ها استفاده از منابع تغدیه سویچینگ است.این نوع از منابع تغذیه توانایی تولید جریان مورد نیاز  با قیمتی نسبتاً پایین و اندازه کوچکتر را دارد.

این مطلب را از دست ندهید  راه اندازی ماژول GY-521 با استفاده از آردوینو

منبع تغذیه سوییچینگ

راه اندازی WS2812 با استفاده از آردوینو:

مدار خود را مطابق شکل زیر ببندید.

آردوینو RGB

-پین DIN : این پین را به پین 6 آزدوینو وصل کنید.

– پین +5V :این پین را باید به یک منبع تغذیه خارجی متناسب با جریان مصرفی مدار وصل کنید.

– پین GND : این پین نیز باید به طور مشترک به منبع تغذیه خارجی و آردوینو وصل شود.

اتصالات فوق برای زمانی است که تغذیه خود برد آردوینو از طریق کابل USB از کامپیوتر تامین شود.اما درصورتی که این پروژه را بخواهید به طور مستقل اجرا کنید نیاز به یک ولتاژ تغذیه برای آردوینو دارید . این ولتاژ را می توانید مشابه زیر تامین کنید.

راه اندازی WS2812

 

نکته:اتصال +5V از منبع تغذیه به برد آردوینو باید با احتیاط انجام شود . یعنی اینکه قبل از اتصال به برد با استفاده از یک ولت متر از +5V بودن آن اطمینان کامل حاصل کنید چون در صورت بیشتر بودن این ولتاژ به برد آردوینو آسیب می رسد.

-برنامه نویسی آردوینو برای راه اندازی WS2812 :

قبل از کدنویسی بهتر است با نحوه عملکرد آیسی WS2812وws2811 آشنا شوید.

منطق صفر و یک برای آیسی راه انداز WS2812 به شکل زیر است:

آردوینو-LED RGB

 

 

همانطور که می بینید تولید صفر و یک فوق العاده به زمان وابسته است.برای تولید این صفر و یک ها در آردوینو حتما باید از پین های PWM آردوینو استفاده کنید.واما برای روشن کردن یک پیکسل یا یک LED ، باید 24 بیت را به این آیسی ها بفرستید.این 24 بیت درواقع ترکیب سه رنگ اصلی را برای روشن کردن رنگ مورد نظر مشخص می کند.همانطور که در شکل زیر می بیند 8 بیت اول برای میزان رنگ سبز ، 8 بیت دوم برای تولید رنگ قرمز و 8 بیت سوم برای رنگ آبی استفاده می شود.

این مطلب را از دست ندهید  دانلود آردوینو 1.8

تعداد رنگ های قابل تولید توسط این LED ها معادل است با :

255 × 255 × 255 =16,581,375

دلیل ضرب سه عدد 255 این است که بزرگترین عدد متناظر با 8 بیت برابر است با 255.

برای کدنویسی و راه اندازی WS2812 در محیط نرم افزار آردوینو ابتدا باید کتابخانه آن را به نرم افزار آردوینو اضافه کنید.یکی از کاملترین کتابخانه های نوشته شده برای WS2801/11/12 کتابخانه NeoPixel library  نوشته توسط وبسات www.adafruit.com است.این کتابخانه را به صورت فایل .zipاز کتابخانه LED RGB WS2812 (14 downloads) دانلود کنید.در صورتی که با طریقه نصب کتابخانه در آردوینو آشنا نیستید می توانید این مقاله را مطالعه کنید.استفاده از این کتابخانه بسیار ساده است.اگر مثال های این لایبرری را مشاهده کنید می بینید که در ابتدای هرمثال باید یک سری تنظیمات انجام دهید.

# : define PIN 6

برای تنظیم پین pwm مورد استفاده در آردوینو.

:  #define NUM_LEDS 18

برای تنظیم تعداد ال ای دی های مورد استفاده در پروژه.

;(Adafruit_NeoPixel leds = Adafruit_NeoPixel(LED_COUNT, PIN, NEO_GRB + NEO_KHZ800

ایجاد یک شی از کلاس Adafruit_NeoPixel که سه آرگومان را به عنوان ورودی می پذیرد.LED_COUNT برای مشخص کردن تعداد LED ها.PIN ، پین PWMمورد استفاده درآردوینو.و پارامتر سوم هم یک ماکرو برای تنظیم فرکانس و نوع LED است.

;(leds.setPixelColor(position, color

 ;(leds.setPixelColor(position, color_r, color_g, color_b

دو تابع فوق رنگ هر LED را مشخص می کند.تابع اول دو آرگومان دارد.آرگومان اول ، موقعیت LED و آرگومان دوم ، رنگ LED را مشخص می کند که معمولاٌ یک عدد هگز به فرمت 0xffffff است.تابع دوم 4 آرگومان دارد.position ،  موقعیت LED و سه آرگومان بعدی ، مقدار رنگ های قرمز ، سبز ، و آبی را مشخص می کند.محدوده ی این سه پارامتر عددی بین 0 تا 255 است.

 

ویدیوی راه اندازی WS2812 با آردوینو UNO را می توانید در پایین مشاهده نمایید.

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

اکبر محمدی

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