🧮 درس 61: توابعی که جواب برمی‌گردانند

کد شلوغ را به تکه‌های اسم‌دار بشکن: ورودی بگیر، جواب پس بده.

سطح: متوسط · زمان: حدود 15 دقیقه · مفاهیم: تابع، return، پارامتر

قدم‌های این درس

  1. چرا تابع؟
  2. قدم ۱ — مدار: سنسور دما و یک LED
  3. قدم ۲ — سه تابع، سه کار
  4. اشتباه رایج: return فراموش‌شده
  5. چالش: تابع خودت

نمونه‌ای از کد این درس

const int LED_PIN = 13;

// Gives back the temperature in °C (LM35: 10 mV per degree)
float readTemperature() {
  int raw = analogRead(A0);            // 0..1023
  float volts = raw * 5.0 / 1023.0;    // to volts
  return volts * 100.0;                // to degrees
}

// Takes a number in, gives a number back
float toFahrenheit(float c) {
  return c * 9.0 / 5.0 + 32.0;
}

// Takes two numbers, gives back true/false
bool isHot(float c, float limit) {
  return c > limit;
}

void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  float c = readTemperature();
  Serial.print("C: ");
  Serial.print(c);
  Serial.print("   F: ");
  Serial.println(toFahrenheit(c));
  digitalWrite(LED_PIN, isHot(c, 30.0));
  delay(1000);
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

🌆

درس 60: پروژه‌ی پایانی: شهر هوشمند

📋

درس 62: منوی سریال با switch-case