شاشة العرض (Seven Segment)
مقدمة
في الوقت الحالي، تعد عناصر العرض ميزة ضرورية لأي جهاز إلكتروني، حيث يجعل تفاعل المستخدم أسهل بكثير مع هذا الجهاز، وهناك خيارات وأنواع عديدة من هذه العناصر التي يمكنك استخدامها في مشروعك القادم، بدءاً من شاشة العرض ذات الأجزاء السبعة (Seven Segment) إلى شاشات LCD أو حتى الصور المجسمة، وفي هذا المقال سوف نتحدث عن هذا العنصر الذي تم استخدامه في الصناعة لعقود من الزمان، شاشة العرض ذات الأجزاء السبعة (Seven Segment).
تم تصميم شاشات العرض المكونة من سبعة أجزاء لعرض القيم الرقمية حيث يمكنك العثور عليها في أي مكان من الأدوات إلى المكوكات الفضائية، وتتميز بأنها الطريقة الأكثرانتشاراً لعرض القيم الرقمية، فهي رخيصة وسهلة الاستخدام، بالإضافة الى أنها سهلة القراءة في أي حالة إضاءة، على عكس شاشات LCD، يمكنك العثور عليها في العديد من الاستخدامات اليومية مثل العدادات أو الميزان الالكتروني الساعات الرقمية الكبيرة …إلخ.
ما هي شاشة العرض (Seven Segment)
تتكون شاشة العرض ذات الأجزاء السبعة من ثمانية مصابيح LED، يشار إلى كل LED
على أنه مقطع لأنه عندما يضيء فإنه يشكل جزءًا من رقم، ويمكن تشغيل أو إطفاء كل
مصباج بشكل منفصل عن طريق إعطاء القطب المقابل HIGH أو LOW، تمامًا مثل أي
مصباح LED عادي، من خلال تشغيل المصابيح المناسبة يمكن استخدامها لعرض الأرقام
(0-9) وبعض الحروف الأبجدية مثل (E ، A ، H ، P ، إلخ).
تقسم الثمانية مصابيح الى 7 منها على شكل خط مرتبة على شكل رقم “8”، وواحد على
شكل دائرة للإشارة إلى الفاصلة العشرية، ويحتوي كل مصباح LED على قطبين الموجب
والسالب أحد هذه الأقطاب يتم إخراجها مباشرة من العبوة البلاستيكية ويتم ترقيم
هذه الأقطاب بالأحرف من “A” إلى “G”، أما القطب الأخر لكل مصابح يتم توصيلها مع
بعضها لتشكيل قطب مشترك واحد.
أقطاب شاشة العرض (Seven Segment)
تحتوي شاشة العرض ذات الأجزاء السبعة (Seven Segment) على 10 أقطاب حيث يتم
توصيل القطب المشترك (com) إما في حالة السالب مشترك مع GND أو حالة الموجب
مشترك مع VCC على حسب نوع الشاشة، أما أقطاب a و b و c و d و e و f و g و DP
يتم توصيلها مع الأقطاب الرقمية الموجودة في Arduino لتشغيل الشاشة من خلال
إضاءة المصابيح الفردية يمكنك إنشاء أي رقم.
أنواع شاشة العرض (Seven Segment)
1- الموجب مشترك Common Anode (CA)
في نوع شاشة ذات المصاعد المشتركة، يتم توصيل جميع أقطاب المصعد Anode معًا لكل المصابيح LED ويتم توصيلها بـ VCC بشكل دائم خارجياً ويتم التحكم في مصابيح LED عبر أقطاب المهابط Cathode من خلال إعطاءها إشارة LOW ليتم تشغيلها و HIGH ليتم إطفاءها.
2- السالب مشترك Common Cathode (CC)
في نوع شاشة ذات المهابط المشتركة، يتم توصيل جميع أقطاب الهابط Cathode معًا لكل المصابيح LED ويتم توصيلها بـ GND بشكل دائم خارجياً ويتم التحكم في مصابيح LED عبر أقطاب المصاعد Anode من خلال إعطاءها إشارة HIGH ليتم تشغيلها و LOW ليتم إطفاءها.
كيفية استخدام شاشة العرض (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.
توصيل مقاومات الحماية
نحتاج لتوصيل مقاومة حماية لكل مصباح LED من مصابيح الشاشة، السبب في وضع المقاومة حماية هذه المصابيح من الاحتراق لأنها تطلب لتشغيلها جهد قليل والمتحكم يعطي جهد 5 فولت لذلك الجهد الزائد قد يؤدي الى حرق هذه المصابيح أو سحب تيار زائد أكبر من قدرة المتحكم ويؤدي الى ضرره أيضاً لذلك يجب الرجوع إلى الجهد المطلوب، والتيار الأقصى من ورقة البيانات datasheet.
ولحساب قيمة المقاومة المناسبة من خلال العلاقة:
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) مع الأردوينو
مخطط التوصيل
الكود البرمجي
في البداية سوف نقوم بتعريف الأقطاب التي تم توصيلها مع شاشة العرض (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);
}
رابط محاكاة المشروع اضغط هنا