RGB LED یا همان دیودنورانی سه رنگ همانطور که از اسم آن پیداست، از سه رنگ تشکیل شده است که قرمز، سبز و آبی هستند. با این سه رنگ می توان رنگ های متنوعی ایجاد کرد. به اینصورت که با تنظیم شدت هر یک از این رنگ های اصلی، می توان حدود 8 میلیون رنگ تولید کرد.
مقدمه
برای تولید رنگ های مختلف بایستی ولتاژهای هر یک از رنگ ها را کنترل کرد که این کار توسط تایمر میکروکنترلر در حالت مقایسه ای و PWM صورت می گیرد. میکروکنترلر استفاده شده در این مدار، ATMEGA8 می باشد. این میکروکنترلر شامل سه پایه خروجی PWM در حالت مقایسه ای است. یعنی پایه های PB.1 و PB.2 و PB.3 که به ترتیب OC1A و OC1B و OC2 نام دارند. PWM در تایمر یک دارای حالات 8، 9 و 10 بیتی است و در تایمر دو دارای تنها حالت 8 بیتی است که برای سادگی کار از همه تایمرها به عنوان حالت 8 بیتی استفاده می کنیم. حالت 8 بیتی دارای 256 قسمت است. یعنی بازه ولتاژ صفر الی 5 ولت را به 256 قسمت تقسیم می کند سپس با توجه به مقدار دهی (صفر الی 255) به این پایه ها، ولتاژ موردنظر (صفر الی 5 ولت) را به خروجی می دهد. البته می توانستیم دقت را به 10 بیتی افزایش دهیم که در این حالت 1024 قسمت داشتیم. ولی به دلیل اینکه باید تقسیم بندی و دقت برای هر یک از رنگ های اصلی به یک اندازه باشد و همچنین بازه شدت رنگ های RGB نیز از صفر الی 255 تغییر می کند، مقدار 8 بیتی لحاظ گردیده است.
شرح مدار
این مدار به دو قسمت اصلی تشکیل می شود. یکی از حالات، حالت اتصال به کامپیوتر است که می توان با استفاده از پورت COM کامپیوتر و نرم افزار برنامه نویسی شده آن، با میکروکنترلر ارتباط برقرار کرد و رنگ دلخواهی را از طریق کامپیوتر به میکروکنترلر فرستاد و LED آن را به نمایش بگذارد. یک عدد دیپ سوئیچ 4 تایی در مدار لحاظ شده است که وظیفه آن به صورت زیر می باشد:
کلید شماره (1): تغییر حالت مدار به درون برنامه ای/برون برنامه ای (اتصال/قطع شدن از کامپیوتر)
کلید شماره (2): تغییر سرعت افکت ها از کند به تند که اگر در حالت On باشد، سرعت تند می شود و برعکس.
کلید شماره (3): فعالسازی حالت مود (Mood Effect) که در این حالت LED طیفی از تمامی رنگ ها را به نمایش می گذارد.
کلید شماره (4): فعالسازی حالت رنگ های ثابت که در این حالت یک دسته رنگ از قبل تعریف شده به نمایش گذاشته می شود.
جهت ارتباط با پورت COM کامپیوتر، از UART سخت افزاری با وقفه میکروکنترلر استفاده شده است.
شرح نرم افزار
نرم افزار مربوط به این مدار با استفاده از زبان ویژوال بیسیک کدنویسی شده است و شرایط ارتباط میکروکنترلر را با کامپیوتر از طریق پورت COM فراهم می کند. این نرم افزار شامل دو قسمت است. یک قسمت جهت انتخاب نام پورت متصل به میکروکنترلر و قسمت دیگر، جهت انتخاب رنگ توسط کاربر می باشد.
پیشنهاد می شود از مبدل های سریال به USB و یا TTL به RS232 جهت ارتباط میکروکنترلر استفاده کنید؛ یک نمونه از این مبدل ها در تصویر زیر نمایش داده شده است:
بخش دانلود
شامل موارد زیر:
- فایل شبیه سازی Proteus
- سورس کد کامل برنامه میکروکنترلر به زبان بیسیک
- کد هگز مخصوص پروگرام کردن میکروکنترلر
- نرم افزار کمکی به همراه سورس کد به زبان VB.Net
توجهات: