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

العدّ على الشاشة

جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 3 من 24.

مع showDigit()، يمثّل كل رقم استدعاءً واحدًا للدالة. يمكن لحلقة for استدعاؤها مع كل رقم بالتتابع:

for (int n = 0; n <= 9; n++) {
  showDigit(n);
  delay(500);
}

يحدّد الشرط الرقم الأخير. تعمل n <= 9 حتى 9 شاملًا؛ أما n < 9 فتتوقف عند 8.

ضع الحلقة داخل loop()، وعندما ينتهي العد، تعمل loop() مجددًا ويبدأ العد من 0.

challenge icon

التحدي

سهل

showDigit() جاهزة. اعرض العدّ على الشاشة:

  • اعرض 0 و1 و2، وهكذا حتى 9
  • أبقِ كل رقم معروضًا لمدة 500 ms
  • بعد 9، ابدأ من جديد عند 0

اضغط على Run لمشاهدة العدّ، ثم اضغط على Check.

جرّب بنفسك

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// نمط واحد لكل رقم، يُقرأ من اليمين: البت الأخير هو المقطع a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // مضاء
    } else {
      digitalWrite(segmentPins[i], HIGH);  // مطفأ
    }
  }
}

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  // اعرض الأرقام من 0 إلى 9، لمدة نصف ثانية لكل رقم
}
quiz iconاختبر نفسك

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

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

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