آموزش مثال ها | اطلاعات پایه | فوت وفن ها | پیوندها
Examples > Analog I/O
با استفاده از تابع analogWrite() می توانیم کم نور یا پر نور کردن یک LED را نشان دهیم. AnalogWrite جهت روشن و خاموش کردن بسیار سریع یک پین دیجیتال برای ایجاد افکت کم نور کردن از pulse width modulation (PWM) استفاده می کند.
از طریق یک مقاومت 220 اهمی، آنود(پایه بلندتر و مثبت)LED تان را به پین دیجیتال خروجی 9 روی آردوینو وصل کنید. کاتود (پایه کوتاه تر و منفی) را مستقیم به زمین وصل کنید.
برای بزرگ شدن تصویر روی آن کلیک کنید.
برای بزرگ شدن تصویر روی آن کلیک کنید.
این تصویر با استفاده از نرم افرارFritzingایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه نمایید.
بعد از معرفی کردن پین 9 به ledPin
، کار شما در تابع
setup()
تمام می شود.
تابع analogWrite()
که شما در تابع
Loop() کدتان استفاده خواهید کرد به دو آرگومان نیاز
دارد: یکی برای اینکه به تابع بگویید که روی کدام پین نوشته شود، و دیگری مقدارPWM
ی که قرار است نوشته شود.
برای کم نور یا پر نورکردن یک LED ، به تدریج مفدار PWM شما از صفر(تمام بیت ها
خاموش) به 255(تمام بیت ها روشن) افزایش می یابد، و بعد یک بار دیگر به مقدار صفر برمی
گردد تا چرخه کامل شود. در برنامه ی آردوینو زیر، مقدار PWM با استفاده از متغیری به
نام brightness
تنظیم می شود. هر بار در Loop()، توسط مقدار متغیر fadeAmount
افزایش می یابد.
اگر brightness
در یکی از کران های مقدارش باشد (صفر یا 255) آنگاه fadeAmount
به مقدار معکوس آن تغییر می کند. به عبارتی دیگر اگر fadeAmount
حاوی
مقدار 5 باشد، در این مرحله به 5- تبدیل می شود، اگر 5- باشد به 5 تبدیل می شود. بار
بعد در Loop() این تغییر باعث می شود که brightness
جهت را نیز تغییر دهد.
analogWrite()
می تواند به سرعت مقدار PWM
را تغییر دهد، بنابراین تأخیر در پایان برنامه سرعت پر نور یا کم نور شدن را کنترل
می کند. تغییر مقدار تأخیر را تست کنید و ببینید که چطور برنامه تغییر می کند.