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

آموزش آردوینو – بخش ششم ساختارهای کنترلی در برنامه نویسی آردوینو

arduino-basic-tutorial-part-six-control-structures-digispark
نوشته شده توسط پریسا پوربلورچیان

شرط نویسی برای سنسورها در واقع مسیر به آن ها میدهد. دستورات برنامه نویسی مهمی مثل if else, switch case, for از جمله کاربردی ترین ساختارهای کنترلی است. اینکه هر کدام با چه شرایطی و چگونه استفاده و فراخوانی شود، ما در این آموزش به آن خواهیم پرداخت. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


ساختار تکرار for


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

ساختار تکرار for در برنامه نویسی آردوینو - دیجی اسپارک

 

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

ساختار تکرار for در برنامه نویسی آردوینو - دیجی اسپارک

 

نمونه برنامه استفاده از for در آردوینو 

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

  • مقدار اولیه را مشخص کنیم.
  • شرط حلقه را مشخص کنیم.
  • گام حرکت را مشخص کنیم.

برای روند افزایشی پایه ها از دستور تکرار for با شرط i<256 شروع می‌کنیم. مقدار اولیه صفر است، یعنی ال ای دی خاموش است. گام حرکت ++ است که به صورت افزایشی است. برای روند کاهشی پایه ها از دستور تکرار for با شرط i>0 شروع می‌کنیم. مقدار اولیه ۲۵۵ است، یعنی ال ای دی روشن و در بیشترین حالت روشن یودن است . گام حرکت —  است که به صورت کاهشی است.

 


ساختار تکرار while


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

ساختار تکرار while در برنامه نویس آردوینو - دیجی اسپارک

 

 

 

 تست برنامه با while

 
 
 

 


 ساختار تکرار do … while


همانند ساختار while است با این تقاوت که در ساختار while شرط حلقه در ابتدای حلقه تست شده و در do while شرط در انتها تست می‌شود. بدنه حلقه do…while یکبار اجرا می شود سپس عبارت شرطی بررسی خواهد شد. اگر عبارت شرطی درست true باشد، بدنه حلقه دوباره اجرا شده و عبارت شرطی نیز دوباره بررسی می شود. این روند ادامه می یابد تا زمانی که عبارت شرطی نادرست false شود.اگر عبارت شرطی نادرست false باشد و مقدار صفر ۰ برگرداند، حلقه تمام می شود.

 

 ساختار تکرار do ... while در برنامه نویسی آردوینو - دیجی اسپارک

 

 

 

 تست برنامه با do while

 
 

 


ساختار تصمیم if


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

روش اول فراخوانی

ساختار تصمیم if در برنامه نویسی آردوینو - دیجی اسپارک

 

روش دوم فراخوانی

روش دوم ساختار تصمیم if در برنامه نویسی آردوینو - دیجی اسپارک

 

تست برنامه با if else

 

تست کد if else

 


ساختار تصمیم switch


تصور کنید بخواهید یک منو با ال سی دی و آردوینو طراحی کنید. هر کلید یک نقش را ایفا می‌کند. اگر تعداد کلیدها افزایش پیدا کند، روند کدنویسی پیچیده و طولانی می‌شود. در این مرحله بهترین انتخاب استفاده از ساختار تصمیم  switch است. برای Switch از حالت یا همان case استفاده می‌کنیم. ساختار Switch میتواند بدون default باشد. مقادیر case ها نمیتواند با هم مساوی باشد. اگر در یک case از دستور break استفاده نشود با مقدار case بعدی or می‌شود. تفاوت if , switch این است که در ساختار if میتوانید عبارت منطقی و رابطه ای را بررسی کنید و در ساختار switch فقط مساوی بودن مقادیر بررسی می‌شود.

ساختار تصمیم switch در برنامه نویسی آردوینو - دیجی اسپارک

 

 

تست برنامه با switch case

 

کد تست switch case

 


جمع بندی


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

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه