لقد شاهدت المراوح في الطائرات أو في السفن البحرية ، إن لم تكن حقيقية ، فهي في الأفلام بالتأكيد. في هذه الجلسة ، سنقوم بتصميم Propeller Display مع Arduino و LEDs ومحرك DC. في شاشة المروحة هذه ، سيظهر النص وكأنه يدور بطريقة المروحة في شكل دائري.
عرض المروحة بطريقة مثل مصفوفة LED. يحتوي على 8 مصابيح LED (ثنائيات انبعاث للضوء) مرتبة في شكل مصفوفة 8 * 1 (8 صفوف وعمود واحد). وهي مرتبة في شكل سلم فوق الآخر. يمكن تصنيع مصابيح LED الثمانية هذه لعرض أي محتوى مثل النصوص والأرقام والرموز وما إلى ذلك ، ويتحقق ذلك من خلال تصور الرؤية (POV) ، حيث يتم نقل العديد من الصور الثابتة بسرعة واحدة تلو الأخرى بالتسلسل ، مما يعطي تصورًا للرسوم المتحركة أو صورة متحركة. يتم شرح كيفية القيام بذلك في البرنامج التعليمي الوارد أدناه.
المكونات المطلوبة:
- اردوينو اونو
- محرك بتيار مستمر
- + بطارية LI-ION 3.6 فولت
- LED (8 قطع)
- 1KΩ المقاوم (8 قطع)
بناء شاشة المروحة:
خذ أولاً قاعدة مستقرة ؛ لقد استخدمت محرك أقراص DVD قديم للكمبيوتر الشخصي كان مستلقيًا. يمكنك الحصول على لوح خشبي أو صندوق من الورق المقوى. ثم قم بعمل ثقب في منتصف محرك أقراص DVD (القاعدة) وأدخل محور محرك التيار المستمر فيه. تأكد من أن الفتحة محكمة بما يكفي لعقد المحرك ويمكن للمحرك أن يدور بحرية. لقد استخدمت Feviquick لوضع المحور في مكانه.
دعم الجزء العلوي من المحرك لمساواة المطبات غير المستوية. لقد استخدمت لوحة نقطية فوقها واستخدمت الغراء السريع مرة أخرى لإلصاقها بمحرك DC.
قم بتوصيل بطارية LI-ION بالأعلى. إذا لم يكن لديك بطارية LI-ION من نفس الحجم ، فاتركها فقط. بعد ذلك ، خذ كل LED واختبره باستخدام خلية زر أو أي مصدر آخر. ثم خذ بعض المقاومات ولحامها بمصابيح LED وفقًا للصورة ومخطط الدائرة الموضح أدناه.
قم بتوصيل مصابيح LED والمقاومات الملحومة بـ Arduino UNO كما هو موضح أدناه الشكل ومخطط الدائرة.
قم بتركيب UNO على الجزء العلوي من DC MOTOR وقم بتثبيته بمساعدة شريط التشيلو لإنهاء الإعداد. لذلك سيبدو إعداد Propeller النهائي كما يلي:
شرح الدائرة والعمل:
دائرة عرض POV التي يتم التحكم فيها من Arduino بسيطة للغاية ، لقد قمنا ببساطة بتوصيل 8 مصابيح LED مع Arduino Uno وفقًا لمخطط الدائرة أدناه.
PORTD ، PIN0 ------------------ طرف إيجابي LED8
PORTD ، PIN1 ------------------ طرف إيجابي LED7
PORTD ، PIN2 ------------------ طرف إيجابي LED6
PORTD ، PIN3 ------------------ طرف إيجابي LED5
PORTD ، PIN4 ------------------ طرف إيجابي LED4
PORTD ، PIN5 ------------------ طرف LED3 إيجابي
PORTD ، PIN6 ------------------ طرف إيجابي LED2
PORTD ، PIN7 ------------------ طرف إيجابي LED1
كما نضيف المزيد من الأعمدة في 8x8 LED Matrix لتوسيع الشاشة ، بنفس الطريقة بدلاً من إضافة المزيد من أعمدة LED ، نقوم بنقل عمود LED الأول إلى مكان عمود LED الثاني باستخدام حركة DC MOTOR.
لفهم الموقف برمته ، قل إننا نريد عرض الحرف "A" بواسطة شاشة المروحة. ضع في اعتبارك أن "إبرة" LED في POSITION1 في البداية كما هو موضح في الشكل أدناه. LED Needle هو عمود من 8 مصابيح LED.
الآن سنقوم بتشغيل المحرك وسيبدأ في العمل.
عند t = 0ms: ستكون الإبرة في POSITION 1. في هذا الموضع ، يتم تشغيل جميع المصابيح الثمانية ، من TOP LED (MSB) إلى BOTTOM LED (LSB).
عند t = 1ms: ستكون الإبرة في الموضع 2. كما هو الحال في الموضع 1 ، في هذا الموضع ، يتم تشغيل جميع المصابيح الثمانية ، من TOP LED (MSB) إلى BOTTOM LED (LSB).
عند t = 2ms: ستكون الإبرة في POSITION 3. في هذا الموضع ، تظل مؤشرات LED7 و LED6 و LED3 فقط في وضع التشغيل ومصابيح LED المتبقية مطفأة.
عند t = 3ms: ستكون الإبرة في POSITION 4. تمامًا مثل الموضع 3 ، في هذا الموضع فقط تظل مؤشرات LED7 و LED6 و LED3 قيد التشغيل ويتم إيقاف تشغيل مصابيح LED المتبقية.
عند t = 4ms: ستكون الإبرة في الموضع 5. كما هو الحال في الموضعين 3 و 4 ، في هذا الموضع فقط تظل مؤشرات LED7 و LED6 و LED3 قيد التشغيل. تم إيقاف تشغيل المصابيح المتبقية.
عند t = 5ms: ستكون الإبرة في POSITION 6. في هذا الموضع ، يتم تشغيل جميع المصابيح الثمانية مرة أخرى ، يتم تشغيل TOP led (MSB) إلى BOTTOM led (LSB).
عند t = 6ms: ستكون الإبرة في الموضع 7. كما هو الحال في الموضع 6 ، في هذا الموضع ، تظل جميع المصابيح الثمانية قيد التشغيل.
كما هو موضح أعلاه ، سنقوم بتشغيل مصابيح LED المناسبة في مواضع الإبرة المناسبة لعرض الشخصية اللازمة. إذا كانت سرعة حركة الإبرة بطيئة يمكننا رؤية كل عمود LED على حدة. ولكن عندما تكون سرعة المحرك عالية وتتحرك الإبرة بسرعة كبيرة ، فسيُنظر إلى الشاشة على أنها تعرض الحرف "أ" باستمرار.
شرح البرمجة:
لقد قمنا ببرمجة Arduino لتشغيل مؤشر LED المناسب في الأوقات المناسبة أثناء التدوير بحيث يعرض عمود LED النص "CIRCUIT DIGEST" في وضع دائري.
برمجة شاشة Propeller سهلة الفهم. تم اعتبار مجموعة Char من 26x8 على أنها char ALPHA المتطاير. تتكون هذه المصفوفة من 8 مواضع للإبرة لعرض كل حرف من الحروف الهجائية الـ 26 التي تجعلها مصفوفة من 26 × 8. 26 صفًا في Array تمثل 26 حرفًا أبجديًا و 8 أعمدة في كل صف تمثل ثمانية مواضع للإبرة لعرض الحرف أثناء الدوران. تتكون كل خلية الآن من رقم ثنائي يمثل حالة تشغيل / إيقاف تشغيل 8 مصابيح LED في موضع معين من Needle. تذكر أن الإبرة هنا تشير إلى خط من 8 مصابيح LED متصلة بـ Arduino كما هو موضح أعلاه.
الآن تحتاج فقط إلى تدوير محرك التيار المستمر واستخدام " for loop " مع ثمانية تكرارات لعرض حرف. كما لو كنت تريد عرض 10 أحرف ، فأنت بحاجة إلى تشغيل 10 " حلقات for" مع ثمانية تكرارات في كل منها. لذلك استخدمنا 13 حلقة لعرض النص CIRCUIT DIGEST. تحقق من كود البرنامج الكامل أدناه مع فيديو توضيحي.
هذه هي الطريقة التي يمكنك بها إنشاء وهم استمرارية الرؤية (POV) الجميل باستخدام Arduino مثل نص يدور مثل المروحة.