جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
اهلا جميعا،
أحب العمل مع شاشات LED مع 7 قطاعات أو باستخدام مصفوفة نقطية وقد قمت بالفعل بالعديد من المشاريع المختلفة معهم.
في كل مرة تكون مثيرة للاهتمام لأن هناك نوعًا من السحر في كيفية عملها لأن ما تراه هو وهم بصري!
تحتوي شاشات العرض على الكثير من المسامير للاتصال بـ Arduino (أو وحدة تحكم دقيقة أخرى) وأفضل حل هو تطبيق تقنيات تعدد إرسال البيانات لتقليل استخدام منافذها.
عند القيام بذلك ، سيتم تشغيل كل جزء أو كل مؤشر LED لبضع لحظات (ميلي ثانية أو أقل) ، ولكن تكرار ذلك في عدة مرات في الثانية يخلق الوهم بالصورة التي تريد عرضها.
الشيء الأكثر إثارة بالنسبة لي هو تطوير المنطق ، البرنامج لمعرفة كيف يمكنهم إظهار المعلومات الصحيحة وفقًا لمشروعك.
في مشروع واحد ، يتطلب استخدام شاشات العرض العديد من الوقت لتجميع جميع المكونات على لوح التجارب مع العديد من الأسلاك للتوصيلات.
أعلم أن هناك العديد من شاشات العرض المختلفة في السوق التي تعمل مع I2C ، بطرق مبسطة (أو لا) ، لبرمجتها وقد استخدمتها أيضًا ولكني أفضل العمل مع المكونات القياسية مثل 74HC595 (متعدد الإرسال IC) و ULN2803 (برامج التشغيل) لأن إنها تمنحك مزيدًا من التحكم في برنامجك وأيضًا المزيد من المتانة والموثوقية في استخدامك.
لتبسيط عملية التجميع ، قمت بتطوير وحدة Dipslay LED لأغراض متعددة باستخدام مكونات بسيطة ومشتركة في عالم Arduino.
باستخدام هذه الوحدة ، يمكنك العمل مع مصفوفة نقطية مع مصابيح LED ثنائية الألوان بحجمين قياسيين (أكبر وأصغر) ، كما يمكنك التحكم في شاشة 7 Seg x 4 Digits الشائعة جدًا ويسهل العثور عليها في السوق.
ويمكنك أيضًا العمل مع هذه الوحدات في تسلسل بطريقة تسلسلية (بيانات مختلفة في شاشات العرض) أو بطريقة متوازية (نفس البيانات في شاشات العرض).
لذلك دعونا نرى كيف يمكن أن تعمل هذه الوحدة ومساعدتك في تطويراتك!
الفيديو (وحدة عرض LED)
فيديو (اختبار المصفوفة النقطية)
يعتبر،
لاغسيلفا
الخطوة 1: المكونات
PCB (لوحة الدوائر المطبوعة)
- 74HC595 (03 ×)
- ULN2803 (02 x)
- الترانزستور PNP - BC327 (08 ×)
- مقاوم 150 أوم (16 ×)
- المقاوم 470 أوم (08 ×)
- مكثف 100 nF (03 x)
- مقبس IC 16 دبابيس (03 ×)
- مقبس IC 18 دبابيس (02 x)
- موصل دبوس أنثى - 6 دبابيس (8 ×)
- رؤوس الدبوس 90º (01 ×)
- رؤوس الدبوس 180 درجة (01 ×)
- Conector Borne KRE 02 دبابيس (02 x)
- PCB (01 x) - مصنعة
آحرون
- اردوينو اونو R3 / نانو / مشابه
- شاشة LED 04 أرقام × 7 شرائح - (الأنود المشترك)
- مصفوفة نقطية LED ثنائية اللون (أخضر وأحمر) - (الأنود المشترك)
ملاحظات مهمة:
- أضع ورقة البيانات لجميع المكونات الأكثر أهمية كمرجع فقط ولكن يجب عليك التحقق من ورقة البيانات الخاصة بالمكونات الخاصة بك قبل استخدامها.
- تم تصميم هذه اللوحة لاستخدام شاشات عرض الأنود المشترك فقط.
الخطوة 2: النماذج الأولية الأولى
تم عمل النموذج الأولي الخاص بي على لوح تجارب لاختبار الدائرة.
بعد ذلك قمت بعمل نموذج أولي آخر باستخدام لوحة عالمية كما ترون في الصور.
هذا النوع من اللوحات مثير للاهتمام لإنتاج نموذج أولي سريع لكنك تدرك أنه لا يزال يحتفظ بالكثير من الأسلاك.
إنه حل عملي ولكنه ليس أنيقًا مقارنةً بثنائي الفينيل متعدد الكلور النهائي (الأزرق).
أنا لست جيدًا في اللحام لأنني لا أمتلك خبرة كافية في هذه العملية ، لكن حتى هذا حصلت على نتائج جيدة مع كلتا التجربتين والأهم من ذلك: لم أحرق أي مكون ولا يدي!
من المحتمل أن تكون النتائج على لوحتي التالية أفضل بسبب الممارسة.
بسبب هذا ، أشجعك على تجربة هذا النوع من الخبرة لأنها ستكون ممتازة بالنسبة لك.
فقط ضع في اعتبارك أن تهتم بالمكواة الساخنة وحاول ألا تقضي أكثر من بضع ثوانٍ على أحد المكونات لتجنب حرقه !!
وأخيرًا ، على Youtube ، يمكنك العثور على العديد من مقاطع الفيديو حول اللحام التي يمكنك تعلمها قبل الانتقال إلى العالم الحقيقي.
الخطوة 3: تصميم ثنائي الفينيل متعدد الكلور
لقد صممت لوحة PCB هذه باستخدام برنامج مخصص لإنتاج لوحة ثنائية الطبقات وتم تطويرها عدة إصدارات مختلفة قبل هذا الأخير.
في البداية ، كان لدي إصدار واحد لكل نوع من شاشات العرض وبعد كل شيء قررت دمج كل شيء في إصدار واحد فقط.
أهداف التصميم:
- بسيطة ومفيدة للنماذج الأولية.
- سهل الإعداد وقابل للتوسعة.
- قادرة على استخدام 3 أنواع مختلفة من شاشات العرض.
- أقصى عرض لمصفوفة نقطية كبيرة لمصباح LED.
- الطول الأقصى 100 مم لتقليل تكاليف إنتاج اللوح.
- قم بتطبيق المكونات التقليدية بدلاً من SMD لتجنب المزيد من الصعوبات أثناء عملية اللحام اليدوي.
- يجب أن تكون اللوحة معيارية ليتم توصيلها بلوحات أخرى في سلسلة.
- الإخراج التسلسلي أو المتوازي للوحات أخرى.
- يجب التحكم في العديد من اللوحات بواسطة Arduino فقط.
- 3 أسلاك بيانات فقط لاتصال Arduino.
- اتصال طاقة خارجي 5 فولت.
- زيادة المتانة الكهربائية باستخدام الترانزستورات والمحركات (ULN2803) للتحكم في LEDS.
ملاحظة:
فيما يتعلق بهذا العنصر الأخير ، أوصيك بقراءة تعليماتي الأخرى حول هذه المكونات:
استخدام Shift Register 74HC595 مع ULN2803 و UDN2981 و BC327
تصنيع ثنائي الفينيل متعدد الكلور:
بعد الانتهاء من التصميم ، أرسلته إلى مصنع ثنائي الفينيل متعدد الكلور في الصين بعد العديد من عمليات البحث مع موردين محليين مختلفين وفي بلدان مختلفة.
كانت المشكلة الرئيسية تتعلق بكمية اللوحات مقابل التكلفة لأنني بحاجة إلى عدد قليل منها فقط.
أخيرًا ، قررت تقديم طلب منتظم (ليس أمرًا صريحًا بسبب ارتفاع التكاليف) من 10 لوحات فقط مع شركة في الصين.
بعد 3 أيام فقط ، تم تصنيع الألواح وإرسالها إلي للعبور حول العالم في أكثر من 4 أيام.
كانت النتائج ممتازة !!
في غضون أسبوع واحد بعد طلب الشراء ، كانت اللوحات في يدي وقد تأثرت حقًا بجودتها العالية وسرعتها السريعة!
الخطوة 4: البرمجة
بالنسبة للبرمجة ، يجب أن تضع في اعتبارك بعض المفاهيم المهمة حول تصميم الأجهزة وحول سجل الإزاحة 74HC595.
تتمثل الوظيفة الرئيسية لـ 74HC595 في تحويل 8 بت Serial-In إلى 8 Parallel-Out Shift.
تذهب جميع البيانات التسلسلية إلى Pin # 14 وفي كل إشارة على مدار الساعة ، تنتقل البتات إلى المسامير الموازية المقابلة (Qa to Qh).
إذا كنت لا تزال ترسل المزيد من البيانات ، فسيتم نقل البتات واحدة تلو الأخرى إلى Pin # 9 (Qh ') كإخراج تسلسلي مرة أخرى وبسبب هذه الوظيفة يمكنك وضع شرائح أخرى متصلة في سلسلة.
الأهمية:
في هذا المشروع لدينا ثلاثة ICs من 74HC595. أول اثنين يعملان على التحكم في الأعمدة (بمنطق إيجابي) والآخر للتحكم في الخطوط (مع منطق سلبي بسبب عمل ترانزستورات PNP).
يعني المنطق الإيجابي أنه يجب عليك إرسال إشارة عالية المستوى (+ 5 فولت) من Arduino ويعني المنطق السلبي أنه يجب عليك إرسال إشارة مستوى منخفض (0V).
مصفوفة نقطية لمصابيح LED
- الأول هو لمخرجات كاثودات المصابيح الحمراء (8 ×) >> COLUMN RED (1 إلى 8).
- والثاني هو الإخراج L من كاثودات المصابيح الخضراء (8 ×) >> COLUMN GREEN (1 إلى 8).
- آخر واحد لإخراج الأنودات لجميع مصابيح LED (08 × أحمر وأخضر) >> خطوط (من 1 إلى 8).
على سبيل المثال ، إذا كنت تريد تشغيل مؤشر LED الأخضر فقط للعمود 1 والسطر 1 ، فيجب عليك إرسال التسلسل التالي من البيانات التسلسلية:
1º) الخطوط
~ 10000000 (تم ضبط السطر الأول فقط على تشغيل) - الرمز ~ هو قلب كل البتات من 1 إلى 0 والعكس صحيح.
2º) عمود أخضر
10000000 (تم ضبط العمود الأول من مؤشر LED الأخضر فقط على وضع التشغيل)
3º) عمود أحمر
00000000 (جميع أعمدة المصابيح الحمراء متوقفة)
بيانات اردوينو:
shiftOut (dataPin ، clockPin ، LSBFIRST ، ~ B10000000) ؛ // المنطق السلبي للخطوط
shiftOut (dataPin ، clockPin ، LSBFIRST ، B10000000) ؛ // المنطق الإيجابي للأعمدة الخضراء
shiftOut (dataPin ، clockPin ، LSBFIRST ، B00000000) ؛ // المنطق الإيجابي للأعمدة الحمراء
ملاحظة:
يمكنك أيضًا الجمع بين مصابيح LED (الأخضر والأحمر) لإنتاج اللون الأصفر على النحو التالي:
shiftOut (dataPin ، clockPin ، LSBFIRST ، ~ B10000000) ؛
shiftOut (dataPin ، clockPin ، LSBFIRST ، B10000000) ؛
shiftOut (dataPin ، clockPin ، LSBFIRST ، B10000000) ؛
عرض 7 شرائح
بالنسبة لهذا النوع من العروض ، يكون التسلسل هو نفسه. الاختلاف الوحيد هو أنك لست بحاجة إلى استخدام المصابيح الخضراء.
1º) DIGIT (من 1 إلى 4 من اليسار إلى اليمين) ~ 10000000 (الرقم المحدد رقم 1)
~ 01000000 (الرقم المحدد # 2)
~ 00100000 (رقم محدد # 3)
~ 00010000 (رقم محدد # 4)
2º) غير مستخدم
00000000 (كل البتات مضبوطة على الصفر)
3º) المقاطع (A إلى F و DP - تحقق من ورقة بيانات العرض)
10000000 (مجموعة الجزء أ)
01000000 (مجموعة الجزء ب)
00100000 (مجموعة الجزء ج)
00010000 (مجموعة الجزء D)
00001000 (مجموعة الجزء هـ)
00000100 (مجموعة الجزء و)
00000010 (مجموعة الجزء G)
00000001 (مجموعة DP)
مثال من Arduino لضبط Display # 2 بالرقم 3:
shiftOut (dataPin ، clockPin ، LSBFIRST ، ~ B01000000) ؛ // تعيين العرض 2 (منطق سلبي)
shiftOut (dataPin ، clockPin ، LSBFIRST ، 0) ؛ // ضبط البيانات على صفر (غير مستخدم)
shiftOut (dataPin ، clockPin ، LSBFIRST ، B11110010) ؛ // تعيين المقاطع A ، B ، C ، D ، G)
أخيرًا ، بتطبيق هذه العملية ، يمكنك التحكم في أي LED لشاشتك وأيضًا يمكنك إنشاء أي أحرف خاصة تحتاجها.
الخطوة 5: الاختبار
فيما يلي برنامجان كمثال على وظائف وحدة العرض.
1) عرض العد التنازلي (من 999.9 ثانية إلى الصفر)
2) مصفوفة نقطية (الأرقام من 0 إلى 9 والأبجدية من الألف إلى الياء)
3) ساعة رقمية RTC في شاشة LED مكونة من 4 أرقام و 7 أجزاء
هذا الأخير هو تحديث لإصداري الأول من Digital Clock.
الخطوة 6: الخاتمة والخطوات التالية
ستكون هذه الوحدة مفيدة في جميع المشاريع المستقبلية التي تتطلب بعض شاشات LED.
كخطوات تالية ، سأقوم بتجميع المزيد من اللوحات للعمل معها في وضع التتالي وسأقوم بتطوير مكتبة لتبسيط البرمجة بشكل أكبر.
أتمنى أن تكون قد استمتعت بهذا المشروع.
من فضلك ، أرسل لي تعليقاتك لأن هذا مهم لتحسين المشروع ومعلومات هذا Instructable.
يعتبر،
لاغسيلفا
26 مايو 2016