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

مصفوفة RGB LED: 5 خطوات
مصفوفة RGB LED: 5 خطوات

فيديو: مصفوفة RGB LED: 5 خطوات

فيديو: مصفوفة RGB LED: 5 خطوات
فيديو: ☑️ LED Matrix أردوينو للمبتدئين - التحكم في 2024, شهر نوفمبر
Anonim
Image
Image
تصميم الأجهزة
تصميم الأجهزة

ابحث في Instructable ، ويمكنك العثور على العديد من مشاريع مصفوفة LED. لم يكن أي منهم ما أردته تمامًا ، وهو استكشاف تفاعلات تصميم الأجهزة والبرامج لإنتاج شيء ما ، وإنتاج المنتج النهائي في PCB أنيق مع برنامج تشغيل يتيح لي الرسم على "شاشة LED" باستخدام مستوى عالٍ التركيبات (على سبيل المثال ، رسم خط بدلاً من تعيين وحدات بكسل محددة). كان هذا الجزء مهمًا بالنسبة لي ، حيث أن العديد من محركات مصفوفة LED لا تقدم الكثير في طريقة إنشاء صورة أو رسم متحرك برمجيًا. هذا لا يعني أنه لا يمكنك إنشاء صور ورسوم متحركة باستخدام برامج التشغيل الأخرى ، فقط أنه سيتعين عليك القيام بمزيد من العمل المتكرر من مشروع إلى آخر.

لذلك شرعت في تحقيق رؤيتي. كانت الخطوة الأولى هي تصميم الأجهزة. ربما كان هذا هو التحدي الأكبر بالنسبة لي ، حيث أن خلفيتي هي المزيد من البرامج. مرة أخرى ، كان هناك العديد من التصميمات المخبوزة مسبقًا ، وقد استخدمتها بالتأكيد للإلهام ، لكنني أردت التعلم من خلال العمل ، لذلك صممت نموذجًا أوليًا لمصفوفة 4x4 على لوح التجارب. لقد تعلمت الكثير من خلال هذه العملية ، حيث لم تنجح التكرارات القليلة الأولى. لكنني قمت بتصميم الأجهزة الذي نجح ، والذي بدوره سمح لي بالبدء في تطوير برنامج تشغيل.

اخترت Arduino كمنصة تشغيل خاصة بي لأنها متوفرة على نطاق واسع ولديها الكثير من المراجع عبر الإنترنت. على الرغم من أن الخبرة المهنية سمحت لي بالوصول إلى إصدار عمل من برنامج التشغيل بشكل أكثر براعة من جهودي في الأجهزة ، إلا أنه كان لا يزال هناك الكثير من التكرارات بينما كنت أقوم بتحسين أداء برنامج التشغيل لوحدة التحكم الصغيرة ATMega وطوّرت واجهة برمجة تطبيقات للبرمجة أعجبتني.

يوثق هذا Instructuctable التصميم وبعض الدروس المستفادة من مشروعي. يمكن العثور على مزيد من المعلومات حول هذا المشروع على موقع الويب الخاص بي هنا ، بما في ذلك مجموعات كاملة يمكنك شراؤها لبناء مصفوفة RGB LED الخاصة بك.

الخطوة 1: تصميم الأجهزة

كان الهدف الأساسي من تصميم أجهزتي هو إنشاء مجموعة من مصابيح RGB LED التي يمكنني برمجتها ، لكنني أيضًا لم أرغب في إنفاق الكثير من المال أيضًا. كان النهج الذي استقرت عليه هو استخدام سجلات التحول 74HC595 للتحكم في مصابيح LED. من أجل تقليل عدد سجلات التحول المطلوبة ، قمت بترتيب RGB LEDs في تخطيط مصفوفة حيث تم ربط الأنودات المشتركة معًا في صفوف وتم ربط خيوط الكاثود الأحمر والأخضر والأزرق معًا في أعمدة. بالنسبة لمصفوفة 4x4 ، بدا مخطط الدائرة مثل مخطط الدائرة المرفق.

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

