تغییر مقدار نور LED با پتانسیومتر و آردوینو
در این پروژه آردوینو، با استفاده از PWM و واحد ADC، قصد داریم نور یک LED را کنترل کنیم. ابتدا، PWM و ADC آردوینو را راه اندازی میکنیم.
واحد PWM (Pulse Width Modulation):
- PWM یک روش مدولاسیون پهنای پالس است که از طریق تغییر دوره کار و غیرفعال بودن سیگنال، میزان نور LED را کنترل میکند.
واحد ADC (Analog-to-Digital converter ):
- با استفاده از ADC، میزان ولتاژ آنالوگ اعمال شده به پایه ADC آردوینو را اندازهگیری میکنیم.
برنامهنویسی آردوینو:
- برنامهنویسی شامل استفاده از یک ولوم (پتانسیومتر) است که با چرخش، ولتاژ آنالوگ تولید شده را به پایه ADC میرسانیم.
- سپس با استفاده از PWM، میزان نور LED را تنظیم میکنیم.
پتانسیومتر:
- پتانسیومتر یک مقاومت متغیر است که با چرخش، مقدار مقاومت آن تغییر میکند.
- با اتصال پایههای VCC، GND، و OUT به آردوینو، میتوانیم مقدار ولتاژ آنالوگ تولید شده توسط پتانسیومتر را اندازهگیری کرده و مورد استفاده قرار دهیم.
کنترل نور LED:
- با استفاده از PWM، میتوانیم مقدار نور LED را بر اساس مقدار ولتاژ آنالوگ تنظیم کنیم.
در این آموزش از ال ای دی دو پایه Oval برای ساخت یک LED Chaser با آردوینو استفاده میشود. ال ای دی Oval به دلیل کیفیت و شدت نور بیشتر، انتخابی عالی برای این پروژه است. ولتاژ مورد نیاز برای این ال ای دی در بازه ۲٫۸ تا ۳ ولت و جریان مصرفی در بازه ۱۵ تا ۲۰ میلی آمپر قرار دارد.
در این آموزش، از ۵ ال ای دی Oval با رنگهای مختلف برای ایجاد اثر LED Chaser استفاده شده است. ال ای دی دارای دو پایه است:
- پایه بلند: پایه مثبت که به پایههای دیجیتال برد آردوینو متصل میشود.
- پایه کوتاه: پایه منفی یا GND که به GND آردوینو متصل میشود.
با اتصال پایه مثبت ال ای دی به پایههای دیجیتال آردوینو و پایه منفی به GND، میتوانید ال ای دی ها را کنترل و اثر چشمکزن را ایجاد کنید.
مدارروبه روببندید:
تعریف مرجع ولتاژی: در ابتدا، مرجع ولتاژ برای واحد ADC با استفاده از دستور analogReference(EXTERNAL)
تعریف شده است. این دستور به آردوینو میگوید که از ولتاژ موجود بر روی پایه AREF به عنوان مرجع استفاده کند [2].
خواندن ولتاژ از پایه ADC: سپس، ولتاژ موجود بر روی پایه ADC خوانده میشود. این مقدار ولتاژ ممکن است با توجه به منبع آن تغییر کند.
تبدیل رنج ولتاژ: مقدار خوانده شده از ADC که معمولاً در بازه [۰,۱۰۲۳] است، به بازه [۰,۲۵۵] تبدیل میشود. این تبدیل معمولاً برای سازگاری با ولتاژ PWM در تابع analogWrite
به کار میرود [1].
int val=0;
void setup() {
analogReference(EXTERNAL);
}
void loop() {
val=analogRead(A0);
val=map(val,0,1023,0,255);
analogWrite(10,val);
}
استفاده از analogWrite
: در نهایت، مقدار به دست آمده از مرحله قبل، به عنوان ورودی PWM در تابع analogWrite
قرار میگیرد. این تابع برای تنظیم خروجی PWM آردوینو به صورت متناسب با مقدار دیجیتال ورودی به کار میرود [1].
با این روند، میتوانید از قابلیتهای واحد ADC آردوینو برای خواندن و تبدیل ولتاژ به PWM بهرهمند شوید.
خروجی کار:
راهنما
باکس دانلود فایل کامل پروژه
فایل رادانلود نموده رمز راکپی و پیست کرده سپس ازحالت فشرده خارج نمایید
حجم : 6کیلوبایت
رمز فایل : MICROBYTES.IR