🧰 تابع در آردوینو — کدت را مرتب کن

وقتی loop() ات بیشتر از سی خط شد و دیگر نمی‌فهمی کجا چه خبر است، وقت تابع نوشتن است.

ساده‌ترین تابع

void beep() {
  tone(8, 880);
  delay(150);
  noTone(8);
}

حالا هرجا بنویسی beep(); این سه خط اجرا می‌شوند.

تابع با ورودی

void blink(int pin, int times) {
  for (int i = 0; i < times; i++) {
    digitalWrite(pin, HIGH); delay(150);
    digitalWrite(pin, LOW);  delay(150);
  }
}

// استفاده:
blink(13, 3);    // سه بار چشمک روی پایه ۱۳
blink(12, 5);    // پنج بار روی پایه ۱۲

تابع با خروجی

void یعنی چیزی برنمی‌گرداند. اگر بخواهی نتیجه بدهد، نوعش را بنویس و return کن:

float toCelsius(int raw) {
  return raw * 5.0 / 1023.0 * 100.0;
}

// استفاده:
float dama = toCelsius(analogRead(A0));

چرا واقعاً ارزشش را دارد

محدوده‌ی متغیر — تله‌ی رایج

متغیری که داخل یک تابع تعریف شود، با پایان آن تابع از بین می‌رود. اگر شمارنده‌ات هر بار صفر می‌شود، احتمالاً داخل loop() تعریفش کرده‌ای. شمارنده‌ها را بیرون از توابع تعریف کن.

int counter = 0;        // بیرون: می‌ماند

void loop() {
  int wrong = 0;        // داخل: هر دور صفر می‌شود
  counter++;
  wrong++;              // همیشه ۱ می‌ماند
}

راستی — setup() و loop() هم خودشان تابع‌اند.

کدت را با تابع مرتب کن 🧰

مقاله‌های دیگر

🤖

آردوینو چیست؟ راهنمای کامل برای شروع از صفر

بهترین شبیه‌ساز مدار آنلاین فارسی — چرا شبیه‌ساز، و چرا روبومیکر؟

💡

ساده‌ترین پروژه الکترونیک برای بچه‌ها: روشن‌کردن یک LED