0Pricing
Arduino & IoT Academy · درس

‏INPUT مقابل INPUT_PULLUP

لماذا يكذب المنفذ العائم وكيف تصلحه مقاومات السحب

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

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Pins Can Listen Too

So far your pins pushed signals out. Now you'll make a pin listen instead, so your board can sense a button and react to it.

Set a Pin as INPUT

To read a button, you first tell a pin it should receive a signal. You do that by setting its mode to INPUT inside setup().

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

A Floating Pin Lies

An INPUT pin with nothing pulling it is called floating. It picks up stray noise and flickers between HIGH and LOW all on its own.

Why Floating Hurts

A floating pin gives you random, false button readings. Your code thinks the button is pressed when nobody touched it. ⚡

Pull Resistors Fix It

A pull resistor gently ties the pin to a known voltage. That gives it a steady default reading until the button changes it.

Pull-Up vs Pull-Down

A pull-up holds the pin HIGH by default; a pull-down holds it LOW. The Arduino has handy pull-ups built right into the chip.

Use INPUT_PULLUP

Skip the extra resistor: set the mode to INPUT_PULLUP and the board enables its internal pull-up for you automatically.

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

The Logic Flips

With INPUT_PULLUP the pin reads HIGH when the button is released, and LOW when it is pressed. The logic is inverted on purpose.

Wire to Ground

Because the internal pull-up holds the pin HIGH, you wire the button between the pin and GND. Pressing it pulls the pin down to LOW.

Less Wiring, Fewer Bugs

INPUT_PULLUP means one less resistor on your breadboard and no floating pin. For most beginner buttons it is simply the easiest choice.

Pick the Right Mode

Reach for plain INPUT only when your circuit already supplies its own pull resistor. Otherwise INPUT_PULLUP keeps things safe and simple.

Quick Check

Think about how INPUT_PULLUP behaves on an idle button.

Recap

You learned that an INPUT pin can float and lie, and that INPUT_PULLUP fixes it: HIGH when released, LOW when pressed. Next you'll actually read that value. 👍

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

هل درس «‏INPUT مقابل INPUT_PULLUP» مجاني؟

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

ماذا ستتعلم في «‏INPUT مقابل INPUT_PULLUP»؟

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

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

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

كم من الوقت يستغرق درس «‏INPUT مقابل INPUT_PULLUP»؟

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

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

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

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

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