نظرًا لأنني أستخدم مصابيح LED ذات الأنود الشائعة ، فهذا يعني أن الصفوف توفر طاقة إيجابية وتغوص الأعمدة على الأرض. والخبر السار هو أن مسجلات التحول 74HC595 يمكنها مصدر الطاقة وإغراقها ، ولكن الخبر السيئ هو أن لديهم حدًا لمقدار الطاقة التي يمكنهم الحصول عليها أو غرقها. تتميز المسامير الفردية لـ 74HC595 بسحب تيار بحد أقصى 70 مللي أمبير ، ولكن من الأفضل الاحتفاظ بأقل من 20 مللي أمبير. الألوان الفردية في مصابيح RGB LED الخاصة بنا تحتوي على 20 مللي أمبير تقريبًا. هذا يعني أن 74HC595 لا يمكنه تشغيل صف كامل من مصابيح LED بشكل مباشر إذا كنت أرغب في تشغيلها جميعًا.

لذا بدلاً من تشغيل الصف مباشرةً ، فإن 74HC595 سوف يقود بدلاً من ذلك ترانزستورًا لكل صف ، وسيقوم الترانزستور بتشغيل أو إيقاف تشغيل التيار الكهربائي للصف. نظرًا لأن التصميم يستخدم مصابيح LED مشتركة للأنود ، فسيكون ترانزستور التحويل هو PNP. إذا كنا نستخدم مصباح الكاثود المشترك LED ، فسيكون ترانزستور التحويل هو NPN. لاحظ أنه باستخدام ترانزستور PNP لقيادة صف ، فإن إعداد سجل التحول لتشغيله يصبح الآن منخفضًا لأن ترانزستور PNP يحتاج إلى جهد سالب بين الباعث والقاعدة ليتم تشغيلهما ، مما سيسمح للتيار الموجب بالتدفق إلى داخل صف.

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

أخيرًا ، كنت بحاجة إلى تحديد المقاومات التي سأستخدمها لكل من مصابيح LED في RGB LED. بينما يمكنك استخدام الصيغة القياسية التي تجمع بين الجهد الأمامي والتيار المطلوب لحساب المقاوم المطلوب ، وجدت أن ضبط تيار كل LED على 20 مللي أمبير نتج عنه لون أبيض باهت عندما كانت جميع مصابيح LED باللون الأحمر والأخضر والأزرق قيد التشغيل. لذلك بدأت في تصويرها. يعني وجود الكثير من اللون الأحمر في اللون الأبيض زيادة أوم مقاومة الصمام الأحمر لتقليل التيار. كررت تبديل المقاومات بأوم مختلفة حتى وجدت تركيبة أنتجت اللون الأبيض الذي شعرت أنه صحيح. كانت التركيبة النهائية هي 180 درجة لمصباح LED الأحمر ، و 220 درجة لمصباح LED الأخضر و 100 درجة لمصباح LED الأزرق.

الخطوة 2: بناء الأجهزة - اللوح

بناء الأجهزة - اللوح
بناء الأجهزة - اللوح
بناء الأجهزة - اللوح
بناء الأجهزة - اللوح

كانت المرحلة الأولى من مُنشئ الأجهزة هي ألواح الخبز. لقد صنعت هنا مصفوفة 4x4 باستخدام مصابيح RGB LED. ستتطلب هذه المصفوفة 16 بت للتحكم ، و 12 لأعمدة RGB ، و 4 لكل صف. يمكن لسجلي التحويل 74HC595 التعامل مع كل شيء. لقد بحثت في البداية وصممت دائرة اعتقدت أنها ستنجح ، ثم قمت ببنائها على اللوح.

ربما كان التحدي الأكبر في بناء اللوح هو إدارة جميع الأسلاك. التقطت مجموعة سلكية مسبقة التشكيل لألواح التجارب ، ولكن حدث ذلك بعد ذلك كان صعبًا بعض الشيء. كانت الحيلة التي وجدتها مفيدة هي إنشاء "منفذ" للاتصال بلوحة Arduino. بمعنى ، بدلاً من توصيل المسامير الموجودة على Arduino مباشرة بمسامير IC المختلفة الموجودة على اللوح ، قم بتخصيص بضعة صفوف على اللوح لتكون نقطة الاتصال لـ Arduino ، ثم قم بتوصيل دبابيس المعرف ذات الصلة بتلك الصفوف. بالنسبة لهذا المشروع ، ما عليك سوى خمسة اتصالات بـ Arduino: + 5V ، والأرضي ، والبيانات ، والساعة ، والمزلاج.

بمجرد الانتهاء من بناء اللوح ، كنت بحاجة إلى اختباره. ومع ذلك ، بدون وجود نوع من برنامج التشغيل لإرسال الإشارات الصحيحة إلى سجلات التحويل ، لم أتمكن من اختبار ما إذا كان تخطيط الأجهزة يعمل أم لا.

الخطوة 3: تصميم برنامج التشغيل

Image
Image

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

  • توفير واجهة برمجة تطبيقات عالية المستوى لتتمكن من إنشاء صور ورسوم متحركة برمجيًا. كان معظم السائقين الذين رأيتهم أكثر تركيزًا على الصور المشفرة. أيضًا ، نظرًا لأنني مبرمج C ++ عن طريق التجارة ، فقد أردت استخدام تصميم جيد موجه للكائنات لتنفيذ وإدارة أنشطة الرسم إلى مصفوفة LED.
  • استخدم أسلوب التخزين المؤقت المزدوج لإدارة الصورة على الشاشة. أحد المخزن المؤقت هو ما يتم سحبه برمجيًا ، بينما يمثل الآخر حالة وحدات بكسل المصفوفة في أي لحظة. ميزة هذا الأسلوب هي أنك لست مطالبًا بتقديم تحديث الإطار التالي للشاشة بشكل كامل بين دورات التحديث لتعدد الإرسال.
  • استخدم PWM للسماح بأكثر من سبعة ألوان بدائية يمكن أن تعرضها RGB من خلال مجموعات بسيطة من العناصر الحمراء والخضراء والزرقاء.
  • اكتب برنامج التشغيل بحيث "يعمل فقط" مع مصفوفات RGB LED ذات أحجام مختلفة والتي اتبعت منهجي العام في تصميم المصفوفة. لاحظ أنه بينما يستخدم تصميم أجهزتي سجلات التحول 74HC595 ، أتوقع أن يعمل برنامج التشغيل الخاص بي مع أي آلية تشغيل / إيقاف تشغيل بنمط سجل التحول التي تم وضعها باستخدام تخطيط بت مشابه لتصميم الأجهزة. على سبيل المثال ، أتوقع أن يعمل برنامج التشغيل الخاص بي مع تصميم الأجهزة الذي يستخدم رقائق DM13A للتحكم في الأعمدة وشريحة 74HC595 للتحكم في الصفوف.

إذا كنت تريد الانتقال مباشرة إلى رمز برنامج التشغيل ، فقد تجده على GitHub هنا.

كان التكرار الأول لبرنامج التشغيل الخاص بي عبارة عن منحنى تعليمي قليلاً حول قدرات منصة Arduino. التحديد الأكثر وضوحًا هو ذاكرة الوصول العشوائي ، وهي 2 كيلو بايت لكل من Arduino Uno و Nano. في كثير من الأحيان لا ينصح باستخدام كائنات C ++ في مثل هذا السيناريو بسبب حمل الذاكرة للكائنات. ومع ذلك ، شعرت أنه إذا تم القيام به بشكل صحيح ، فإن فائدة الكائنات في C ++ تفوق تكلفتها (في ذاكرة الوصول العشوائي).

كان التحدي الرئيسي الثاني هو معرفة كيفية تنفيذ تعديل عرض النبضة عبر مسجلات التحول حتى أتمكن من إنشاء أكثر من سبعة ألوان بدائية لمصابيح RGB LED. بعد أن تمت برمجتي لسنوات عديدة على منصات Linux ، اعتدت على استخدام تركيبات مثل الخيوط لإدارة العمليات التي تتطلب توقيتًا ثابتًا. ينتهي توقيت عملية تحديث سجل التحول بالحرج الشديد عند إنشاء برنامج تشغيل لمصفوفة LED تستخدم مضاعفة الإرسال. والسبب هو أنه على الرغم من حدوث مضاعفة الإرسال بسرعة كبيرة بحيث لا تستطيع عيناك رؤية مصابيح LED الفردية تومض وتطفئ ، يمكن أن تلتقط آياتك الاختلافات في إجمالي الوقت الإجمالي الذي تعمل فيه أي من مصابيح LED. إذا كان أحد صفوف مصابيح LED قيد التشغيل باستمرار لفترة زمنية أطول من الصفوف الأخرى ، فسيبدو أكثر إشراقًا أثناء تعدد الإرسال. يمكن أن يؤدي هذا إلى سطوع غير متساو في المصفوفة أو وميض دوري للمصفوفة ككل (يحدث هذا عندما تستغرق إحدى دورات التحديث وقتًا أطول من الدورات الأخرى).

نظرًا لأنني كنت بحاجة إلى آلية توقيت متسقة لجعل تحديثات سجل التحول موافقة ، لكن Arduino لا يدعم رسميًا مؤشر الترابط ، كان علي إنشاء آلية تشبه آلية الترابط الخاصة بي. كان تكراري الأول لهذا هو ببساطة إنشاء مؤقت حلقي يعتمد على وظيفة حلقة Arduino () ويطلق إجراءً عند انقضاء فترة زمنية معينة منذ آخر مرة تم فيها تشغيل الإجراء. هذا شكل من أشكال "تعدد المهام التعاوني". يبدو هذا جيدًا ولكن من الناحية العملية ثبت أن هذا غير متسق عندما تم قياس معدل إطلاق النار بالميكروثانية. والسبب في ذلك هو أنه إذا كان لدي اثنين من هذه العدادات ، فإن أحد أفعالهم كثيرًا ما يستغرق وقتًا طويلاً بما يكفي لإطلاق الإجراء الثاني في وقت متأخر عما هو مطلوب.

لقد وجدت أن حل هذه المشكلة هو استخدام آلية مقاطعة الساعة الأصلية في Arduino. تتيح لك هذه الآلية تشغيل جزء صغير من التعليمات البرمجية على فترات متسقة للغاية. لذلك صممت رمز برنامج التشغيل حول عنصر التصميم لاستخدام مقاطعة على مدار الساعة لتشغيل الكود لإرسال سجلات تحول المصفوفة التحديث التالي في دورة تعدد الإرسال. للقيام بذلك والسماح بحدوث تحديثات على صورة الشاشة حتى لا تتداخل مع التفريغ النشط لسجلات التحول (وهو شيء نسميه "حالة السباق") ، استخدمت أسلوبًا لامتلاك مخازن مؤقتة مزدوجة لبتات سجل الإزاحة ، واحدة للكتابة وواحد للقراءة. عندما يقوم المستخدم بتحديث صورة المصفوفة ، تحدث هذه العمليات لمخزن الكتابة. عند اكتمال هذه العمليات ، يتم تعليق المقاطعات مؤقتًا (وهذا يعني أن مقاطعة الساعة لا يمكن إطلاقها) ويتم تبديل المخزن المؤقت للكتابة بمخزن القراءة المؤقت السابق وليس المخزن المؤقت للقراءة الجديد ، ثم تتم إعادة تمكين التفسيرات. بعد ذلك ، عند حرائق مقاطعة الساعة للإشارة إلى أن الوقت قد حان لإرسال تكوين البت التالي إلى سجلات الإزاحة ، تتم قراءة هذه المعلومات من مخزن القراءة المؤقت الحالي. بهذه الطريقة ، لا تحدث أي كتابة على الإطلاق إلى مخزن مؤقت قد تتم قراءته حاليًا أثناء مقاطعة الساعة ، مما قد يؤدي إلى إتلاف المعلومات المرسلة إلى سجلات الإزاحة.

كان تصميم بقية السائق عبارة عن حالة مباشرة نسبيًا للتصميم الموجه للكائنات. على سبيل المثال ، قمت بإنشاء كائن لإدارة صورة بت سجل التحول لأي حالة شاشة معينة. من خلال تغليف الكود المتعلق بإدارة صورة البت ، كان إنشاء نهج المخازن المؤقتة المزدوجة المذكورة أعلاه في حد ذاته تمرينًا مباشرًا. لكنني لم أكتب هذا Instructable لتمجيد فضائل التصميم الموجه للكائنات. يتضمن عنصر التصميم الآخر مفهوم Glyph وصورة RGB. الحرف الرسومي هو بناء صورة أساسي لا يحتوي على معلومات ألوان فطرية. يمكنك التفكير في الأمر كصورة بالأبيض والأسود. عندما يتم رسم الحرف الرسومي على شاشة LED ، يتم إعطاء معلومات اللون للإشارة إلى كيفية تلوين وحدات البكسل "البيضاء". صورة RGB هي صورة يكون لكل بكسل فيها معلومات لونية خاصة بها.

أشجعك على مراجعة أمثلة رسم Arduino ومراجعة وثائق رأس برنامج التشغيل للتعرف على كيفية استخدام برنامج التشغيل لإنشاء صور ورسوم متحركة على مصفوفة RGB LED.

الخطوة 4: LED Ghosting

شبح LED
شبح LED
شبح LED
شبح LED

