سبد (0)

چشمک زدن LED در آردوینو

کار قبلی که انجام دادیم خیلی هم بد نبود اما این کافی نیست. در این مقاله به معنای واقعی کلمه، چشمک زدن LED در آردوینو را خواهیم آموخت.

برای انجام این کار، یک sketch جدید باز کنید. سپس از طریق منوها، به آدرس زیر بروید:

File | Examples | 01. Basics | Blink

یک اسکچ جدید در آردوینو

 قبل از اینکه کد را آپلود کنیم، باید از یک چیز دیگر مطمئن شویم. آیا آن LED که بعنوان پیش نیاز از شما خواستیم آن را بخرید، به خاطر می آورید؟ اجازه دهید قبل از اتصال آن به آردوینو، چند نکته در مورد آن بیاموزیم. به تصاویر زیر دقت کنید:

پین های مثبت و منفی

 پایه ی a که کوتاه تر است، علامتش منفی است و به پین GND وصل می شود. و پایه ی b علامتش مثبت است و بلند تر است.

به صورت زیر باید از این LED استفاده کنیم. LED را طوری قرار دهید که پایه ی بلند تر، در پین شماره 13 برود و پایه ی کوتاه تر در پین GND قرار گیرد. مثل تصویر زیر:

قرار گیری ال ای دی

 


نکته: تصویر شبیه سازی بالا توسط یک نرم افزار به نام Fritzing ایجاد شده است. در پروژه های آینده از این نرم افزار برای واضح تر و ساده تر نشان دادن کار و درک بهتر پروژه استفاده می کنیم. نرم افزار Fritzing متن باز است و شما می توانید با رفتن به این آدرس، اطلاعات بیشتری در مورد آن به دست بیاورید.

برد آردوینو

حالا کدها را Upload کنید، خواهید دید که LED شما شروع به چشمک زدن می کند. درست مثل تصویر زیر:

چشمک زدن ال ای دی در آردوینو

آیا این جذاب نیست برای شما؟ شما با انجام این کار، اولین سخت افزار خودتان را برنامه نویسی کرده اید. قبل از اینکه به فصل بعدی برویم، اجازه دهید ببینیم که کدهای چشمک زدن چگونه کار می کنند و چه اتفاقی افتاده است. کدهایی که استفاده کرده ایم به شرح زیر هستند:

 

//در بیشتر برد های آردوینو به پین 13 ای ای دی متصل می شود
//نام این پین را انتخاب می کنیم:
int led = 13;

// را فشار دهیم عمل می کند power و  reset تابع زیر فقط یک بار وقتی که دکمه های
void setup() {
  // مقداردهی اولیه کردن پین بعنوان خروجی
  pinMode(led, OUTPUT);
}

// این حلقه بارها و بارها برای همیشه اجرا می شود
void loop() {
  digitalWrite(led, HIGH);   // سطح ولتاژ است HIGH مقدار  .LED روشن کردن    
  delay(1000);                       // یک ثانیه توقف می کند
  digitalWrite(led, LOW);    // خاموش کردن ال ای دی با کم کردن ولتاژ
  delay(1000);                       // یک ثانیه توقف
}

 کدهای بالا به سه بخش تقسیم می شوند. برای اکثر پروژه های این کتاب، این سه بخش وجود دارند.

int led = 13;

با استفاده از کد بالا، شماره ی پین را در یک متغیر به نام led ذخیره می کنیم.

void setup() {
  
  pinMode(LED_BUILTIN, OUTPUT);
}

 به تابع بالا setup گفته می شود. اینجا جایی است که به آردوینو می گوییم که چه چیزی به پین ها متصل شده است. مثلا در اینجا، به آردوینو می گوییم که یک دستگاه خروجی(یعنی یک ال ای دی) در پین 13 قرار دارند.

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                       
  digitalWrite(LED_BUILTIN, LOW);    
  delay(1000);                       
}

 قطعه کد بالا، تابع loop است. و به آردوینو می گوید که کدهای درون خود را تکرار کند. متد digitalWrite مثل یک کلید عمل می کند و می تواند با قرار گرفتن مقدار HIGH در آن، روشن شود و یا با مقدار LOW خاموش شود. تابع delay(1000) باعث می شود که آردوینو قبل از اجرای خط بعدی کدها،یک ثانیه توقف کند.

اگر بخواهید یک ال ای دی دیگر را اضافه کنید، به ابزارهای بیشتری نیاز دارید و باید کدها را کمی تغییر دهید. کاری که باید انجام دهید به صورت زیر است:

دو ال ای دی در آردوینو

اگر اولین بار است که از یک بردبرد(breadboard) استفاده می کنید، دقت کنید که اتصالات سرجای خودشان باشند. رنگ سیم ها اهمیتی ندارد. اما پین GND با یک سیم مشکی مشخص شده است. دو مقاومت هم هرکدام به صورت سری به ال ای دی ها متصل شده اند و جریان را کنترل می کنند تا ال ای دی ها نسوزند.


 درست مثل قبل، یک sketch جدید ایجاد کنید و کدهای زیر را در آن قرار دهید:

/*روشن و خاموش کردن دو ال ای دی*/
int led1 = 12;
int led2 = 13;
void setup() {
// مقدار دهی اویه کردن پین ها بعنوان خروجی
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);

// خاموش کردن ال ای د ها قبل از اینکه حلقه شروع شود
digitalWrite(led1, LOW);   // خاموش کردن ال ای دی اول
digitalWrite(led2, LOW);  // خاموش کردن ال ای دی دوم
}
//این حلقه همیشه و بارها و بارها تکرار می شود
void loop() {
digitalWrite(led1, HIGH); // روشن کردن ال ای دی اول
digitalWrite(led2, LOW); // خاموش کردن ال ای دی دوم
delay(1000);            // توقف برای یک ثانیه
digitalWrite(led1, LOW); // خاموش کردن ال ای دی اول
digitalWrite(led2, HIGH);   // روشن کردن ال ای دی دوم
delay(1000);                // توقف برای یک ثانیه
}

 یک بار دیگر بررسی کنید که اتصالات و سیم ها به درستی متصل شده باشند. به خصوص توجه کنید که پایه های مثبت ال ای دی ها که به پین های خروجی متصل می شوند و پایه های منفی ال ای دی ها که به پین GND وصل می شوند، درست متصل شده باشند.

این کدها را با نام DoubleBlink.ino ذخیره(save) کنید. با انجام این کار، اگر در آن تغییری ایجاد کنید، یک نسخه ی پشتیبان از آن دارید. حالا کدها را آپلود کنید، خواهید دید که ال ای دی ها شروع به چشمک زدن می کنند و ما توانستیم یک چراغ چشمک زن ساده ی دیگر با آردوینو ایجاد کنیم. شما می توانید میزان تاخیر(delay) را تغییر دهید.


این فصل همین جا به اتمام رسید. در فصل بعد، سنسورها و نمایشگرها را مورد بررسی قرار می دهیم. قصد داریم در فصل بعد، یک خط کش دیجیتال ایجاد کنیم که می توانید از آن برای اندازه گیری فاصله های کوتاه استفاده کنید. این خط کش، از یک سنسور فراصوت برای محاسبه ی فاصله استفاده می کند و از یک ال سی دی برای نمایش مقدار محاسبه شده استفاده می کند. همچنین روش استفاده از باطری برای آردوینو را خواهیم آموخت تا برای برق آردوینو نیاز به کابل usb نباشد.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه