fbpx

استخدام الأردوينو في تطبيق أثر استمرار الرؤية (POV)

أضف وصة
أبريل 7, 2019
The Evil Pumpkin Project
أكتوبر 28, 2019

استخدام الأردوينو في تطبيق أثر استمرار الرؤية (POV)

ماهو أثر “استمرار الرؤية” ؟

هل لاحظت أنه عند تتابع عدة صور بشكل سريع أمام عينك، فإنك تميل أن تدركها كصورة واحدة؟ هذا هو مبدأ عمل أفلام الكارتون المتحركة كما نعرف، لكن لماذا يحدث هذا؟

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

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

لعمل هذا المشروع، تحتاج إلى خبرة مسبقة في:

فهم و تركيب الدوائر الإلكترونية

مستوى صعوبة المشروع:

مبتدئ 

 

مدة عمل هذا المشروع:

استغرق هذا المشروع مدة زمن 1 ساعة للعمل

المكونات والأدوات المستخدمة في المشروع:

    1.  7 لمبات LED

    2. 7 مقاومات 220 أوم

    3. بطارية 9 فولت + battery holder

    4. دبابيس دباسة

    5. أفيز

    6. أسلاك توصيل

    7. Arduino UNO

    8. Breadboard

    9. كاميرا

 

أولا: بناء الهيكل

الخطوة الأولى:

الخطوة الثانية:

الخطوة الثالثة:

الخطوة الرابعة:

 

ثانيا: الكود البرمجي

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

بعد ذلك قم بتحميل الكود على الـ Arduino وابدأ التشغيل والتصوير.

كيف يعمل الكود؟

الفكرة الرئيسية في هذا الكود هو تقسيم النص المدخل إلى حروف، ثم تقسيم تلك الحروف إلى أعمدة، ثم عرض تلك الأعمدة بالتتابع حتى ينتهي النص، ثم تتكرر العملية.
على سبيل المثال، إذا افترضنا أننا نريد عرض الحرف “S” علي مصفوفة بها 5 أعمدة و 4 صفوف، فسنجد أن حالة الأعمدة هكذا

Column1:[ Row1: LOW Row2: HIGH Row3: HIGH Row4: LOW Row5: LOW Row6: HIGH Row7: LOW ]

أي باختصار Column1: 0 1 1 0 0 1 0

وبتطبيق نفس المفهوم على باقي الأعمدة ستجد
Column2: 1 0 0 1 0 0 1
Column3: 1 0 0 1 0 0 1
Column4: 1 0 0 1 0 0 1
Column5: 0 1 0 0 1 1 0

يقوم الكود بعرض العمود الأول على اللمبات السبعة بالترتيب لمدة قصيرة جدا ( قيمتها الافتراضية 8 مللي ثانية )، ثم يعرض العمود الثاني بنفس المدة، ثم الثالث فالرابع، وعندما نحرّك اللمبات أمام عدسة الكاميرا فإننا سنرى الحرف “S” قد ظهر.

——————

عند تحميل الكود المرفق وتشغيله فإن الناتج سيكون بهذا الشكل عند تصويره بعد ضبط سرعة غالق الكاميرا Shutter Speed على سرعة منخفضة ( ثانية على الأقل )

حمّل الكود من هنا

التكلفة الشاملة للمشروع

* + تكلفة الـ Camera أو تأجيرها. 

 
أماكن شراء المكونات والأدوات المستخدمة
X