جدول المحتويات:

مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing: 7 خطوات
مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing: 7 خطوات

فيديو: مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing: 7 خطوات

فيديو: مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing: 7 خطوات
فيديو: Adafruit Matrix Portal - RGB LED Display Assembly Tutorial #adafruit 2024, يوليو
Anonim
مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing
مصفوفة شاشة LED مقاس 5 × 4 باستخدام طابع أساسي 2 (bs2) و Charlieplexing

هل لديك طابع أساسي 2 وبعض مصابيح LED الإضافية؟ لماذا لا تتلاعب بمفهوم charlieplexing وإنشاء إخراج باستخدام 5 دبابيس فقط.

بالنسبة لهذا التوجيه ، سأستخدم BS2e ولكن يجب أن يعمل أي فرد من عائلة BS2.

الخطوة 1: Charlieplexing: ماذا ولماذا وكيف

دعنا نتعرف على سبب الخروج من الطريق أولاً. لماذا تستخدم Charlieplexing مع Basic Stamp 2؟ - إثبات المفهوم: تعرف على كيفية عمل charlieplexing وتعلم شيئًا عن BS2. قد يكون هذا مفيدًا بالنسبة لي لاحقًا باستخدام شرائح أسرع ذات 8 أسنان (5 منها فقط ستكون i / o). - - سبب مفيد: لا يوجد شيء في الأساس. BS2 بطيء جدًا في العرض دون وميض ملحوظ. لقد تعلمت عن charlieplexing من www.instructables.com ويمكنك أيضًا: Charlieplexing LEDs- النظرية كيفية قيادة الكثير من مصابيح LED من عدد قليل من دبابيس متحكم. أيضًا في ويكيبيديا: Charlieplexing كيف يمكنني قيادة 20 مصباحًا ضوئيًا مع 5 دبابيس إدخال / إخراج؟ - يرجى قراءة الروابط الثلاثة الموجودة ضمن "ما هو charlieplexing؟". هذا يفسر الأمر بشكل أفضل من أي وقت مضى. يختلف Charlieplexing عن تعدد الإرسال التقليدي الذي يحتاج إلى دبوس إدخال / إخراج واحد لكل صف وكل عمود (سيكون إجمالي 9 دبابيس إدخال / إخراج لشاشة 5/4).

الخطوة 2: الأجهزة والتخطيط

الأجهزة والتخطيطي
الأجهزة والتخطيطي

قائمة المواد: 1x - Basic Stamp 220x - الثنائيات الباعثة للضوء (LED) من نفس النوع (انخفاض اللون والجهد) 5x - المقاومات (انظر أدناه فيما يتعلق بقيمة المقاوم) المساعد / الاختياري: طريقة برمجة زر الضغط BS2Momactive كمفتاح إعادة تعيين 6v -9v مزود الطاقة وفقًا لإصدار BS2 الخاص بك (اقرأ الدليل الخاص بك) التخطيطي: يتم وضع هذا التخطيطي مع التخطيط الميكانيكي في الاعتبار. سترى شبكة مصابيح LED مثبتة على اليسار ، وهذا هو الاتجاه الذي تمت كتابة رمز BS2 من أجله. لاحظ أن كل زوج من مصابيح LED له أنود متصل بالكاثود للآخر. ثم يتم توصيلها بواحد من خمسة منافذ إدخال / إخراج. قيم المقاوم: يجب عليك حساب قيم المقاوم الخاصة بك. تحقق من ورقة البيانات الخاصة بمصابيح LED الخاصة بك أو استخدم إعداد LED على جهاز القياس الرقمي المتعدد الخاص بك للعثور على انخفاض الجهد لمصابيح LED الخاصة بك. دعنا نقوم ببعض الحسابات: إمداد الجهد - انخفاض الجهد / التيار المطلوب = قيمة المقاوم يوفر BS2 طاقة منظمة 5 فولت ، ويمكن أن مصدر 20ma من التيار. تتمتع مصابيح LED الخاصة بي بانخفاض 1.6 فولت وتعمل عند 20 مللي أمبير. لقد استخدمت 220 أوم لأن لوحة التطوير الخاصة بي بها قيمة المقاوم المضمنة فيها لكل دبوس إدخال / إخراج. ملاحظة: أعتقد أنه نظرًا لوجود مقاوم على كل دبوس ، فإن هذا يضاعف بشكل فعال المقاومة على كل مصباح نظرًا لأن أحدهما هو V + والآخر هو Gnd. إذا كانت هذه هي الحالة ، يجب عليك تقليل قيم المقاوم بمقدار النصف. التأثير المعاكس لارتفاع قيمة المقاوم هو ضوء LED باهت. هل يمكن لأي شخص التحقق من ذلك وترك لي رسالة أو تعليق حتى أتمكن من تحديث هذه المعلومات؟ البرمجة: كنت أستخدم لوحة تطوير بها موصل DB9 لبرمجة الشريحة مباشرة على اللوحة. أنا أيضًا أستخدم هذه الشريحة على لوح التجارب الذي لا يحتوي على لحام وقد قمت بتضمين رأس برمجة تسلسلية داخل الدائرة (ICSP). الرأس عبارة عن 5 دبابيس ، والدبابيس من 2 إلى 5 تتصل بالدبابيس 2-5 على كبل تسلسلي DB9 (السن 1 غير مستخدم). يرجى ملاحظة أنه لاستخدام دبابيس رأس ICSP 6 و 7 على كابل DB9 ، يجب توصيلهما ببعضهما البعض. إعادة التعيين: زر إعادة الضبط المؤقت اختياري. هذا فقط يسحب الدبوس 22 إلى الأرض عند دفعه.

