شاشة العرض (Seven Segment)

7 segmant

مقدمة

في الوقت الحالي، تعد عناصر العرض ميزة ضرورية لأي جهاز إلكتروني، حيث يجعل تفاعل المستخدم أسهل بكثير مع هذا الجهاز، وهناك خيارات وأنواع عديدة من هذه العناصر التي يمكنك استخدامها في مشروعك القادم، بدءاً من شاشة العرض ذات الأجزاء السبعة (Seven Segment) إلى شاشات LCD أو حتى الصور المجسمة، وفي هذا المقال سوف نتحدث عن هذا العنصر الذي تم استخدامه في الصناعة لعقود من الزمان، شاشة العرض ذات الأجزاء السبعة (Seven Segment).

تم تصميم شاشات العرض المكونة من سبعة أجزاء لعرض القيم الرقمية حيث يمكنك العثور عليها في أي مكان من الأدوات إلى المكوكات الفضائية، وتتميز بأنها الطريقة الأكثرانتشاراً لعرض القيم الرقمية، فهي رخيصة وسهلة الاستخدام، بالإضافة الى أنها سهلة القراءة في أي حالة إضاءة، على عكس شاشات LCD، يمكنك العثور عليها في العديد من الاستخدامات اليومية مثل العدادات أو الميزان الالكتروني الساعات الرقمية الكبيرة …إلخ.

ما هي شاشة العرض (Seven Segment)

تتكون شاشة العرض ذات الأجزاء السبعة من ثمانية مصابيح LED، يشار إلى كل LED على أنه مقطع لأنه عندما يضيء فإنه يشكل جزءًا من رقم، ويمكن تشغيل أو إطفاء كل مصباج بشكل منفصل عن طريق إعطاء القطب المقابل HIGH أو LOW، تمامًا مثل أي مصباح LED عادي، من خلال تشغيل المصابيح المناسبة يمكن استخدامها لعرض الأرقام (0-9) وبعض الحروف الأبجدية مثل (E ، A ، H ، P ، إلخ).
Seven Segment Display
تقسم الثمانية مصابيح الى 7 منها على شكل خط مرتبة على شكل رقم “8”، وواحد على شكل دائرة للإشارة إلى الفاصلة العشرية، ويحتوي كل مصباح LED على قطبين الموجب والسالب أحد هذه الأقطاب يتم إخراجها مباشرة من العبوة البلاستيكية ويتم ترقيم هذه الأقطاب بالأحرف من “A” إلى “G”، أما القطب الأخر لكل مصابح يتم توصيلها مع بعضها لتشكيل قطب مشترك واحد.

أقطاب شاشة العرض (Seven Segment)

تحتوي شاشة العرض ذات الأجزاء السبعة (Seven Segment) على 10 أقطاب حيث يتم توصيل القطب المشترك (com) إما في حالة السالب مشترك مع GND أو حالة الموجب مشترك مع VCC على حسب نوع الشاشة، أما أقطاب a و b و c و d و e و f و g و DP يتم توصيلها مع الأقطاب الرقمية الموجودة في Arduino لتشغيل الشاشة من خلال إضاءة المصابيح الفردية يمكنك إنشاء أي رقم.
Pin Diagram of 7-Segment Display

أنواع شاشة العرض (Seven Segment)

1- الموجب مشترك Common Anode (CA)
Seven Segment Common Anode

في نوع شاشة ذات المصاعد المشتركة، يتم توصيل جميع أقطاب المصعد Anode معًا لكل المصابيح LED ويتم توصيلها بـ VCC بشكل دائم خارجياً ويتم التحكم في مصابيح LED عبر أقطاب المهابط Cathode من خلال إعطاءها إشارة LOW ليتم تشغيلها و HIGH ليتم إطفاءها.

2- السالب مشترك Common Cathode (CC)
Seven Segment Common Cathode

في نوع شاشة ذات المهابط المشتركة، يتم توصيل جميع أقطاب الهابط Cathode معًا لكل المصابيح LED ويتم توصيلها بـ GND بشكل دائم خارجياً ويتم التحكم في مصابيح LED عبر أقطاب المصاعد Anode من خلال إعطاءها إشارة HIGH ليتم تشغيلها و LOW ليتم إطفاءها.

enter image description here

كيفية استخدام شاشة العرض (Seven Segment)

واحدة من أهم مميزات شاشة العرض (Seven Segment) هي سهولة استخدامها وعلى عكس الأنواع الأخرى من الشاشات أو الموديولات فأنه يمكن استخدام هذه الشاشة حتى بدون متحكم Microcontroller أو معالج Microprocessor من خلال الدارات المتكاملة IC والمتوفرة بسهولة مثل العداد CD4026 حيث يمكن استخدام هذه الدارة المتكاملة IC مع شاشة العرض (Seven Segment) للمشاريع التي تحتوي على دوائر بسيطة جدًا.
ولكن الأكثر شيوعًا هو استخدام شاشة العرض (Seven Segment) مع وحدات المتحكمات الدقيقة أو المعالجات الدقيقة MCU/MPU في هذه الحالة، سيتم توصيل أقطاب شاشة العرض (Seven Segment) بأقطاب الإدخال/الإخراج الخاصة بالمتحكم وسيتم توصيل القطب المشترك com مع GND أو Vcc اعتمادًا على ذلك نوعها (CC/CA)، ثم يمكن تبديل الإشارات على أقطاب الشاشة وفق تسلسل معين لعرض الأرقام المطلوبة.
والجدول التالي يوضح الأقطاب التي يتم تشغيلها مع الرقم الذي سوف يتم عرضه، فمثلا لعرض إذا أردنا عرض الرقم “0” فنحن بحاجة إلى تشغيل جميع مصابيح LED باستثناء g (انظر مخطط الدبوس المكون من 7 أجزاء أعلاه، لذلك نحتاج إلى نمط بت 11000000، وهكذا لعرض “1” نحن بحاجة إلى تشغيل المصابيح LED الخاصة بـ b وc، وبالتالي فإن نمط البت لهذا سيكون 11111001.

common anode table
common cathode table

توصيل مقاومات الحماية

نحتاج لتوصيل مقاومة حماية لكل مصباح LED من مصابيح الشاشة، السبب في وضع المقاومة حماية هذه المصابيح من الاحتراق لأنها تطلب لتشغيلها جهد قليل والمتحكم يعطي جهد 5 فولت لذلك الجهد الزائد قد يؤدي الى حرق هذه المصابيح أو سحب تيار زائد أكبر من قدرة المتحكم ويؤدي الى ضرره أيضاً لذلك يجب الرجوع إلى الجهد المطلوب، والتيار الأقصى من ورقة البيانات datasheet.

enter image description here
ولحساب قيمة المقاومة المناسبة من خلال العلاقة:

R = (VS - VLED) / ILED

حيث

  • R = مقاومة المصباح LED.
  • Vs = مصدر الجهد.
  • VLED = جهد تشغيل المصباح LED.
  • ILED = تيار الذي يستهلكه المصباح LED.

مثال:
مصدر الجهد الموجود في المتحكم الخاص بالاردوينو هو VS = 5v والجهد الذي يحتاجه المصباح ليعمل بشكل كامل هو 2 فولت ويستهلك تيار 15 مللي أمبير أي 0.015 وبالتالي ثيمة المقاومة المناسبة:

R = (5 – 2)/ 0.015 = 200 Ohm

وبالتالي سوف نختار أقرب قيمة للأكبر موجودة وهي 220 أوم

مواصفات شاشة العرض (Seven Segment)

  • نوع العرض: مصابيح LED ذات 7 قطع إما سالب مشترك أو موجب مشترك
  • تعدد الالوان: تتوفر بألوان مختلفة مثل الأحمر والأخضر والأصفر.
  • الأبعاد: الأحجام الشائعة تتراوح من 0.3 بوصة إلى 2.3 بوصة.
  • جهد التشغيل: الجهد التشغيل هو الجهد المطلوب لتشغيل مصباح LED، ويختلف بناءً على لون LED.
  • تيار التشغيل: التيار التشغيل هو مقدار التيار المطلوب لإعطاء مصباح LED أقصى سطوع له.

توصيل شاشة العرض (Seven Segment) مع الأردوينو

مخطط التوصيل

7segmant with arduino

الكود البرمجي

في البداية سوف نقوم بتعريف الأقطاب التي تم توصيلها مع شاشة العرض (Seven Segment) وفي التابع الرئيس سوف نقوم بضبط هذه الأقطاب الرقمية على أنها أقطاب خرج، وفي التابع التكراري سوف نقوم بعرض الارقام بالتسلسل من 0 الى 9 مع تأخير زمني بمقدار 1 ثانية.

#define a 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
#define g 8 

void  setup()  {
pinMode(a,  OUTPUT);
pinMode(b,  OUTPUT);
pinMode(c,  OUTPUT);
pinMode(d,  OUTPUT);
pinMode(e,  OUTPUT);
pinMode(f,  OUTPUT);
pinMode(g,  OUTPUT);
}

void  loop()  {
digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  LOW);
digitalWrite(f,  LOW);
digitalWrite(g,  HIGH);
delay(1000);

digitalWrite(a,  HIGH);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  HIGH);
digitalWrite(e,  HIGH);
digitalWrite(f,  HIGH);
digitalWrite(g,  HIGH);
delay(1000);

digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  HIGH);
digitalWrite(d,  LOW);
digitalWrite(e,  LOW);
digitalWrite(f,  HIGH);
digitalWrite(g,  LOW);
delay(1000);

digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  HIGH);
digitalWrite(f,  HIGH);
digitalWrite(g,  LOW);
delay(1000);

digitalWrite(a,  HIGH);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  HIGH);
digitalWrite(e,  HIGH);
digitalWrite(f,  LOW);
digitalWrite(g,  LOW);
delay(1000);

digitalWrite(a,  LOW);
digitalWrite(b,  HIGH);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  HIGH);
digitalWrite(f,  LOW);
digitalWrite(g,  LOW);
delay(1000);
  
digitalWrite(a,  LOW);
digitalWrite(b,  HIGH);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  LOW);
digitalWrite(f,  LOW);
digitalWrite(g,  LOW);
delay(1000);
 
digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  HIGH);
digitalWrite(e,  HIGH);
digitalWrite(f,  HIGH);
digitalWrite(g,  HIGH);
delay(1000);

digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  LOW);
digitalWrite(f,  LOW);
digitalWrite(g,  LOW);
delay(1000);
 
digitalWrite(a,  LOW);
digitalWrite(b,  LOW);
digitalWrite(c,  LOW);
digitalWrite(d,  LOW);
digitalWrite(e,  HIGH);
digitalWrite(f,  LOW);
digitalWrite(g,  LOW);
delay(1000);
}

رابط محاكاة المشروع اضغط هنا

مشاركات أقدم المقال التالي
لا يوجد تعليقات
أضف تعليق
عنوان التعليق