🧮 درس 61: توابعی که جواب برمیگردانند
کد شلوغ را به تکههای اسمدار بشکن: ورودی بگیر، جواب پس بده.
سطح: متوسط · زمان: حدود 15 دقیقه · مفاهیم: تابع، return، پارامتر
قدمهای این درس
- چرا تابع؟
- قدم ۱ — مدار: سنسور دما و یک LED
- قدم ۲ — سه تابع، سه کار
- اشتباه رایج: return فراموششده
- چالش: تابع خودت
نمونهای از کد این درس
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);
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