الخطوة 3: اللوح

اللوح
اللوح
اللوح
اللوح

حان الوقت الآن لبناء المصفوفة على لوح التجارب ، لقد استخدمت شريطًا طرفيًا لربط ساق واحدة من كل زوج LED معًا وسلك توصيل صغير لتوصيل الأرجل الأخرى. هذا مفصل في الصورة المقربة ويتم شرحه بالتفصيل هنا: 1. وجّه اللوح بحيث يتطابق مع الصورة الأكبر 2. ضع مؤشر LED 1 مع الأنود (+) نحوك والكاثود (-) بعيدًا عنك.3. ضع مؤشر LED 2 في نفس الاتجاه مع الأنود (+) في الشريط الطرفي الموصل لكاثود LED 1. استخدم سلك توصيل صغير لتوصيل أنود LED 1 مع كاثود LED 2.5. كرر ذلك حتى تتم إضافة كل زوج من مصابيح LED إلى اللوحة ، وأستخدم ما يمكن أن يكون عادةً شرائط ناقل الطاقة للوحة الخبز كشرائط ناقل لمنافذ الإدخال / الإخراج BS2. نظرًا لوجود 4 خطوط ناقل فقط ، أستخدم شريطًا طرفيًا لـ P4 (اتصال الإدخال / الإخراج الخامس). يمكن رؤية هذا في الصورة الأكبر أدناه. قم بتوصيل الشريط الطرفي لكاثود LED 1 بشريط ناقل P0. كرر لكل زوج LED مرقّم فرديًا ليحل محل P * المناسب لكل زوج (انظر التخطيطي).7. قم بتوصيل الشريط الطرفي لكاثود LED 2 بشريط ناقل P1. كرر لكل زوج LED مرقّم فرديًا ليحل محل P * المناسب لكل زوج (انظر التخطيطي). قم بتوصيل كل شريط ناقل بدبوس الإدخال / الإخراج المناسب على BS2 (P0-P4).9. تحقق من جميع التوصيلات للتأكد من أنها تتطابق مع التخطيطي. احتفال. ملاحظة: في اللقطة المقربة ، سترى أنه لا يبدو أنني اتبعت الخطوة 7 لأن الاتصال بدبوس الإدخال / الإخراج الثاني موجود على الأنود الخاص بمصابيح LED ذات الأرقام الفردية. تذكر أن الكاثود الخاص بمصابيح LED ذات الأرقام الزوجية متصل بالأنود الخاص بمصابيح LED ذات الأرقام الفردية بحيث يكون الاتصال هو نفسه في كلتا الحالتين. إذا كانت هذه الملاحظة تربكك ، فقط تجاهلها.

الخطوة 4: أساسيات البرمجة

