جدول المحتويات:
- الخطوة 1: الأفكار أو الحلول المحتملة
- الخطوة 2: عمل الجمعية
- الخطوة الثالثة: تصميم العتاد المكفوفين
- الخطوة 4: تشفير المكفوفين
- الخطوة 5: اللمسات الأخيرة
- الخطوة السادسة: تقييم المشروع
فيديو: فتح آلي للمكفوفين باستخدام EV3: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
لدي مجموعة من ستائر التعتيم الدوارة في غرفة نومي والتي غالبًا ما أنسى فتحها أو إغلاقها في الصباح أو في المساء. أريد أتمتة الافتتاح والإغلاق ، ولكن مع تجاوز عندما أتغير.
الخطوة 1: الأفكار أو الحلول المحتملة
بعد البحث في مواقع مختلفة مثل YouTube و Instructables و Thingiverse ، وجدت أن الحل الأكثر شيوعًا هو تشغيل البكرة التي تجرح وتزيل الستائر باستخدام محرك متدرج أو مؤازر. لقد وجدت خيارين رئيسيين لهما مزايا وعيوب مختلفة.
الفكرة 1: طريقة التخزين المؤقت حيث يوجد المحرك والتروس داخل البكرة. هذا له مزايا أنه طريقة أنيقة وأنيقة ، ولكن له عيوب أنه يتطلب تعديلًا كبيرًا للمكفوفين ، ولم يعد السلك قابلاً للاستخدام ، وسيكون من الصعب جدًا الوصول إلى التجميع للصيانة عند تنفيذه.
الفكرة 2: طريقة الحبل حيث يوجد المحرك والتروس على الحبل. يتميز هذا بأنه أبسط ويمكن الوصول إليه بسهولة. ومع ذلك ، فإن له عيبًا أنه قد يكون قبيحًا وضخمًا ، بالإضافة إلى حقيقة أنه يجب إرفاقه بالعتبة عند تنفيذه.
أفضل طريقة الحبل لأنها حل أبسط بكثير لا يمنع الاستخدام اليدوي للسلك ، ولن يتطلب المكفوفين أي تعديل كبير. أخطط لجعله سريًا ومضغوطًا قدر الإمكان عندما أقوم بعمل الإصدار النهائي باستخدام ESP8266.
الخطوة 2: عمل الجمعية
لقد أنجزت هذا المشروع باستخدام Lego mindstorms EV3 الخاص بي الذي يحتوي على وظائف أحتاجها لإظهار أن المشروع يمكن أن يعمل ، وأنا على دراية بالبرنامج الذي ساعد كثيرًا بالتأكيد. نظرًا لأن الستارة تستخدم سلسلة كروية لقيادة البكرة ، والتي لا تتوافق معها تروس Lego ، فقد قررت أن أفضل حل هو تصميم ترس بمسافة الكرة الصحيحة من الخارج - مع الفتحة القياسية "المتقاطعة" في المركز ، حيث سأقوم بعد ذلك بطباعة التصميم ثلاثي الأبعاد. في هذه المرحلة ، قمت أيضًا بعمل زر معايرة وقمت بإرفاق مستشعر ضوئي بنافذتي بالإضافة إلى زر ليكون بمثابة تجاوز.
الخطوة الثالثة: تصميم العتاد المكفوفين
فككت الستارة لأرى كيف بدا الساعد بمزيد من التفصيل. أثناء التفكيك ، وجدت ترسًا صغيرًا مكونًا من 16 سنًا تم تثبيته في مكانه بواسطة ملف مشدود ، وكان هذا هو الجزء الذي كنت أبحث عنه. بعد تصميم نسخة طبق الأصل من العتاد ، أضفت الثقوب المتوافقة مع Lego المطلوبة ، وطبعت الأجزاء الثلاثة المنفصلة وأخيراً ربطتها مع superglue. واجهت في البداية مشاكل في جعل جزء Lego متوافقًا ، بمعنى أن الطابعة ثلاثية الأبعاد الخاصة بي لم تكن لديها الدقة اللازمة لعمل ثقب "x" بشكل كافٍ ، ومع ذلك لم يكن لديها مشاكل مع الثقوب الدائرية على جانبيها. لذلك استبدلت حرف "x" بفتحة دائرية وطبعها بشكل جيد. بعد ذلك ، بعد قدر صغير من الاختبار ، تمكنت من رؤية أنه يمكنه التعامل مع عزم الدوران والوزن من الستارة. سأربط تصميماتي للمعدات أدناه أو يمكنك العثور عليها على Thingiverse على:
الخطوة 4: تشفير المكفوفين
كنت أرغب في رمز يقوم بفتح وإغلاق الستارة تلقائيًا عند وصولها إلى مستوى ضوء معين ، ولكن هذا أيضًا يحتوي على زر تجاوز بحيث لا يزال بإمكان المرء فتح أو إغلاق الستارة عندما يريد ذلك. لقد قمت بربط GitHub الخاص بي بالإصدار النهائي من الكود هنا:
استغرق رمز المشروع عدة أيام لإكماله ، وكان المنطق الأساسي للبرنامج يعمل بشكل صحيح مع مستشعر الضوء ، لكن زر التجاوز اللحظي لم يكن يعمل بشكل صحيح. لقد غيرت بالفعل حالة المكفوفين عند الضغط عليها ، لكنها تفتقر إلى وظيفة "الإغلاق" التي تعني أن المكفوفين سيظلون في الموضع - مما يعني أن المكفوفين سيعيدونه فورًا إلى ما كان عليه من قبل. لقد أصلحت هذا باستخدام كتلة "انتظار حتى" ، مرتبطة ببوابة منطقية أو بوابة تقرأ قيم مستشعر الضوء ومستشعر اللمس ، والتي سأشرحها أدناه.
يبدأ الرمز بمعايرة المحركات والمكفوفين ، بدءًا من الستارة مفتوحة بالكامل وخفضها حتى تصل إلى مستشعر اللمس في الأسفل ، مع حساب عدد الدورات التي تستغرق ربع دورة للوصول إلى الجزء السفلي ، والذي يتم حفظه باسم "الدورات المطلوبة" عامل. ثم يكتب "خطأ" إلى المتغير "BlindOpen" الذي يستخدم لتتبع موضع المكفوفين. في هذه المرحلة ، ينقسم الكود إلى 4 حلقات.
إحدى هذه الحلقات هي حلقة "Buttonstate" التي تنشر باستمرار حالة الزر إلى متغير يسمى "ButtonPressed". هذا يلغي الحاجة إلى وضع كتل أزرار متعددة على البرنامج النصي.
الحلقة الثانية هي "الضوء أو الظلام" التي تقارن باستمرار مستوى الضوء خارج نافذتي ، بثابت تم تحديده مسبقًا في الكود. إذا كانت النتيجة أقل من هذا الثابت ، فستكتب الحلقة "خطأ" إلى متغير "ItIsLight" ، بينما إذا كانت أعلى من القيمة فستكتب "صواب".
تحتوي الحلقة الثالثة على قائمة عددية من 3 خيارات والتي تخبر المكفوفين بشكل أساسي بما يجب عليهم فعله ، 0 = أعمى ، 1 = أعمى ، 2 = لا تفعل شيئًا لأن المكفوفين في المكان الصحيح. تبدأ الحلقة بقراءة متغير "BlindShould" الذي يحدد المهمة الصحيحة التي يجب على المكفوفين القيام بها ، ثم ينفذ هذه المهمة ، ويغير متغير "BlindOpen" إلى الخيار الصحيح ثم يصبح خاملاً حتى يتم تغيير المتغير "BlindShould" حيث يتكرر. إنها تستخدم قيمة "RotationsNeeded" بالإضافة إلى +/- 100٪ من الطاقة لتحريك الستارة المفتوحة أو المغلقة بالكامل.
الحلقة الرابعة والأخيرة هي الأكثر تعقيدًا ، وهي حلقة "Decider" التي تعالج جميع البيانات وتقرر ما يجب فعله مع كل تبديل. يقوم بذلك باستخدام "مفترقات في الطريق" القائمة على المنطق حيث يتم الضغط على الزر "،" مستوى الضوء ، "فتح أعمى" هي الأسئلة الصحيحة أو الخاطئة. جميع التباديل لها استجابة مشفرة صلبة ، والتي تكون إما 0 = أعمى ، 1 = أعمى أو 2 = لا تفعل شيئًا - هذه القيمة مكتوبة إلى المتغير "BlindShould" الذي يتم التعامل معه بعد ذلك بواسطة حلقة سابقة. ستنتظر بعض الردود بعد ذلك إما تغيير متغير "ItIsLight" و / أو "ButtonPressed" قبل الانتهاء من النص ، وهذا هو الحال فقط بالنسبة إلى التباديل الذي يتم تنشيطه للزر وإلا فإنه سيحاول على الفور تصحيح موضعه مما يعني أن المكفوفين سيعودون إلى حالتها الأصلية. يتم بعد ذلك تكرار هذه العملية لإنشاء نظام آلي قوي وبسيط نسبيًا ، والذي يمكن إضافته بسهولة وتصحيح أخطائه. تفو.
الخطوة 5: اللمسات الأخيرة
قررت بعد ذلك توصيل مصدر طاقة 9 فولت إلى EV3 الخاص بي باستخدام بعض المسامير والمسامير الخشبية مثل "البطاريات" ، مما جعل المنتج غير معتمد على البطاريات ومنعني من الاضطرار إلى تغيير البطاريات كل يومين.
الخطوة السادسة: تقييم المشروع
أعتقد أن المشروع سار بشكل جيد بشكل عام ، وانتهى بي الأمر بنموذج أولي يعمل لتجميع الستائر التلقائية ، والتي يمكنني أخذ جميع المعلومات ذات الصلة التي وجدتها أثناء المشروع وتنفيذها في الإصدار النهائي. لقد نجحت في ترميز الجهاز ، ولم أجد لاحقًا أي مشكلات رئيسية في الكود حتى الآن. كنت أرغب في جعل الجهاز أكثر جاذبية من الناحية المرئية ولكن مرة أخرى هو دليل على المفهوم وسأبذل بعض الجهد لجعله يبدو جيدًا عندما أصنع الإصدار النهائي باستخدام ESP8266. عندما أقوم بالمشروع مرة أخرى ، سأصمم المحرك ليجلس داخل الستارة لأنه سيكون من السهل إخفاء ذلك. أكبر درس تعلمته هو التصحيح المنطقي والتفكير في التعليمات البرمجية وتوثيقها واختبارها قبل تنفيذها.
موصى به:
موزع صابون آلي باستخدام اردوينو: 8 خطوات
موزع الصابون الأوتوماتيكي باستخدام Arduino: موزع الصابون الأوتوماتيكي باستخدام اردوينو: لذا مرحبًا بكم مرة أخرى في المقالة الجديدة في هذه المقالة ، سنصنع موزع الصابون الأوتوماتيكي باستخدام اردوينو ، من السهل جدًا صنع موزع الصابون هذا في خطوات قليلة ، يمكنك صنع موزع الصابون الأوتوماتيكي هذا
صنبور آلي (بدون لمس) باستخدام Arduino - اغسل يديك وحافظ على سلامتك أثناء أزمة COVID-19: 4 خطوات
صنبور آلي (بدون لمس) باستخدام Arduino - اغسل يديك وحافظ على سلامتك أثناء أزمة COVID-19: مرحبًا أيها الأصدقاء! أتمنى أن تكون جميعًا بصحة جيدة وأن تظل آمنًا الآن. في هذا المنشور ، سأشرح لك النموذج الأولي الذي صممته لغسل اليدين بأمان. لقد صنعت هذا المشروع بموارد محدودة. يمكن للمهتمين إعادة صنع هذا المؤيد
فتح باب المرآب باستخدام Raspberry Pi: 5 خطوات (بالصور)
فتح باب المرآب باستخدام Raspberry Pi: تحكم في محرك المرآب من هاتف ذكي أو أي جهاز قادر على تصفح صفحة ويب (مع AJAX!). بدأ المشروع حيث لم يكن لدي سوى جهاز تحكم عن بعد واحد في المرآب الخاص بي. ما مدى متعة شراء واحدة ثانية؟ ليس كافي. كان هدفي هو أن أتمكن من التحكم والمراقبة
فتح بوابة المرآب باستخدام الأردوينو: 3 خطوات
فتح بوابة المرآب باستخدام Arduino: هذا مشروع قائم على الأجهزة يستخدم Atmel Atmega 328P (Arduino UNO) لإنشاء فتاحة بوابة المرآب دون الحاجة إلى أجهزة طرفية إضافية. الكود قادر على حماية النظام نفسه من الأضرار الكهربائية. يتم تشغيل الدائرة بأكملها
فتح وإغلاق الباب تلقائيًا باستخدام Arduino !: 4 خطوات
قم بفتح وإغلاق الباب تلقائيًا مع Arduino !: هل أردت يومًا أن تجعل بابك مفتوحًا تلقائيًا كما هو الحال في أفلام الخيال العلمي؟ يمكنك الآن اتباع هذا Instructable. في هذا الدليل ، سنبني بابًا يمكن فتحه وإغلاقه تلقائيًا دون لمس الباب. أجهزة الاستشعار بالموجات فوق الصوتية