نوع داده bool در آردوینو — آموزش ساده برای مبتدی‌ها  
آردوینو ایران | آموزش تخصصی آردوینو به فارسی

آردوینو ایران | آموزش تخصصی آردوینو به فارسی

آردوینو ایران — مرجع تخصصی آموزش آردوینو به فارسی! دوره‌های کاربردی، پروژه‌محور و گام‌به‌گام برای مبتدی‌ها تا پیشرفته‌ها: از راه‌اندازی اولین LED تا ساخت ربات، IoT و سیستم‌های هوشمند خانه. یادگیری عملی، کدنویسی ساده، پشتیبانی فنی و دسترسی مادام‌العمر به محتوا — فقط برای عاشقان الکترونیک و برنامه‌نویسی سخت‌افزاری.

اشتراک در خبرنامه

جهت عضویت در خبرنامه لطفا ایمیل خود را ثبت نمائید

Captcha

آمار بازدید

  • بازدید امروز : 14
  • بازدید دیروز : 41
  • بازدید کل : 14808

نوع داده bool در آردوینو — آموزش ساده برای مبتدی‌ها


نوع داده bool در آردوینو — آموزش ساده برای مبتدی‌ها

نوع داده bool در آردوینو — آموزش ساده برای تصمیم‌گیری‌های دیجیتال

bool چیست؟ فقط دو حالت: درست یا غلط!

در دنیای آردوینو، گاهی فقط نیاز دارید بدانید یک چیز «روشن است یا خاموش؟»، «سنسور فعال است یا غیرفعال؟»، «شرایط برقرار است یا نه؟».
برای همین کارها، از نوع داده‌ی bool استفاده می‌شود.
این نوع داده فقط دو مقدار می‌تواند داشته باشد:

  • true → به معنی «درست» یا «بله»
  • false → به معنی «غلط» یا «خیر»

چرا از bool استفاده کنیم؟

فرض کنید می‌خواهید بدانید آیا دکمه فشرده شده است یا نه. می‌توانید از یک متغیر عددی استفاده کنید و عدد ۱ یا ۰ ذخیره کنید، اما این روش گیج‌کننده است.
اما با bool، کد شما خواناتر و منطقی‌تر می‌شود:

bool buttonPressed = false;  // در ابتدا دکمه فشرده نشده

همین سادگی! حالا هر کس کد شما را بخواند، دقیقاً متوجه منظور شما می‌شود.

نحوه تعریف و استفاده از bool

تعریف یک متغیر از نوع bool بسیار ساده است:

bool myState = true;
bool isDark = false;

شما می‌توانید مقدار یک متغیر bool را در شرط‌ها (مثل if) مستقیماً استفاده کنید:

bool lightOn = true;

if (lightOn) {
  Serial.println("چراغ روشن است!");
} else {
  Serial.println("چراغ خاموش است.");
}

نیازی نیست بنویسید if (lightOn == true) — چون خودِ lightOn یک مقدار منطقی است!

مثال کاربردی: تشخیص فشرده شدن دکمه

در این مثال، یک دکمه به پین ۲ متصل شده است. می‌خواهیم وضعیت آن را در یک متغیر bool ذخیره کنیم:

const int buttonPin = 2;
bool buttonState = false;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  buttonState = !digitalRead(buttonPin);  // چون از PULLUP استفاده کردیم، LOW یعنی فشرده شده
  
  if (buttonState) {
    Serial.println("دکمه فشرده شد!");
  } else {
    Serial.println("دکمه آزاد است.");
  }
  
  delay(200);
}

نکته طلایی ۱: bool فقط یک بایت حافظه مصرف می‌کند!

بسیاری فکر می‌کنند چون bool فقط دو حالت دارد، پس باید کمتر از یک بایت حافظه بگیرد. اما در آردوینو (و بیشتر سیستم‌های مبتنی بر C++)، هر متغیر bool دقیقاً یک بایت از RAM را اشغال می‌کند.
اگر RAM کم دارید (مثل آردوینو Uno با فقط ۲ کیلوبایت)، و نیاز به ذخیره‌ی صدها وضعیت دارید، بهتر است از بیت‌ها در یک آرایه byte استفاده کنید — اما این موضوع برای مبتدی‌ها پیچیده است و فعلاً نیازی به نگرانی نیست!

نکته طلایی ۲: هر عدد غیرصفر در شرط، معادل true است!

اگر یک عدد (مثلاً int) را در یک شرط if بگذارید، آردوینو آن را به‌صورت خودکار به bool تبدیل می‌کند:
— هر عدد غیر از صفرtrue
— عدد صفرfalse

int sensorValue = 5;

if (sensorValue) {
  // این بخش اجرا می‌شود، چون 5 غیرصفر است!
  Serial.println("مقدار سنسور صفر نیست.");
}

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

منبع رسمی

این مطلب بر اساس مستندات رسمی Arduino از بخش bool – Language Reference تهیه شده است، اما با توضیحات ساده‌تر، مثال‌های کاربردی و نکات طلایی منحصربه‌فرد برای کاربران فارسی‌زبان.

  انتشار : ۱۲ مهر ۱۴۰۴               تعداد بازدید : 311

برچسب های مهم

دیدگاه های کاربران (0)

http://kia-ir.ir

تمام حقوق مادی و معنوی این وب سایت متعلق به "آردوینو ایران | آموزش تخصصی آردوینو به فارسی" می باشد

فید خبر خوان    نقشه سایت    تماس با ما