لكي يعمل charlieplexing ، تقوم بتشغيل واحد فقط في كل مرة. لكي يعمل هذا مع BS2 الخاص بنا ، نحتاج إلى خطوتين أساسيتين: 1. اضبط أوضاع الإخراج للدبابيس باستخدام الأمر OUTS. أخبر BS2 عن المسامير التي يجب استخدامها كمخرجات باستخدام الأمر DIRS ، يعمل هذا لأنه يمكن إخبار BS2 بالدبابيس التي ستقود عاليًا ومنخفضًا وستنتظر القيام بذلك حتى تحدد أي دبابيس هي المخرجات. مجرد محاولة وميض LED 1. إذا نظرت إلى المخطط ، يمكنك أن ترى أن P0 متصل بالكاثود (-) من LED 1 وأن P1 متصل بالأنود من نفس الصمام. هذا يعني أننا نريد دفع P0 منخفضًا و P1 مرتفعًا. يمكن القيام بذلك على النحو التالي: "OUTS =٪ 11110" الذي يدفع P4-P1 مرتفعًا و P0 منخفضًا. (٪ يشير إلى رقم ثنائي يجب اتباعه. أدنى رقم ثنائي يكون دائمًا على اليمين. 0 = منخفض ، 1 = مرتفع) يقوم BS2 بتخزين هذه المعلومات ولكن لن يعمل على أساسها حتى نعلن أي الدبابيس هي مخرجات. هذه الخطوة هي المفتاح حيث يجب أن يكون هناك دبابيس فقط في نفس الوقت. يجب أن يكون الباقي عبارة عن مدخلات ، والتي تحدد تلك المسامير في وضع مقاومة عالية حتى لا تغرق أي تيار. نحتاج إلى قيادة P0 و P1 لذلك سنقوم بتعيينها على المخرجات والباقي على المدخلات مثل: "DIRS =٪ 00011". (٪ تشير إلى رقم ثنائي يجب اتباعه. يكون أدنى رقم ثنائي دائمًا على اليمين. 0 = INPUT، 1 = OUTPUT) دعونا نجمع ذلك معًا في بعض التعليمات البرمجية المفيدة: '{$ STAMP BS2e}' {$ PBASIC 2.5} DO OUTS =٪ 11110 'Drive P0 low and P1-P4 high DIRS =٪ 00011' Set P0- P1 كمخرجات و P2-P4 كمدخلات PAUSE 250 'توقف مؤقتًا لكي يظل LED على DIRS = 0' اضبط جميع المسامير على الإدخال. سيؤدي هذا إلى إيقاف تشغيل LED PAUSE 250 'Pause حتى يظل LED مغلقًا

الخطوة الخامسة: دورة التطوير

الآن وقد رأينا وقت عمل دبوس واحد للتأكد من أنها تعمل جميعًا. ستلاحظ أنه بعد إضاءة كل دبوس ، أستخدم "DIRS = 0" لإعادة جميع المسامير إلى مدخلات. إذا قمت بتغيير OUTS دون إيقاف تشغيل دبابيس الإخراج ، فقد تحصل على بعض "الظلال" حيث قد يومض المصباح الذي لا يجب أن يضيء بين الدورات. إذا قمت بتغيير متغير W1 في بداية هذا الرمز إلى "W1 = 1" هناك سيكون توقفًا مؤقتًا مدته 1 مللي ثانية فقط بين كل وميض LED. سيؤدي ذلك إلى استمرار تأثير الرؤية (POV) الذي يجعلها تبدو وكأن جميع مصابيح LED مضاءة. هذا له تأثير في جعل مصابيح LED باهتة ولكنه جوهر كيفية عرض الأحرف في هذه المصفوفة. المصابيح في نمط صالح للاستخدام. هذا الملف هو محاولتي الأولى. سترى أنه في الجزء السفلي من الملف يتم تخزين الأحرف في أربعة أسطر من 5 أرقام ثنائية. تتم قراءة كل سطر وتحليله ويتم استدعاء روتين فرعي في كل مرة يحتاج فيها المصباح إلى الإضاءة. يعمل هذا الرمز ، ويتنقل عبر الأرقام من 1 إلى 0. إذا حاولت تشغيله ، لاحظ أنه يعاني من معدل تحديث بطيء للغاية مما يتسبب في وميض الأحرف بشكل بطيء جدًا بحيث يتعذر التعرف عليها. هذا الرمز سيء لأسباب عديدة. أولاً ، تشغل خمسة أرقام من النظام الثنائي مساحة في EEPROM تساوي 8 أرقام من النظام الثنائي حيث يتم تخزين جميع المعلومات في مجموعات من أربع بتات. ثانيًا ، تتطلب SELECT CASE المستخدمة لتحديد الدبوس الذي يجب أن تضاء 20 حالة. يقتصر BS2 على 16 حالة لكل عملية SELECT. هذا يعني أنني اضطررت للتغلب على هذا القيد ببيان IF-THEN-ELSE يجب أن تكون هناك طريقة أفضل. بعد بضع ساعات من حك الرأس اكتشفته.

