Menu
CoddyTech

عداد ثنائي باستخدام مصابيح LED

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

يمكن لأربعة مصابيح LED عرض أي عدد من 0 إلى 15 بالنظام الثنائي، وهو النظام الذي تخزّن به الحواسيب الأعداد. لكل مصباح LED قيمة تساوي ضعف قيمة المصباح الذي يسبقه: 1 و2 و4 و8. ويضيف المصباح المضيء قيمته:

  • 5 يساوي 4 + 1: المصباحان اللذان قيمتهما 4 و1 مضاءان
  • 10 يساوي 8 + 2
  • 15 يعني أن المصابيح الأربعة كلها مضاءة

تُسمّى كل خانة بتًا، ويبدأ ترقيمها من 0، وهي الخانة التي قيمتها 1. تعطي bitRead(number, n) قيمة البت n في عدد ما، إما 1 أو 0:

bitRead(5, 0);  // 1: يحتوي 5 على 1
bitRead(5, 1);  // 0: لا يحتوي 5 على 2
bitRead(5, 2);  // 1: يحتوي 5 على 4

بما أن 1 هي HIGH و0 هي LOW، يمكن توصيل البت i مباشرةً بالمصباح i:

for (int i = 0; i < 4; i++) {
  digitalWrite(ledPins[i], bitRead(count, i));
}

هنا، ledPins[0]، وهو الطرف 2، يشير إلى المصباح الموجود على اليمين، وقيمته 1، مثل الرقم الأخير في عدد.

challenge icon

التحدي

متوسط

اجعل مصابيح LED الأربعة تعدّ بالنظام الثنائي:

  • ابدأ count من 0
  • اعرضه على مصابيح LED باستخدام bitRead()، واجعل البت i على ledPins[i]
  • انتظر 250 ms، وأضف 1، وبعد 15 ابدأ من جديد من 0

اضغط على Run، ثم Check.

جرّب بنفسك

int ledPins[] = {2, 3, 4, 5};  // قيمها 1، 2، 4، 8
int count = 0;

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

void loop() {
  // اعرض count بالنظام الثنائي، وانتظر 250 ms، ثم زد count (يعود إلى 0 بعد 15)
}
quiz iconاختبر نفسك

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

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

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