seven 7 segment المقطعات السباعية
نراها في العديد من الأجهزة , قد تستخدم كعدّاد , أو كساعة رقمية , أو لعرض القيم العددية للحساسات .
في هذه السلسة سنحاول عرض شرح مفصل , لكيفية التحكم بالمقطعات السباعية و دمج لغة أردوينو معها .
في البداية , ما هي المقطعات السباعية ؟
هو عبارة وسيلة عرض الكترونية لعرض الأرقام بالصيغة العشرية "Decimal numeric " , و هي مجموعة بواعث ضوئية LED مربوطة على التوازي من طرف واحد , يربط إما مع التغذية Vcc و يسمى وقتها ب Common anode مشترك موجب أو مربط مع السالب Gnd و يسمى وقتها Common cathode مشترك سالب .
هذه البواعث الضوئية توضع في ترتيب بحيث تظهر على شكل رقم 8 .
يمكن أن تأتي في عدة أشكال و تعليبات مختلفة , فقد تأتي بخانة واحدة
او خانتين
أو ثلاث خانات
أو أربعة خانات
لكل تعليب وظيفة و توصيلها لا يختلف كثير عن الأخرى .
سأشرح عن كل نوع و سنفهم كيفية توصيله و برمجته .
سنبدأ بالأسهل ألا و هو المقطع السباعي بخانة واحدة .
كيفية التحكم ؟
سنقسم طرق التحكم " قيادة " المقطعات السباعية إلى :
1) التحكم مباشرة من بطاقة الأردوينو .
2) باستخدام مسجل الإزاحة Shift register 74595 .
3) باستخدام الدارة المتكاملةMax7219 .
سنعطي كل طريقة على حدا , كما سنرى بعد قليل :
جهّز معداتك :
ستحتاج إلى هذه المعدات لكي تقوم بهذه التجربة :
1) بطاقة أردوينو Arduino .
2) اسلاك توصيل Solderless Jumper
3)مقطّع سُباعي 7segment " تغذية مشتركة CA أو سالب مشترك CC "
4) لوحة تعليمية مثقوبة BreadBoard .
5) مقاومات 150 أوم
5) مقاومات 150 أوم
6) مسجل إزاحة Shift Register 74959 " اختياري في حال أحببت الإنتقال إلى طريقة التحكم باستخدام مسجل الإزاحة"
لنبدأ :)
1) التحكم مباشرة من بطاقة الأردوينو .
طريقة التوصيل :
مهما كان نوع المقطع السباعي 7seg الذي تستخدمه , كل ما عليك هو توصيل الأرجل من أردوينو إلى المقطع السباعي حسب الترتيب التالي
المقاومة " 150 أوم " توضع لتقليل التيار المار في المقطع السباعي , لكي لا يتلف و يتم اختيار قيمتها من 25 - 470 أوم .
التوصيل سهل كما رأيتم , لننتقل الآن للبرمجة .
البرمجة
الفكرة في كتابة البرنامج سهلة .
في حالتنا هذه , أنا استخدمت مقطع سباعي 7segment ذو قطب تغذية مشترك CA , في الحالة العادية يكون طرف الباعث الضوئي موصول للتغذية و الطرف الآخر موصول مع طرف المتحكم الموصول ببطاقة الأردوينو .
مدخل المتحكم يعمل كمصرف للتيار Current sink فلو تم تهيئته على وضع منخفضLOW فيمكن للتيار العبور و يضيئ الباعث الضوئي في المقطّع السباعي 7segment .
أما لو كان مدخل المتحكم موضوع على وضع مرتفعHIGH فلن يسمح للتيار بالمرور و هكذا لن يضيئ الباعث الضوئي في المقطّع السباعي 7segment .
في جملة الإعداد للبرنامج , نقوم بتعريف المداخل من D2-D9 كمخارج كما يلي
سنستخدم هنا تقنية تعلمناها منذ الصغر , ألا وهو جدول الحقيقة Truth table أو ما يسمى أحياناً look_up table و الذي يمكننا من اختيار حالة كل مدخل من مداخل المتحكم الموصولة مع المقطع السباعي و هل نريدها في حالة HIGH Or LOW .
كمثال , لنفرض أننا نريد أن نضيئ الرقم 1 على المقطع السباعي , في حالة الCA يجب أن يكون فقط المدخلين الموصولين مع a,b في حالة منخفض LOW و الباقي في وضع مرتفع HIGH
و العكس لو كان CC , و هكذا ...
و سنكتب داخل كود البرنامج الجملة التالية :
و كلما أردنا أن نظهر الرقم 1 نقوم باستدعاء هذه الجملة داخل الvoid loop في البرنامج .
الكود التالي يقوم بإظهار الأعداد من 0-9 بفارق زمني قدره 500ms
في حالة القطب السالب المشترك CC كل ما عليك فعله هو عكس الحالات , فبدل كل HIGHنضع LOW و العكس صحيح .و هذا الفيديو البسيط يوضح كيف تظهر النتائج بعد تحميل البرنامج على المتحكم .
اخي ارجو ان تشرح طريقه ربط الارقام الرباعي وانا شاكر جهودك
ردحذفجزاكم الله خيرا
ردحذف