الخطوة 6: مترجم أفضل

يتكون كل صف من المصفوفة الخاصة بنا من 4 مصابيح LED ، يمكن تشغيل كل منها أو إيقاف تشغيلها. يخزن BS2 المعلومات في EEPROM الخاص به في مجموعات من أربع بتات. يجب أن يجعل هذا الارتباط الأمور أسهل علينا ، بالإضافة إلى هذه الحقيقة ، تتوافق أربع بتات مع الأعداد العشرية من 0 إلى 15 ليصبح المجموع 16 احتمالًا. هذا يجعل أو SELECT CASE أسهل بكثير. هنا هو الرقم 7 كما تم تخزينه في EEPROM: '7٪ 1111 ،٪ 1001 ،٪ 0010 ،٪ 0100 ،٪ 0100 ، كل صف له رقم عشري مكافئ لـ 0-15 لذلك نقرأ صف من الذاكرة وأدخلها مباشرة إلى وظيفة SELECT CASE. هذا يعني أن المصفوفة الثنائية التي يمكن قراءتها من قبل الإنسان والمستخدمة لجعل كل حرف (1 = تشغيل ، 0 = إيقاف تشغيل) هو المفتاح للمترجم. من أجل استخدام نفس حالة التحديد لكل من الصفوف الخمسة ، استخدمت حالة تحديد أخرى لتعيين DIRS و OUTS كمتغيرات. قرأت أولاً في كل سطر من الأسطر الخمسة للحرف إلى المتغيرات ROW1-ROW5. ثم يقوم البرنامج الرئيسي باستدعاء الروتين الفرعي لعرض الشخصية. يأخذ هذا الروتين الفرعي الصف الأول ويعين مجموعات OUTS الأربعة المحتملة إلى متغير outp1-outp4 ومجموعتي DIRS المحتملتين إلى direc1 و direc2. تومض مؤشرات LED ، ويزداد عداد الصفوف ، ويتم تشغيل نفس العملية لكل من الصفوف الأربعة الأخرى ، وهذا أسرع بكثير من برنامج المترجم الأول. ومع ذلك ، لا يزال هناك وميض ملحوظ. ألق نظرة على الفيديو ، الكاميرا تجعل الوميض يبدو أسوأ بكثير لكنك تحصل على الفكرة. إن نقل هذا المفهوم إلى شريحة أسرع بكثير ، مثل picMicro أو شريحة AVR ، سيمكن من عرض هذه الأحرف دون وميض ملحوظ.

الخطوة 7: إلى أين تذهب من هنا

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

احتمالات أخرى: 1. نقل هذا إلى شريحة أخرى. يمكن استخدام تصميم المصفوفة هذا مع أي شريحة تحتوي على 5 دبابيس إدخال / إخراج متوفرة قادرة على ثلاثي الحالة (دبابيس يمكن أن تكون عالية أو منخفضة أو مدخلات (مقاومة عالية)). 2. باستخدام شريحة أسرع (ربما AVR أو picMicro) يمكنك زيادة الحجم. باستخدام شريحة 20pin ، يمكنك استخدام 14 دبوسًا لشاشة عرض 8x22 واستخدام المسامير المتبقية لتلقي أوامر تسلسلية من جهاز كمبيوتر أو وحدة تحكم أخرى. استخدم ثلاث شرائح أخرى ذات 20 سنًا ويمكن أن يكون لديك عرض تمرير بحجم 8 × 88 لإجمالي 11 حرفًا في وقت واحد (اعتمادًا على عرض كل حرف بالطبع). حظ جيد استمتع!

موصى به: