ماسح الصور LEGO-EV3
تم تصميم الماسح الضوئي للصور باستخدام مجموعة LEGO Mindstorms EV3 Education وعجلة إضافية. يتضمن مصدرًا من برنامج Mindstorms EV3 وتعليمات البناء. يقوم بمسح ورق بعرض 8.5 بوصة، ولكن يمكن تعديله ليناسب أحجام الصفحات المشابهة.
المدخلات
- أزرار الطوب – للتحكم في قوائم التكوين
- الموجات فوق الصوتية - اكتشاف وقت إدخال الورق
- مستشعر اللمس – إعادة ضبط موضع مستشعر اللون عن طريق الاصطدام
- مستشعر الضوء - قم بمسح وحدات البكسل ضوئيًا لإنشاء صورة
الإخراج
- صورة ذات تدرج رمادي مقاس 44 × 32 بكسل 8 بت
- يمثل ملف CSV قيم بيانات الصورة النقطية ذات التدرج الرمادي 8 بت
- صورة مشوشة على الشاشة
أجزاء
يتطلب هذا البناء أجزاء من مجموعة LEGO MINDSTORMS EV3 وعجلة كبيرة إضافية يمكن الحصول عليها من مجموعة أخرى من نفس المجموعة أو مجموعة سيارات.
تفاصيل البناء وأجهزة الاستشعار
- ينفذ هذا الروبوت تكوينين لتروس القوة، أحدهما لتحريك مستشعر الضوء على المحور الأفقي، من خلال خط أحادي، والثاني لتوفير آلية التخزين المؤقت للورق الذي يحتوي على الصورة التي سيتم مسحها ضوئيًا.
- تستخدم كل من آلية التخزين المؤقت والقطار الأحادي محركًا كبيرًا.
- يتم استخدام ثقل الموازنة لمحاذاة عجلة المونوريل مع القوة العمودية التي يمارسها سطح المونوريل.
- بالقرب من التخزين المؤقت يوجد مستشعر للأشعة تحت الحمراء يسمح باكتشاف وقت إدخال الورق.
- يتم وضع جهازي استشعار يعملان باللمس في كل ركن من أركان الماسح الضوئي. يتم استخدامها لاكتشاف متى يصل الخط الأحادي إلى الزاوية. المستشعر الموجود على الجانب الأيمن فقط قيد الاستخدام حاليًا.
ملاحظات البرمجيات
يتكون البرنامج من أربع مراحل: واجهة المستخدم، المسح الضوئي، طباعة الصورة، حفظ الصورة. تم تصميم واجهة المستخدم لتكييف نموذج MVC مع برمجة الطوب التسلسلية. فهو يسمح بشاشات تكوين n، مع تكوين قيمة واحدة لكل شاشة. تتوافق المتغيرات المستخدمة لاحقًا في البرنامج مع إعداد كل منها.
شاشات التكوين
- uiPrintScreen : bool – إذا كان صحيحًا، فستتم طباعة صورة مختلطة ذات 1 بت على شاشة EV3، لتشبه الصورة ذات التدرج الرمادي في ذاكرة الوصول العشوائي (RAM).
- uiSaveState: bool - إذا كان صحيحًا، فسيتم إنشاء ملف CSV من البيانات الموجودة في ذاكرة الوصول العشوائي (RAM). يشبه هذا الملف ملف صورة نقطية ويمكن تحويله إلى صورة نقطية باستخدام برنامج خارجي مثل A-VEKT Image CSV Converter.
- XStartPos: رقمي - يشير إلى موضع البداية بالبوصة، على المحور السيني.
- YStartPos: رقمي - يشير إلى موضع البداية بالبوصة، على المحور Y.
- العرض: رقمي - يشير إلى عرض الصورة بالبوصة.
- الارتفاع: رقمي - يشير إلى ارتفاع الصورة بالبوصة.
مرحلة المسح
- قبل إجراء المسح الضوئي، يُطلب من المستخدم إدخال الورقة المراد مسحها ضوئيًا وإعادة ضبط موضع مستشعر الضوء على الموضع الأولي.
- يتكون المسح الضوئي من تغيير تحريك مستشعر الصورة عبر الخط الأحادي والورق عبر التخزين المؤقت، لإنشاء مصفوفة من النقاط الممسوحة ضوئيًا بشكل مستقل.
- عند المسح، يتم مسح سطر واحد من اليمين إلى اليسار ويتم مسح السطر التالي من اليسار إلى اليمين. وهذا يقلل من وقت الفحص.
- بمجرد اكتمال المسح الضوئي، يتم تخزين الورق المتبقي في الجزء الخلفي من الماسح الضوئي.
مرحلة الطباعة
- هذه المرحلة اختيارية ويتم تمكينها افتراضيًا. يتكون من طباعة الصورة على الشاشة.
- تحتوي الصورة الممسوحة ضوئيًا على بيانات ذات تدرج رمادي، ولكن شاشة EV3 باللونين الأبيض والأسود تبلغ 1 بت. للتعويض، يتم تحويل كل بكسل ممسوح ضوئيًا إلى نمط 4 × 4 بكسل باستخدام ثبات الألوان المطلوب (Bayer)، والذي يتم بعد ذلك طباعته على الشاشة.
مرحلة الادخار
- هذه المرحلة اختيارية.
- نظرًا لأن كتلة ملف EV3 تقتصر على حفظ الأحرف القابلة للطباعة فقط، فلا يمكن إنشاء صورة نقطية برمجيًا. بدلاً من ذلك، يتم استخدام ملف CSV.
- يمكن تحويل ملف CSV إلى صورة نقطية باستخدام "A-VEKT Image CSV Converter" مع إعداد قناة ألفا 8 بت.
- عند إنشاء ملف CSV، يتم إعادة ترتيب الأسطر التي تم مسحها ضوئيًا بشكل عكسي في مصفوفة ثانية.
التحسينات
- يمكن تحسين دقة الماسح الضوئي باستخدام مجموعة ثانية، والتي يمكن استخدامها لإنشاء محور س ثنائي السكة بدلاً من الخط الأحادي.
- نظرًا للقوى التي تمارسها الكابلات، يكون الخط الأحادي غير مستقر في بعض الأحيان، مما يؤدي إلى تركيز متغير عند التقاط بعض وحدات البكسل.
- يمكن تحسين البرنامج. أفرج عنه كما كان عندما توقفت عن العمل عليه.
- ليس لدي أي خطط لمواصلة تطوير هذا المشروع حتى تقوم LEGO بإصدار نسخة من LEGO MINDSTORMS EV3 لأنظمة التشغيل Linux أو أجد سببًا مقنعًا آخر لشراء مجموعة Mindstorms EV3 الخاصة بي.
الترخيص وحقوق التأليف والنشر
- تتم مشاركة ملفات المصدر بموجب رخصة جنو العامة 2.0
- تتم مشاركة صور التعليمات والمحتويات الإضافية بموجب ترخيص Creative Commons Attribution 4.0 International
- حقوق الطبع والنشر مشتركة بيني وبين جامعة بورتوريكو في أريسيبو.
إخلاء المسؤولية
- لقد قمت بتطوير هذا من أجل المتعة كجزء من فصل مقدمة عن الروبوتات من جامعة بورتوريكو في أريسيبو.
- يعتمد هذا الماسح الضوئي بشكل فضفاض على الطابعة من "دليل المخترع LEGO MINDSTORMS NXT 2.0 غير الرسمي".
- إن LEGO وMINDSTORMS وMINDSTORMS EV3 وMINDSTORMS NXT هي علامات تجارية و/أو حقوق نشر مملوكة لمجموعة LEGO Group. استخدامها لا يعني أي انتماء لهم أو تأييدهم.