PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Rgbled



arash12
08-02-2010, 23:47
اگر كسي اطلاعات جامعي در زمينه rgbled ها نحوه راه اندازي با ميكرو و اطلاعات تكميلي در اين زمينه داره لطف كنه در اختيار من بزاره.ممنون

armstk
09-02-2010, 01:10
همه ي رنگ ها از سه رنگ اصلي آبي،قرمز و سبز تشكيل شدن حالا ما با هر درصدي اين رنگ ها رو با هم تر كيب كنيم يك رنگي جديد بدست مياد مثلا با تر كيب رنگ زرد و قرمز رنگ نارنجي درست ميشه يا با تركيب مساوي سه رنگ آبي قرمز و سبز رنگ سفيد تشكيل ميشه
حالا ما ميايم از يك led استفاده مي كنيم كه داخلش از سه تا led سبز و قرمز و آبي درست شده براي همين هم بهش ميگن led rgb
(RED GREEN BLUE) همچنين در اين LED ها يك پايه رو مشترك در نظر ميگيرين كه ميتونه كاتد يا آند باشه و در كل چهار پايه در اختيار ماهستش حالا شما بايد بدونين كه بايد به هر كروم از اين پايه چقدر ولتاژ بايد بدين:
LED قرمز >> 1.8 ولت
LED آبي >> 3 ولت
LED سبز >> 3.2 ولت
حتما بايد مقادير مقاومت هاي سري شده با اين LED هارو جوري تنظيم كني كه ولتاژ بيش از اين مقدار نباشه
اگر شما تمامي اين ولتاژ هاي ذكر شده رو با هم به LED وصل كني رنگ سفيد رو ميبيني چون كه سه رنگ اصلي رو با يك مقدار با هم تر كيب كردين، با تغير ولتاژ هر كدوم از اين LED ها يك رنگ بدست مياد مثلا اگر LED قرمز و آبي رو روشن كني رنگ بنفش ميبيني و الي آخر ....
حالا شما اگر بخاين با ميكرو اين LED ها رو كنترل كنين بايد توسط ميكرو سه تا ولتاژ متغير از 0 تا 5 ولت درست كني و جداگانه به هر كدوم از اين LED ها بدي كه راههاي مختلفي داره از جمله:
1:استفاده از PWM: در اين روش شما توسط تايمر 1 يا 2 ميكرو ميايين يك سيگنال با فركانس ثابت ولي با پهناي متغير ايجاد ميكني
در اين روش يك رجيستر در اختيار شما هستش مثلا در تايمر 1 به نام PWM1 هستش با توجه به اين كه PWM ميكر و8 بيتي هستش حداكثر مقدار كه ميتوني براي اين رجيستر قرار بدي 255 هستش به عبارت ديگه در صورتي كه اين رجيستر 0 باشه خروجي ما 0 ولت داره و اگر مقدار اين رجيستر 127 باشه 2.5 ولت داري و اگر اين رجيستر 255 باشه خروجي ما كاملا 5 ولت ميشه مثال:

$regfile = "m8def.dat"
$crystal = 1000000

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
Enable Timer1
Enable Interrupts

Start Timer1
Dim A As Byte

A = 0
Do
Pwm1a = A
Incr A
Loop
End
ابتدا تايمر 1 رو به عنوان PWM قرار داديم و بعدشم وقفه سراسري و وقفه تايمر رو راه انداختيم در اين مثال مقدار رجيستر در هر بار يكي به اهش اضافه ميشه و وقتي كه مقدارش 255 بشه در صورتي كه يك واحد ديگه بهش اضافه بشه مقدارش 0 ميشه و دوباره 1 ،2 ، 3، 4 ، و..... اگر اين مدار رو توي پروتيوس يا عملا ببنيدي ميبيني كه پهناي پالس هاي مثبت ما از مقدار كمي شروع ميشه و كم كم پهناش زياد ميشه و....
اگر از MEGA8 استفاده كني داراي 2 تا PWM در تايمر 1 و 1 PWM در تايمر 2 هستش كه بايد جداگانه اونا رو راه بندازي و خروجي PWM كه پايه هاي OC1A و OC1B پايه هاي خروجي PWM تايمر 1 هستن و OC2 هم پايه خروجي PWM تايمر 2 هستش رو به سه پايه LED RGB وصل كني توجه كن كه بايد با اين پايه يك مقاومت سري كني جوري كه مثلا براي LED قرمز بايد مقدار مقاومت رو به شكلي قرار بدي كه در صورتي كه 5 ولت بهش برسه افت ولتاژي حدود 3.2 ولت داشته باشي (5-1.8=3.2)
كه وقتي كه LED رو به ميكرو وصل كني در صورتي كه سه تا رجيستر PWM برابر با 255 باشه رنگ سفيد مشا هده ميكني و الي آخر...
2:استفاده از نردبان مقاومتي با توجه به اين كه در ميكرو مثلا مگا 8 فقط 3 تا PWM وجود داره در صورتي كه بخاي بيش از 1 دونه LED رو كنترل كني بايد از اين روش استفاده كني
3:آي سي هاي مخصوص PWM در صورتي كه بخاي بيش از چندين LED رو كنترل كني بايد از اين آي سي ها استفاده كني كه فكر كنم هر كدومشون 10 تا PWM داره (شمارشو يادم نيست ولي سرچ كني پيداش ميكني)

حالا براي اين كه بتوني كه همه رنگ ها رو داشته باشي اگر از PWM يا نردبان مقاومتي به صورت 8 بيتي استفاده كني حدود 16.5 ميليون رنگ داري (255*255*255=16581375) بايد طوري برنامتو بنويسي كه تمام 16.5 ميليون حالت پيش بياد البته چشم ما اونقدر حساسيت نداره كه تمامي اين رنگ ها رو ببينه با توجه به اين نكات بايد خودت يك برنامه نسبت به نيازت درست كني كه ميتونه شامل افكت هاي مختلف باشه
اگر ميخاستي كه تعداد زيادي LED رو وصل كني ميتوني از يك ماسفت استفاده كني راستي يك نمونه از درايور هاي RGB توي بازار هستش كه ساخت چپين هم هست و داخلش AVR و چند تا ماسفت داره تازه يك دونه ريموت كنترل با چندين افكت مختلف داره ميتوني براي اين كه بهتر بتوني RGB رو درك كني يه دونه از اين درايور ها بخري كه قيمت زيادي هم نداره(حدود 7 تومنه)