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

عداد ثنائي باستخدام مصابيح 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