في مصفوفة LED ، "الظلال" هو ظاهرة توهج LED في المصفوفة عندما لا تكون مرغوبة ، وعادة ما يكون مستوى منخفض للغاية. كان تصميم أجهزتي الأصلي عرضة للظلال ، وعلى الأخص في الصف الأخير. يرجع سبب ذلك إلى شيئين: لا تنطفئ الترانزستورات على الفور والسعة الطفيلية في مصابيح RGB LED.

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

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

RGB LEDs عرضة لظاهرة أخرى تسمى السعة الطفيلية. السبب الجذري لذلك هو حقيقة أن كل من المصابيح الثلاثة الملونة في وحدة RGB LED لها جهد أمامي مختلف. يمكن أن يتسبب هذا الاختلاف في الفولتية الأمامية في تأثير السعة الكهربائية بين كل من ألوان LED الفردية. نظرًا لتكوين شحنة كهربائية في وحدة LED عند تشغيلها ، عند فصل الطاقة ، يجب تفريغ السعة الطفيلية. إذا كان عمود LED هذا يعمل بخلاف ذلك لتزويد صف آخر بالطاقة ، فإن الشحنة الطفيلية ستفرغ من خلال أعمدة LED وتتسبب في توهجها لفترة وجيزة. يتم شرح هذا التأثير بشكل جيد في هذه المقالة. يكمن الحل في إضافة مسار تفريغ لهذه الشحنة الطفيلية بخلاف من خلال مؤشر LED نفسه ، ثم إعطاء المصباح وقتًا للتفريغ قبل تشغيل العمود مرة أخرى. في تصميم أجهزتي ، يتم تحقيق ذلك عن طريق إضافة مقاوم إلى خط طاقة كل صف يربط القوة بالأرض. سيؤدي هذا إلى سحب المزيد من التيار مع تشغيل الصف ، ولكنه يوفر مسارًا لتفريغ السعة الطفيلية عندما لا يتم تشغيل الصف.

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

الخطوة 5: التصنيع النهائي والخطوات التالية

Image
Image

كانت المرحلة الأخيرة من هذا المشروع بالنسبة لي هي إنشاء لوحة دوائر مطبوعة (PCB). لقد استخدمت برنامج Fritzing مفتوح المصدر لتصميم ثنائي الفينيل متعدد الكلور. بينما كان هناك الكثير من المهام المتكررة لإنجازها لتخطيط 100 مصباح LED على لوحة 10x10 ، وجدت بالفعل أن هذه المرحلة من المشروع مرضية بشكل غريب. كان اكتشاف كيفية وضع كل مسار كهربائي بمثابة لغز ، وقد خلق حل هذا اللغز شعوراً بالإنجاز. نظرًا لأنني لم أعد لتصنيع لوحات الدوائر ، فقد استخدمت أحد الموارد العديدة عبر الإنترنت التي تقوم بإجراء عمليات تشغيل صغيرة لثنائي الفينيل متعدد الكلور المخصص. كان لحام الأجزاء معًا بشكل مستقيم للأمام نظرًا لأن تصميمي استخدم جميع الأجزاء من خلال الفتحة.

في وقت كتابة هذا Instructable ، لدي الخطط التالية لمشاريع RGB LED Matrix الخاصة بي:

  1. استمر في تحسين برنامج التشغيل في طبقة API لتمكين المزيد من الوظائف عالية المستوى للمبرمج ، وأبرزها تمرير النص.
  2. قم بإنشاء تصميمات مصفوفة أكبر ، مثل 16 × 16 أو حتى 16 × 32.
  3. استكشف استخدام MOSFETs بدلاً من BJTs لتبديل طاقة الصف
  4. استكشف باستخدام محركات التيار المستمر DM13As بدلاً من 74HC595s لتبديل العمود
  5. قم بإنشاء برامج تشغيل لمنصات التحكم الدقيقة الأخرى ، مثل Teensy أو ODROID C2 أو Raspberry Pi.

لاحظ أنه تم إصدار كل من تصميم الأجهزة وبرنامج التشغيل بموجب ترخيص GPL v3 مفتوح المصدر في مستودع GitHub هذا. علاوة على ذلك ، على الرغم من أن مصنعي ثنائي الفينيل متعدد الكلور يقومون بـ "عمليات تشغيل صغيرة" لتصميم ثنائي الفينيل متعدد الكلور ، ما زلت أحصل على أكثر بكثير مما أحتاجه شخصيًا. لذلك أقوم ببيع مجموعات كاملة لتصميمات مصفوفة RGB LED المختلفة (PCB وجميع الأجزاء المضمنة) من موقع الويب الخاص بي هنا.

موصى به: