تمرین برنامه نویسی نسبتا مشکل با یک تک LED:
در کاربردهایی که پیاده سازی آنها مستلزم تسلط به کدنویسی است حتما لازم نیست از سخت افزارهای پیچیده ای استفاده شده باشد و حتی ممکن است با یک تک LED بتوان صورت مسئله ای را تعریف کرد که انجام آن از عهده برنامه نویسان مبتدی خارج باشد.
یک LED به یکی از پین های میکروکنترلر متصل است و هدف نوشتن برنامه ای است که با اجرای آن نور LED به ترتیبی که توضیح داده می شود از وضعیت خاموش شروع به افزایش کند و بعد از رسیدن به یک مقدار حداکثر دوباره کاهش یابد و این روال همچنان ادامه یابد. برای تغییر ولتاژ LED باید از روش PWM استفاده شود. پارامترهای زیر در برنامه باید قابل تعیین باشند:
1- مدت زمان افزایش نور از حداقل به حداکثر.
2- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل افزایش نور.
3- مدت زمان کاهش نور از حداکثر به حداقل (مستقل از گزینه 1).
4- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل کاهش نور.
5- حداکثر ولتاژ اعمال شده به LED که محل تلاقی دو منحنی افزایش یا کاهش ولتاژ است.
به عنوان مثال می خواهیم ولتاژ متوسط یک LED در مدت زمان 1 ثانیه تحت منحنی خطی از صفر به نصف مقدار حداکثر خود برسد و سپس در مدت زمان 2.2 ثانیه تحت منحنی سهمی به صفر برسد و این روال بصورت پریودیک همچنان ادامه یابد.
پی نوشت: اگر شما مشغول یادگیری یکی از میکروکنترلرها هستید و نظیر این کاربرد را نمی توانید برای یک LED پیاده سازی کنید توصیه می شود بیشتر از آنکه به دنبال کار کردن با سخت افزارهای پیچیده تر باشید، روی توسعه مهارت های برنامه نویسی خود متمرکز شوید.
@KnowledgePlus
Post #701
7.7K