Menu
CoddyTech
flag Ar iconالعربيةdown icon

عدّ ضغطات الزر

جزء من قسم المدخلات في رحلة Arduino على Coddy. الدرس 5 من 22.

يمكن للحافة من الدرس السابق تشغيل أي شيء ينبغي أن يحدث مرة واحدة عند كل ضغطة. هنا تضيف واحدًا إلى عدّاد، باستخدام ++ من درس العدّ التصاعدي:

int presses = 0;

void loop() {
  int reading = digitalRead(2);
  if (reading == LOW && lastReading == HIGH) {
    presses++;
    Serial.println(presses);
  }
  lastReading = reading;
}

يوضع presses فوق setup()، مثل lastReading، ليحتفظ بقيمته بين مرات تشغيل loop().

تقع الطباعة داخل if، لذا لا يظهر رقم إلا عندما يتغير العدّ: 1، 2، 3. أما خارج if فستُطبع القيمة نفسها آلاف المرات في الثانية.

challenge icon

التحدي

سهل

الزر موصول بالمنفذ 2 (INPUT_PULLUP). احسب عدد مرات الضغط عليه:

  • احتفظ بالعدد في presses، المُعرّف أعلى setup()
  • عند الضغط على الزر، أضف واحدًا واطبع العدد

اضغط Run، واضغط على الزر بضع مرات وراقب شاشة Serial، ثم اضغط Check.

جرّب بنفسك

const int buttonPin = 2;

int lastReading = HIGH;

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

void loop() {
  int reading = digitalRead(buttonPin);
  // عند الضغط على الزر، احسب عدد مرات الضغط واطبع العدد
  lastReading = reading;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المدخلات

تدرّب بنفسك: Playground لـ Arduino