فهرست مطالب:
- مرحله 1: ایده ها یا راه حل های بالقوه
- مرحله 2: ایجاد مجمع
- مرحله 3: طراحی چرخ دنده کور
- مرحله 4: کد نویسی برای نابینایان
- مرحله 5: تکمیل لمس
- مرحله ششم: ارزیابی پروژه
تصویری: بازکن اتوماتیک کور با استفاده از EV3: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
من مجموعه ای از پرده های خاموش کننده رول در اتاق خواب دارم که اغلب فراموش می کنم صبح یا عصر آنها را باز یا بسته کنم. من می خواهم باز و بسته شدن را به صورت خودکار انجام دهم ، اما با لغو زمانی که در حال تغییر هستم.
مرحله 1: ایده ها یا راه حل های بالقوه
پس از جستجو در سایت های مختلف مانند YouTube ، Instructables و Thingiverse ، متوجه شدم که رایج ترین راه حل این بود که با استفاده از یک موتور پله ای یا سروو ، موتور قرقره ای را که کوره ها را پیچیده و باز می کرد ، حرکت دهید. من 2 گزینه اصلی با مزایا و معایب مختلف پیدا کردم.
ایده 1: روش قرقره ای که موتور و چرخ دنده در داخل قرقره قرار دارد. این دارای مزایایی است که یک روش شیک و زیبا است ، اما دارای معایبی است که نیاز به اصلاحات عمده برای نابینایان دارد ، سیم دیگر قابل استفاده نیست و هنگام نگهداری ، دسترسی به مونتاژ بسیار دشوار خواهد بود.
ایده 2: روش سیم کشی که در آن موتور و چرخ دنده روی سیم قرار دارد. این مزیت دارد که ساده تر است و به راحتی می توان به مونتاژ دسترسی داشت. با این حال ، این عیب را دارد که می تواند زشت و حجیم باشد ، و همچنین این واقعیت که هنگام اجرا باید به طاقچه متصل شود.
من روش بند ناف را ترجیح می دهم ، زیرا راه حل بسیار ساده تری است که مانع استفاده دستی از سیم نمی شود و کورها نیازی به اصلاحات اساسی ندارند. من قصد دارم تا زمانی که نسخه نهایی را با ESP8266 تهیه می کنم ، تا حد ممکن مخفی و جمع و جور کنم.
مرحله 2: ایجاد مجمع
من این پروژه را با استفاده از Lego mindstorms EV3 انجام دادم که دارای قابلیت هایی است که باید نشان دهم که پروژه می تواند کار کند ، و من با نرم افزاری آشنا هستم که قطعاً کمک زیادی کرد. از آنجایی که پرده از زنجیره ای برای چرخاندن قرقره استفاده می کند ، چرخ دنده هایی که لگو با آن سازگار نیست ، من تصمیم گرفتم که بهترین راه حل این است که یک چرخ دنده با فاصله مناسب توپ در خارج طراحی کنم- با سوراخ استاندارد "متقاطع" در مرکز ، جایی که من می توانم طرح را به صورت سه بعدی چاپ کنم. در این مرحله من یک دکمه کالیبراسیون ایجاد کردم و یک سنسور نور را به پنجره و همچنین دکمه ای متصل کردم تا به عنوان لغو عمل کند.
مرحله 3: طراحی چرخ دنده کور
من کور را جدا کردم تا ببینم چگونه میل لنگ با جزئیات بیشتری ظاهر می شود. در حین جداسازی ، من یک چرخ دنده کوچک 16 دندانی پیدا کردم که توسط یک سیم پیچ کشیده در جای خود نگه داشته شده بود ، این قسمتی بود که من به دنبال آن بودم. پس از طراحی ماکت چرخ دنده ، من سوراخ های مورد نیاز سازگار با لگو را اضافه کردم ، 3 قسمت جداگانه را چاپ کردم و در نهایت آنها را با چسب فوق العاده به هم چسباندم. من در ابتدا با سازگاری قطعه لگو مشکل داشتم ، به این معنا که چاپگر سه بعدی من رزولوشن کافی برای ایجاد سوراخ "x" را نداشت ، اما هیچ مشکلی در سوراخ های مدور در دو طرف آن وجود نداشت. بنابراین "x" را با یک سوراخ دایره ای جایگزین کردم و خوب چاپ شد. سپس ، پس از کمی آزمایش ، متوجه شدم که می تواند گشتاور و وزن کور را تحمل کند. من طرح های خود را برای چرخ دنده در زیر پیوند می دهم یا می توانید آن را در Thingiverse پیدا کنید:
مرحله 4: کد نویسی برای نابینایان
من کدی می خواستم که وقتی پرده به سطح نوری مشخص می رسد به طور خودکار باز و بسته می شود ، اما دارای یک دکمه لغو نیز بود تا بتوان در صورت تمایل کرکره را باز یا بسته کرد. من GitHub خود را با نسخه نهایی کد در اینجا پیوند داده ام:
تکمیل کد پروژه چندین روز به طول انجامید ، من منطق اولیه برنامه را داشتم که درست با سنسور نور کار می کرد ، اما دکمه لغو لحظه ای به درستی کار نمی کرد. هنگام فشار دادن ، وضعیت نابینایان را تغییر داد ، اما فاقد عملکرد "چفت شدن" بود که به این معنی بود که نابینایان در موقعیت خود باقی می مانند- به این معنی که نابینایان بلافاصله آن را به حالت قبلی باز می گردانند. من این را با استفاده از بلوک "منتظر بمان" ، متصل به یک دروازه منطقی OR که مقادیر سنسور نور و سنسور لمسی را می خواند ، حل کردم ، که در زیر توضیح خواهم داد.
کد با کالیبره کردن موتورها و کور شروع می شود ، با بازکردن کامل کوره و پایین آوردن آن تا رسیدن به سنسور لمسی در پایین ، شمارش چند دور چرخش برای رسیدن به پایین ، که به عنوان "RotationsNeeded" ذخیره می شود. متغیر. سپس به متغیر "BlindOpen" که برای ردیابی موقعیت نابینایان استفاده می شود ، "false" می نویسد. در این مرحله کد به 4 حلقه تقسیم می شود.
یکی از این حلقه ها حلقه "Buttonstate" است که به طور مداوم وضعیت دکمه را در متغیری به نام "ButtonPressed" منتشر می کند. این کار نیازی به قرار دادن چند بلوک دکمه برای قرار دادن روی اسکریپت ندارد.
حلقه دوم "روشن یا تاریک" است که به طور مداوم سطح نور خارج از پنجره من را با ثابت تعیین شده در کد قبلی مقایسه می کند. اگر نتیجه زیر آن ثابت باشد ، حلقه برای متغیر "ItIsLight" "false" می نویسد ، در صورتی که اگر بالاتر از مقدار باشد "true" می نویسد.
حلقه سوم شامل یک لیست عددی از 3 گزینه است که اساساً به نابینایان می گوید که چه کار کنند ، 0 = کور کردن پایین ، 1 = کور کردن بالا ، 2 = هیچ کاری انجام ندهید زیرا کور در مکان مناسب است. حلقه با خواندن متغیر "BlindShould" شروع می شود که وظیفه صحیح کور را مشخص می کند ، سپس آن کار را انجام می دهد ، متغیر "BlindOpen" را به گزینه صحیح تغییر می دهد و سپس بیکار می شود تا زمانی که متغیر "BlindShould" در جایی تغییر کند تکرار می شود از مقدار "RotationsNeeded" و همچنین از توان 100/1 +برای حرکت یا بازکردن کور به طور کامل استفاده می کند.
چهارمین و آخرین حلقه پیچیده ترین حلقه است ، این حلقه "Decider" است که تمام داده ها را مدیریت می کند و تصمیم می گیرد که با هر جایگشت چه کار کند. این کار را با استفاده از "چنگال در جاده" بر اساس منطق انجام می دهد که در آن "دکمه فشار داده شده است" ، "سطح نور" ، "کور باز می شود" سوالات درست یا غلط هستند. همه جایگزینی ها دارای یک پاسخ سخت کدگذاری شده هستند که عبارت است از 0 = کور کردن پایین ، 1 = کور کردن بالا یا 2 = انجام هیچ کاری - این مقدار بر روی متغیر "BlindShould" نوشته می شود که سپس توسط حلقه قبلی مدیریت می شود. برخی از پاسخها سپس منتظر می مانند تا متغیر "ItIsLight" و/یا "ButtonPressed" قبل از پایان اسکریپت تغییر کند ، این فقط در مورد تغییرات دکمه فعال است ، زیرا در غیر این صورت بلافاصله سعی می کند موقعیت خود را اصلاح کند به این معنی که نابینایان باز می گردند. به حالت اولیه خود این فرآیند سپس حلقه می شود تا یک سیستم اتوماتیک قوی و نسبتاً ساده ایجاد شود ، که به راحتی می توان به آن اضافه کرد و اشکال زدایی کرد. پیو
مرحله 5: تکمیل لمس
بعداً تصمیم گرفتم با استفاده از چند رولپلاک و پیچ چوبی به عنوان "باتری" یک منبع تغذیه 9 ولت به EV3 خود متصل کنم ، این امر باعث می شود این محصول به باتری ها وابسته نباشد و از تعویض هر دو روز باتری جلوگیری کنم.
مرحله ششم: ارزیابی پروژه
من فکر می کنم که پروژه به طور کلی خوب پیش رفت ، من با یک نمونه اولیه برای مونتاژ پرده های اتوماتیک کار کردم ، که می توانم تمام اطلاعات مربوطه را که در طول پروژه پیدا کردم بردارم و در نسخه نهایی اجرا کنم. من با موفقیت دستگاه را کد کردم ، اما بعداً هیچ مشکل عمده ای در مورد کد پیدا نکرده ام. من دوست داشتم این دستگاه از نظر بصری جذابیت بیشتری داشته باشد ، اما بار دیگر اثبات مفهوم آن است و وقتی نسخه نهایی را با ESP8266 می سازم ، تلاش می کنم تا ظاهر آن خوب به نظر برسد. هنگامی که پروژه را دوباره انجام می دهم ، موتور را طوری طراحی می کنم که داخل کرکره بنشیند ، زیرا پنهان کردن آن راحت تر است. بزرگترین درسی که آموختم این است که قبل از اجرای کد ، اشکال زدایی منطقی را انجام دهم ، کد خود را بیندیشم ، مستند و آزمایش کنم.
توصیه شده:
استفاده مجدد از لامپ های LED برای کور شدن چراغ ها: 7 مرحله
استفاده مجدد از لامپ های LED برای کور شدن چراغ!: این روش خوبی برای استفاده مجدد از تراشه های LED موجود در لامپ هایی است که از آنها استفاده می کند
آردوینو اتوماسیون خانگی ، درب بازکن اتوماتیک: 6 مرحله
Arduino Home Automation، Automatic Door Open: در دوره "الکترونیک به طور خلاصه" من ثبت نام کنید: https://www.udemy.com/electronics-in-a-nutshell/؟couponCode=TINKERSPARK همچنین برای اطلاعات بیشتر کانال یوتیوب من را اینجا ببینید. پروژه ها و آموزش های الکترونیکی: https://www.youtube.com/channel/UCelOOR
پرده اتوماتیک/پنجره کور با استفاده از آردوینو و LDR: 3 مرحله
پرده اتوماتیک/پنجره کور با استفاده از آردوینو و LDR: در این آموزش ما قصد داریم نحوه ایجاد پنجره خودکار پنجره با استفاده از ماژول آردوینو و LDR را نشان دهیم. در روز پرده/پرده پنجره پایین می رود و در شب نیز بالا می آید
درب بازکن اتوماتیک مرغ: 6 مرحله
درب بازکن اتوماتیک درب مرغ: درب بازکن اتوماتیک مرغ قطعات و ابزار مورد استفاده
بازکن اتوماتیک کور: 11 مرحله
بازکن اتوماتیک کور: http: //contraptionmaker.info ما در یک خانه مزرعه 150 ساله با پنجره های اصلی زندگی می کنیم. با وجود عایق کاری و نمای جانبی جدید ، مانند زندگی در غربال ، در فصل زمستان است. برای مقابله با این مشکل ، پلاستیک را روی پنجره ها نصب می کنیم تا