القيم المُعادة
جزء من قسم المدخلات في رحلة Arduino على Coddy. الدرس 21 من 22.
يمكن للدالة أيضًا أن تُعيد قيمة. اكتب نوع القيمة بدلًا من void، وأنهِ الدالة باستخدام return والقيمة:
int readPercent() {
int reading = analogRead(A0);
return map(reading, 0, 1023, 0, 100);
}وعندئذٍ يمثّل استدعاء الدالة تلك القيمة، مثل analogRead(). يمكنك تخزينها أو طباعتها أو مقارنتها:
int percent = readPercent();
if (readPercent() > 50) {
// ...
}كما أن return تنهي الدالة فورًا: فلا تُنفَّذ الأسطر التي تليها. المتغيرات التي تُنشأ داخل الدالة، مثل reading هنا، لا تكون موجودة إلا أثناء تشغيلها؛ والقيمة المُعادة هي الطريقة التي تخرج بها النتيجة.
التحدي
سهلالمقبض موصول بـ A0 ومصباح LED على المنفذ 13:
- اكتب
int readPercent()لقراءة A0 وإرجاع قيمته بعد تحويلها إلى نطاق من 0 إلى 100 - في
loop()، خزّنreadPercent()في متغير واطبعه - أضئ مصباح LED عندما تكون النسبة أكبر من 50، وإلا فأطفئه؛ انتظر 100 ms
اضغط Run، وأدر المقبض، ثم اضغط Check.
جرّب بنفسك
const int ledPin = 13;
// اكتب int readPercent() هنا
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// int percent = readPercent();
// اطبعها، وأضئ LED إذا تجاوزت 50، وانتظر 100 ms
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المدخلات
تدرّب بنفسك: Playground لـ Arduino