راه اندازی فتوسل و چندین LED از طریق آردوینو
یک مقاومت وابسته به نور می تواند برای روشن کردن چندین LED بکاربرده شود و با توجه به نور محیط LEDهای بیشتری را با نور زیادتر روشن کند (شکل و جدول 1 را مشاهده کنید). چون LEDها فقط خاموش و روشن میشوند نباید به پایههای PWM آردوینو متصل باشند. تابع ()map خروجی مقسم ولتاژ را به تعداد LED هایی که روشن میشوند تبدیل میکند، که معادل متغیر level میباشد. در کدها، تعداد LED های روشن برابر با level و تعداد LEDهای خاموش برابر با تعدادکل LEDها منهای level است. حداکثر مقدار level تعداد LED ها بعلاوه 1 است، بطوری که در نور بسیار کم محیط هیچ کدام از LED ها روشن نمیشوند.
و اتصال به | اتصال به | قطعه |
5 ولت آردوینو | پایه سمت راست LDR | |
A0 آردوینو | پایه سمت چپ LDR | |
GND آردوینو | مقاومت 4.7 کیلواهم | پایه سمت چپ LDR |
پین 9،11،12،13،8 آردوینو | پایه بلند LED | |
GND آردوینو | مقاومت 220 اهم | پایه کوتاه LED |
جدول 1. اتصالات LED و LDR
int nLED=5; //number of LEDs
int LEDpin[]={8,9,11,12,13}; //LED pins
int reading,level;
void setup()
{
for (int i=0; i<5;i++) pinMode(LEDpin[i],OUTPUT); //define LED pins as output
}
Void loop()
{
reading=analogRead(A0); // voltage divider reading
level=0 // set number of LEDs at zero
level=map(reading,0,1023,0,nLEDs+1); // map reading to level
for (int i=0;i
دستور LEDpin[]={8,9,11,12,13} آرایهای از مقادیر صحیح را تعریف میکند. مقادیر این آرایه از LEDpin[0] تا LEDpin[4] میباشد. int nLED=5 تعداد LEDها را مشخص میکند. دستورfor (int i=0; i<5;i++) pinMode(LEDpin[i],OUTPUT) برای تعریف LEDpin ها به عنوان خروجی بکاربرده میشود. دومین دستور for برای روشن کردن و خاموش کردن LED ها است. اگر i کمتر از level باشد یک LED روشن میشود، در غیر این صورت خاموش میشود.
تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقهمندان به الکترونیک و برنامه نویسی فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید.