آردوینوآموزش آردوینو

آموزش گام به گام آردوینو قسمت ششم: دستورات کنترلی در آردوینو

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

دستور 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

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

دستورات کنترلی در آردوینو

چنانچه دستورات بالا را به درستی متوجه نشده اید، نگران نباشید. برنامه زیر را بر روی برد خود آپلود کنید و نتیجه را مشاهده کنید. در صورتی که در سریال مانیتور عدد ۱ را وارد کنید دیود نورانی (LED) روی برد روشن  شده و اگر عدد ۰ را وارد کنید 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) { 
 }

به مثال زیر توجه کنید، برای مشاهده خروجی میتوانید به پایه ۱۰ آردوینو یک مقاومت ۲۲۰ اهم و یک LED وصل کنید
 

int PWMpin = 10;  

void setup() {}

void loop() {
  for (int i = 0; i <= 255; i++) {
    analogWrite(PWMpin, i);
    delay(10);
  }
}

برای دیدن آموزش موج PWM کلیک کنید


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

void setup() 
{
  Serial.begin(9600);
   for (int i = 0; i <= 50; i+=2) {
    Serial.println(i);
    delay(100);
  }
}

void loop()
{
 
}

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

حلقه while

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

var = 0;
while (var < 200) {
 //برای آنکه شرط برقرار شود، ۲۰۰ بار متغیر را افزایش میدهد.
}

در این آموزش با نحوه عملکرد دستورات کنترلی در آردوینو در خدما شما عزیزان بودیم. امید واریم مطلب موثر واقع شده مورد توجه شما عزیزان قرار گرفته باشد.
همچنین می توانید از مطالب زیر دیدن کنید:
پروژه ماشین حساب با سریال مانیتور
Arduino loops and commands

نمایش بیشتر

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

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

دکمه بازگشت به بالا