آردوینو, پروژه آردوینو

آموزش 0 تا 100 آردوینو؛ قسمت ششم

دستورات کنترلی در آردوینو؛ آموزش 0 تا 100 آردوینو قسمت ششم

پس از پشت سر گذاشتن قسمت‌های اول تا پنجم سلسله مطالب آموزش 0 تا 100 آردوینو، اینک با قسمت ششم و مطلب دستورات کنترلی در آردوینو در خدمت شما هستیم. در این مطلب قصد داریم دستورات کنترلی که از مهمترین ارکان برنامه‌نویسی هستند را به شما آموزش دهیم. به طور کلی، برنامه‌نویس باید برای انعطاف در کد، در بخش‌هایی شروط و تصمیماتی برای تغییر روند اجرا بگیرد. در چنین مواقعی، از دستورات شرطی استفاده می‌شود که در زیر با تعدادی از مهمترین آنها آشنا خواهیم شد.

دستور If؛ یکی از دستورات کنترلی در آردوینو

این دستور برای ایجاد شرط استفاده می‌شود. کلمه If به معنای اگر است و این دستور بررسی می‌کند تا اگر اتفاقی که مد نظر شماست رخ داد، عملیات را انجام دهد. در تصویر زیر روند اجرا برنامه از زمانی که وارد شرط می‌شود را مشاهده می‌کنید. برای مثال، شما می‌خواهید اگر دمای اتاق بیش از حد بالا رفته و اتاق گرم شد، کولر را روشن کنید. برای این کار باید دما را در یک متغیر اعشاری ذخیره کرده و به کمک دستور If بررسی کنید که اگر دما بالا رفت، کولر روشن شود.

سینتکس کلی برنامه به صورت زیر است:

If (شرط شما) {دستورات در نظر گرفته شده}

دستور If-else؛ یکی از دستورات کنترلی در آردوینو

این دستور مشابه همان دستور If می‌باشد با این تفاوت که اگر شرط درست نبود، کدهای بخش Else را اجرا می‌کند. برای مثال، اگر سن کاربر بالاتر از ده سال بود، آن را ذخیره کند در غیر این صورت، به کاربر خطا را نمایش دهد.

سینتکس و حالت کلی این دستور به صورت زیر می‌باشد:

if(a<b)

{

  Serial.print(a);

}

else{

  Serial.print(b);

}

دستور Else if؛ یکی از دستورات کنترلی در آردوینو

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

سینتکس این دستور به صورت زیر می‌باشد؛

if (شرط یک) {

دستورات مورد نظر

}

else if(شرط دو) {

دستورات مورد نظر

}

.

.

.

else {

}

دستور Switch-case؛ یکی از دستورات کنترلی در آردوینو

به کمک این دستور می‌توانید انواع متغیرها را بررسی و دستورات مختلف برای هر حالت را تعریف کنید. برای مثال، قادر خواهید بود سن کاربر را دریافت و برای سنین مختلف حالات مختلف تعیین کنید. همچنین، در این تابع می‌توانید یک حالت پیش‌فرض مشخص کنید تا اگر هیچکدام از حالت‌ها عملی نبود، اجرا شوند. حالت کلی تابع به صورت زیر است:

چنانچه دستورات بالا را به درستی متوجه نشده‌اید، نگران نباشید. برنامه زیر را بر روی برد خود آپلود و نتیجه را مشاهده کنید. در صورتی که در سریال مانیتور عدد 1 را وارد کنید LED روی برد روشن شده و اگر عدد 0 را وارد کنید، LED خاموش می‌شود.

char data = 0;

void setup()

{

    Serial.begin(9600);

    pinMode(13, OUTPUT);

    void light ();

}

void loop()

{

   if(Serial.available() > 0)

   {

      data = Serial.read();

      Serial.print(data);

      Serial.print(“n”);

      switch(data){

         case ‘1’:

                digitalWrite(13, HIGH);

                break;

         case ‘0’:

                 digitalWrite(13, LOW);

                 break;

      }

    }

  }

حلقه‌ها در دستورات کنترلی آردوینو

یکی از ابزارهای مهم در برنامه‌نویسی آردوینو، حلقه‌های تکرار هستند. وجود چنین ابزارهایی به برنامه‌نویس این امکان را می‌دهند تا ساختارهای نیازمند به تکرار مجموعه دستورات (مانند جستجو، محاسبات، شمارش و . . .) را عملی کند.

حلقه For؛ یکی از دستورات کنترلی در آردوینو

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

for (initialization; condition; increment) {

 }

به مثال زیر توجه کنید. برای مشاهده خروجی می‌توانید به پایه 10 آردوینو یک مقاومت 220 اهم و یک LED وصل کنید.

int PWMpin = 10;

void setup() {}

void loop() {

  for (int i = 0; i <= 255; i++) {

    analogWrite(PWMpin, i);

    delay(10);

  }

}

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

void setup()

{

  Serial.begin(9600);

   for (int i = 0; i <= 50; i+=2) {

    Serial.println(i);

    delay(100);

  }

}

void loop()

{

}

این کد اعداد زوج 1 تا 50 را یک بار در سریال مانیتور نمایش می‌دهد.

حلقه While؛ یکی از دستورات کنترلی در آردوینو

این حلقه تا زمانی که شرط آن برقرار نشده و یا متغیر مورد بررسی تغییری نکرده باشد، به صورت بی‌نهایت به کار خود ادامه می‌دهد. به مثال زیر توجه کنید:

var = 0;

while (var < 200) {

 //برای آنکه شرط برقرار شود، 200 بار متغیر را افزایش می‌دهد.

}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *