Arduino & IoT Academy · درس

قراءة حالة زر

استخدام digitalRead لمعرفة ما إذا كان الزر مضغوطًا

الدرس 2 من 413 خطوة

قراءة حالة زر درس مجاني في Arduino & IoT Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Arduino & IoT Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Arduino & IoT Academy 4 دروس في المجموع.

اطرح سؤالًا على المنفذ

بعد أن أصبح المنفذ يستمع، يمكنك سؤاله عمّا يراه. تتحقق الدالة digitalRead من المنفذ وتخبرك بحالته الحالية.

يعيد HIGH أو LOW

يعيد digitalRead إجابتين فقط: HIGH أو LOW. وهذا مثالي للزر، الذي يكون إما مضغوطًا أو غير مضغوط.

int state = digitalRead(2);

خزّن القراءة

احفظ النتيجة في متغيّر لكي تتمكن من استخدامها. يحمل state هنا كل ما وجده digitalRead على المنفذ 2 في تلك اللحظة.

int buttonPin = 2;
int state = digitalRead(buttonPin);

اضبط النمط أولًا

لا تعمل القراءة إلا إذا أعددت المنفذ مسبقًا. استدعِ pinMode باستخدام INPUT_PULLUP في setup() قبل أن تقرأه.

void setup() {
  pinMode(2, INPUT_PULLUP);
}

اقرأ داخل loop()

تتغير حالة الأزرار باستمرار، لذا تقرأها داخل loop(). تلتقط كل دورة حالة جديدة، مما يبقي جهازك محدثًا.

void loop() {
  int state = digitalRead(2);
}

تذكّر الانعكاس

مع INPUT_PULLUP ينعكس المعنى: تعني LOW أن الزر مضغوط، بينما يعني HIGH أنه محرر. تذكّر ذلك عند قراءة الحالة.

اعرضها على Serial

لا يمكنك رؤية HIGH أو LOW مباشرةً، لذا اطبعهما. يتيح لك إرسال state إلى Serial Monitor مراقبة القيمة أثناء الضغط على الزر.

Serial.println(state);

افتح قناة الاتصال

قبل الطباعة، افتح قناة USB مرة واحدة في setup باستخدام Serial.begin. وتُعد سرعة 9600 baud شائعة في المشاريع البسيطة.

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

راقب تغير القيم

حمّل البرنامج، وافتح Serial Monitor، واضغط على الزر. سترى الرقم يقفز من 1 إلى 0 في اللحظة التي تضغط فيها عليه. 🔘

HIGH وLOW رقمان

يُعد HIGH في الواقع 1 فقط، بينما يُعد LOW هو 0. ولهذا تظهر قراءاتك المطبوعة على شكل 1 و0 عاديين.

لديك الآن إدخال مباشر

أصبحت تحوّل ضغطة فعلية إلى قيمة يمكن لشيفرتك اختبارها. وتُعد هذه القراءة الواحدة أساس كل جهاز تفاعلي ستبنيه.

تحقق سريع

تذكّر ما تعيده digitalRead إلى شيفرتك.

مراجعة

استخدمت digitalRead داخل loop() لالتقاط HIGH أو LOW، وخزّنت القيمة، ثم طبعتها عبر Serial. ستجعل في الخطوة التالية مؤشر LED يتفاعل مع هذه الحالة. ✅

البدء مجانًا

تعلم C++ مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «قراءة حالة زر» مجاني؟

نعم — نص درس «قراءة حالة زر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Arduino & IoT Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Arduino & IoT Academy 4 دروس في المجموع.

ماذا ستتعلم في «قراءة حالة زر»؟

استخدام digitalRead لمعرفة ما إذا كان الزر مضغوطًا تتمرن على Arduino & IoT Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Arduino & IoT Academy؟

لا تُشترط خبرة سابقة. Arduino & IoT Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «قراءة حالة زر»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Arduino & IoT Academy هذا؟

نعم. كل درس في Arduino & IoT Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏INPUT مقابل INPUT_PULLUP
  2. قراءة حالة زر
  3. ‏if/else: مصباح LED يتبع الزر
  4. توصيل زر على لوحة تجارب
← العودة إلى Arduino & IoT Academy