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

LED قابل للبرمجة: 6 خطوات (بالصور)
LED قابل للبرمجة: 6 خطوات (بالصور)

فيديو: LED قابل للبرمجة: 6 خطوات (بالصور)

فيديو: LED قابل للبرمجة: 6 خطوات (بالصور)
فيديو: حركة سريعة بأجهزة أبل، هل تعرفها؟ 2024, شهر نوفمبر
Anonim
LED قابل للبرمجة
LED قابل للبرمجة

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

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

يتم استخدام LED كمخرج. كمدخل ، استخدمت LDR ، وهو مقاوم يعتمد على الضوء. يغير LDR المقاوم الخاص به لأنه يتلقى ضوءًا أكثر أو أقل. ثم يتم استخدام المقاوم كمدخل تناظري للمعالجات الدقيقة ADC (المحول الرقمي التناظري).

تحتوي وحدة التحكم على وضعين للتشغيل ، أحدهما لتسجيل التسلسل ، والآخر لتشغيل التسلسل المسجل. بمجرد أن تلاحظ وحدة التحكم تغييرين في السطوع خلال نصف ثانية (داكن أو ساطع أو داكن أو العكس) ، فإنه ينتقل إلى وضع التسجيل. في وضع إعادة الترميز ، يتم قياس إدخال LDR عدة مرات في الثانية ويتم تخزينه على الشريحة. في حالة نفاد الذاكرة ، تعود وحدة التحكم إلى وضع التشغيل وتبدأ في تشغيل التسلسل المسجل. نظرًا لأن ذاكرة وحدة التحكم الصغيرة هذه محدودة للغاية ، 64 بايت (نعم ، بايت!) ، فإن وحدة التحكم قادرة على تسجيل 400 بت. هذه مساحة كافية لمدة 10 ثوانٍ مع 40 عينة في الثانية.

الخطوة الثانية: المواد والأدوات

المواد والأدوات
المواد والأدوات
المواد والأدوات
المواد والأدوات

المواد- 2 × 1K المقاوم- 1 × LDR (مقاوم يعتمد على الضوء) ، على سبيل المثال M9960- 1 × LED منخفض التيار ، 1.7 فولت ، 2ma- 1 × Atmel ATtiny13v ، 1 كيلو بايت ذاكرة الوصول العشوائي ، 64 بايت رام ، 64 بايت EEPROM ، [email protected] 1 x CR2032 ، 3V ، 220mAh الأدوات- لحام الحديد - سلك لحام - لوح توصيل - مبرمج AVR - مزود طاقة 5 فولت - متعدد البرامج - Eclipse - ملحق CDT - يجب أن تكون تكاليف WinAVRC بشكل عام أقل من 5 دولارات بدون الأدوات. لقد استخدمت ATtiny13v لأن هذا الإصدار من عائلة وحدة التحكم هذه قادر على العمل عند 1.8 فولت. هذا يجعل من الممكن تشغيل الدائرة ببطارية صغيرة جدًا. لتشغيله لفترة طويلة جدًا ، قررت استخدام مصباح LED منخفض التيار يصل إلى السطوع الكامل بالفعل عند 2ma.

الخطوة 3: المخططات

المخططات
المخططات

بعض التعليقات على التخطيطي. إدخال إعادة التعيين غير متصل. هذه ليست أفضل ممارسة. سيكون من الأفضل استخدام المقاوم 10K كسحب لأعلى. لكنها تعمل بشكل جيد بالنسبة لي بدونها وتوفر المقاوم ، ولإبقاء الدائرة بسيطة قدر الإمكان ، استخدمت المذبذب الداخلي. هذا يعني أننا نوفر بلورة واثنين من المكثفات الصغيرة. يتيح المذبذب الداخلي تشغيل وحدة التحكم بسرعة 1.2 ميجاهرتز وهي أكثر من السرعة الكافية لغرضنا ، إذا قررت استخدام مصدر طاقة آخر أكثر من 5 فولت أو استخدام مصابيح LED أخرى ، فعليك حساب المقاوم R1. الصيغة هي: R = (مصدر الطاقة V - LED V) / 0.002A = 1650 أوم (مصدر الطاقة = 5V ، LED V = 1.7V). باستخدام اثنين من مصابيح LED ذات التيار المنخفض بدلاً من واحد ، تبدو الصيغة كما يلي: R = (مصدر الطاقة V - 2 * LED V) / 0.002A = 800 أوم. يرجى ملاحظة أنه يجب عليك ضبط الحساب إذا اخترت نوعًا آخر من LED. تعتمد قيمة المقاوم R2 على LDR المستخدم. 1 كيلو أوم يناسبني. قد ترغب في استخدام مقياس الجهد للعثور على أفضل قيمة. يجب أن يكون السيكويت قادرًا على اكتشاف تغيرات الضوء في ضوء النهار العادي. لتوفير الطاقة ، يتم ضبط PB3 على المستوى المرتفع فقط إذا تم إجراء القياس. تحديث: التخطيطي كان مضللا. أدناه هو الإصدار الصحيح. شكرا ، dave_chatting.

الخطوة 4: التجميع على لوحة النموذج الأولي

تجميع على لوحة النموذج الأولي
تجميع على لوحة النموذج الأولي
تجميع على لوحة النموذج الأولي
تجميع على لوحة النموذج الأولي

إذا كنت ترغب في اختبار دائرتك ، فإن اللوح مفيد جدًا. يمكنك تجميع جميع الأجزاء دون الحاجة إلى لحام أي شيء.

الخطوة 5: برمجة الدائرة

برمجة الدائرة
برمجة الدائرة
برمجة الدائرة
برمجة الدائرة

يمكن برمجة وحدة التحكم بلغات مختلفة. الأكثر استخدامًا هي Assembler و Basic و C. لقد استخدمت C لأنها تلائم احتياجاتي بشكل أفضل. لقد اعتدت على C منذ عشر سنوات وتمكنت من إحياء بعض المعرفة (حسنًا ، بعضها فقط …) لكتابة برنامجك ، أوصي بـ Eclipse مع البرنامج المساعد CDT. احصل على eclipse هنا https://www.eclipse.org/ والمكوِّن الإضافي هنا https://www.eclipse.org/cdt/. لتجميع لغة C إلى وحدات التحكم الدقيقة AVR ، ستحتاج إلى مترجم متقاطع. محظوظ كما نحن ، يوجد ميناء من دول مجلس التعاون الخليجي الشهيرة. يطلق عليه WinAVR ويمكن العثور عليه هنا https://winavr.sourceforge.net/. يوجد برنامج تعليمي جيد جدًا حول كيفية برمجة وحدات تحكم AVR باستخدام WinAVR هنا https://www.mikrocontroller.net/articles/AVR-GCC- الدورة التعليمية. عذرًا ، إنه باللغة الألمانية ولكن قد تجد آلاف الصفحات التعليمية حول هذا الموضوع بلغتك ، إذا كنت تبحث عنها. بعد تجميع المصدر الخاص بك ، يجب عليك نقل الملف السداسي إلى وحدة التحكم. يمكن القيام بذلك عن طريق توصيل جهاز الكمبيوتر الخاص بك بالدائرة باستخدام ISP (في مبرمج النظام) أو باستخدام مبرمجين مخصصين. لقد استخدمت مبرمجًا مخصصًا لأنه يجعل الدائرة أسهل قليلاً عن طريق توفير بعض الأسلاك والمقبس. العيب هو أنه يجب عليك تبديل وحدة التحكم بين الدائرة والمبرمج في كل مرة تريد فيها تحديث برنامجك. يأتي المبرمج الخاص بي من https://www.myavr.de/ ويستخدم USB للاتصال بجهاز الكمبيوتر المحمول الخاص بي. هناك العديد من الآخرين حولك ويمكنك حتى بنائه بنفسك. بالنسبة لعملية النقل نفسها ، استخدمت برنامجًا يسمى avrdude وهو جزء من توزيع WinAVR. قد يبدو سطر الأوامر كمثال كما يلي:

avrdude -F -p t13 -c avr910 -P com4 -U فلاش: w: flickled.hex: iترفق قد تحصل على المصدر والملف السداسي العشري المترجم.

الخطوة 6: اللحام

لحام
لحام

إذا كانت دائرتك تعمل على اللوح ، فيمكنك لحامها.

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

موصى به: