نوع داده void در آردوینو — آموزش کامل برای توابع بدون خروجی  
آردوینو ایران | آموزش تخصصی آردوینو به فارسی

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

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

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

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

Captcha

آمار بازدید

  • بازدید امروز : 31
  • بازدید دیروز : 99
  • بازدید کل : 14784

نوع داده void در آردوینو — آموزش کامل برای توابع بدون خروجی


نوع داده void در آردوینو — آموزش کامل برای توابع بدون خروجی

نوع داده void در آردوینو — وقتی تابع چیزی برنمی‌گرداند

void چیست؟

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

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

چرا void وجود دارد؟

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

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

در آردوینو، دو تابع اصلی setup() و loop() هر دو از نوع void هستند:

void setup() {
  // تنظیمات اولیه — هیچ چیزی برنمی‌گرداند
  pinMode(13, OUTPUT);
}

void loop() {
  // حلقه اصلی — هیچ چیزی برنمی‌گرداند
  digitalWrite(13, HIGH);
  delay(1000);
}

همچنین می‌توانید توابع شخصی خود را با void تعریف کنید:

void blinkLED(int pin, int duration) {
  digitalWrite(pin, HIGH);
  delay(duration);
  digitalWrite(pin, LOW);
  delay(duration);
  // این تابع فقط یک کار انجام می‌دهد — چیزی برنمی‌گرداند
}

تفاوت void با سایر انواع داده

  • int, float, String و...: تابع مقداری را محاسبه کرده و برمی‌گرداند.
  • void: تابع فقط یک کار انجام می‌دهد (مثل روشن کردن LED، ارسال داده، تنظیم پین) و هیچ مقداری برنمی‌گرداند.

مثال مقایسه‌ای:

// تابعی که مقدار برمی‌گرداند
int add(int a, int b) {
  return a + b;  // یک عدد صحیح برمی‌گرداند
}

// تابعی که چیزی برنمی‌گرداند
void printSum(int a, int b) {
  Serial.println(a + b);  // فقط چاپ می‌کند — return ندارد
}

توضیح برای مبتدی‌ها: اگر در تابعی از دستور return استفاده می‌کنید، باید نوع داده‌ی تابع را مشخص کنید (مثل int). اما اگر تابع شما فقط کاری انجام می‌دهد و نیازی به بازگرداندن مقدار نیست، حتماً از void استفاده کنید. در توابع void نمی‌توانید از return value; استفاده کنید — فقط می‌توانید با return; از تابع خارج شوید (اختیاری).

مثال کاربردی: تابع شخصی برای ریست کردن سنسور

void resetSensor() {
  digitalWrite(sensorResetPin, LOW);
  delay(10);
  digitalWrite(sensorResetPin, HIGH);
  Serial.println("سنسور ریست شد.");
  // هیچ مقداری برنمی‌گرداند — فقط یک سری دستور اجرا می‌کند
}

void loop() {
  // ... خواندن داده ...
  if (errorDetected) {
    resetSensor();  // فراخوانی تابع void
  }
}

نکته طلایی ۱: void فقط برای توابع است — نه برای متغیرها!

شما نمی‌توانید متغیری از نوع void تعریف کنید:

void x = 5;  // ❌ خطای کامپایل! void برای متغیر نیست

اگر چنین کدی بنویسید، کامپایلر خطایی مانند «variable or field x declared void» نشان می‌دهد.

نکته طلایی ۲: تمام توابع setup() و loop() حتماً باید void باشند

در آردوینو، دو تابع اصلی setup() و loop() بخشی از ساختار پایه‌ی هر اسکچ هستند. این توابع حتماً باید از نوع void باشند — چون سیستم آردوینو انتظار ندارد آن‌ها مقداری را بازگردانند. اگر نوع دیگری قرار دهید، کد کامپایل نمی‌شود.

جمع‌بندی

  • void یک نوع داده برای «عدم بازگشت مقدار» است
  • فقط در تعریف توابع استفاده می‌شود
  • توابع setup() و loop() همیشه void هستند
  • نمی‌توان از آن برای تعریف متغیر استفاده کرد
  • اگر تابع شما فقط کاری انجام می‌دهد (مثل کنترل سخت‌افزار)، از void استفاده کنید

منبع رسمی

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

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

برچسب های مهم

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

http://kia-ir.ir

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

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