فهرست مطالب:

کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله
کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله

تصویری: کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله

تصویری: کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله
تصویری: Full Control of DC Motor with ESP8266 NodeMCU D1 Mini over WiFi 2024, جولای
Anonim
کنترل از راه دور جهانی از راه دور با Node-MCU
کنترل از راه دور جهانی از راه دور با Node-MCU

سلام به همگی و به این پروژه خوش آمدید! من یک شخص تنبل هستم و کابوس یک تنبل این است که وقتی متوجه می شوید که راه دور خیلی دور است ، تلویزیون تماشا کنید! فهمیدم که اگر همیشه ریموتم را در دست داشته باشم خیلی دور نخواهد بود. این باعث شد من LAZr را ایجاد کنم ، این ژست کنترل از راه دور جهانی است.

در این پروژه ، من یک دستکش مجهز به سنسورهایی ایجاد می کنم که قادر به تشخیص حرکات دست است و می تواند با یک حرکت ساده انگشت به تلویزیون یا سایر دستگاه ها سیگنال ارسال کند.

امیدوارم این پروژه را دوست داشته باشید و در مسابقه لیزری Epilog به آن رای دهید!

مرحله 1: قطعات

قطعات
قطعات

این پروژه شامل قسمتهای زیر است:

دستکش (5.00 دلار)

Node-MCU / ESP8266 (3.00 دلار)

این میکروکنترلر و مغز این پروژه است. این دستگاه قابلیت اتصال به WiFi را دارد ، که در برنامه های اتوماسیون خانگی و پروژه هایی مانند این بسیار مفید است ، زیرا می توان کنترل WiFi را در این پروژه پیاده کرد.

5 سنسور فلکس (هریک 7.00 دلار)

این سنسورها میزان خمش را اندازه گیری می کنند ، مانند نحوه اندازه گیری سطح نور توسط LDR (مقاومت وابسته به نور). از این ابزارها برای اندازه گیری خم شدن انگشتان و حرکات دست استفاده می شود.

فرستنده IR (0.30 دلار)

این جزء سیگنال های IR را به دستگاه هایی مانند تلویزیون ، دستگاه پخش DVD و غیره منتقل می کند.

گیرنده IR (1.00 دلار)

این جزء سیگنالهای IR ارسال شده از راه دور را دریافت می کند. برای رمزگشایی سیگنال ها از راه دور مورد نیاز است. سپس می توان از این سیگنال ها برای کنترل دستگاه از روی دستکش استفاده کرد. من TSOP4838 را توصیه می کنم زیرا با موفقیت آن را با تلویزیون های شارپ ، سامسونگ و اپل آزمایش کرده ام.

5 مقاومت 10k اهم (هر کدام 0.01 دلار)

این مقاومتها برای هر یک از Flex Sensors مورد نیاز است.

مقاومت 220 اهم (هریک 0.01 دلار)

این مقاومتها برای هر یک از Flex Sensors مورد نیاز است.

ترانزیستور (0.39 دلار)

ترانزیستور برای انتقال IR استفاده می شود.

IC Multiplexer 74HC4051N (0.22 دلار)

از آنجا که Node-MCU فقط یک پورت آنالوگ دارد ، از این IC برای "تقسیم" پین آنالوگ به چند مورد استفاده می شود که به سنسورهای فلکس متصل هستند. بعداً در این باره بیشتر.

تعداد زیادی کابل جامپر! (اگر تصمیم دارید از تخته نان استفاده کنید)

قسمت های زیر اختیاری است اما در صورت استفاده مفید است:

سوکت IC 16 پین

سربرگ های زن

مرحله 2: IC Multiplexer (74HC4051N)

IC Multiplexer (74HC4051N)
IC Multiplexer (74HC4051N)

در حالی که Node-MCU دارای ویژگیهای عالی مانند سازگاری WiFi و Arduino IDE است ، اشکالاتی نیز دارد. فقط یک پین آنالوگ دارد که برای این پروژه کافی نیست. از آنجا که دستکش دارای پنج سنسور فلکس است ، برای کار به پنج ورودی آنالوگ نیاز دارد. یک راه حل ساده و ارزان برای این مشکل استفاده از IC Multiplexer (74HC4051N) است. این آی سی قادر است یک ورودی آنالوگ را به هشت تبدیل کند!

چگونه کار می کند؟

IC با روشن کردن یک ورودی آنالوگ ، خواندن و خاموش کردن آن کار می کند. سپس ورودی آنالوگ بعدی را روشن می کند. با انجام این کار ، فقط یک سنسور را در یک زمان می خواند و آن را به پین آنالوگ میکروکنترلر ارسال می کند. IC می تواند ورودی های آنالوگ را آنقدر سریع روشن ، خوانده و خاموش کند که به نظر می رسد همه آنها را همزمان می خواند. این مشابه نحوه عملکرد صفحه نمایش رایانه و تلفن های هوشمند است. هر پیکسل نمی تواند پین مخصوص خود را داشته باشد (این یک فاجعه خواهد بود!) ، بنابراین پیکسل ها را آنقدر سریع روشن و خاموش می کند که چشم ما همه آنها را همزمان روشن می بیند. برای کارکرد ، IC به سه پایه دیجیتالی نیاز دارد. با تغییر ترکیب حالتهای روشن و خاموش پین ها ، IC قادر است همه 8 ورودی آنالوگ را روشن و خاموش کند.

مرحله 3: طرح بندی Breadboard

طرح بندی Breadboard
طرح بندی Breadboard

طرح بندی دستگاه در تصویر بالا نشان داده شده است.

مهم: به نوع ترانزیستوری که استفاده می کنید توجه داشته باشید ، پین جمع کننده ترانزیستور باید به LED IR متصل شود ، نه پین GND.

مرحله 4: دریافت سیگنال ها

برای اینکه دستکش سیگنال صحیح ارسال را بشناسد ، باید سیگنال ها را از راه دور تلویزیون/لوازم خانگی دریافت کرده و در کد دستکش برنامه ریزی کنید. برای دریافت این سیگنال ها ، یک گیرنده IR لازم است.

توجه: به شماره مدل ریموت تلویزیون خود نگاهی بیندازید و سعی کنید مشخصات سیگنال را به صورت آنلاین بیابید. برخی از گیرنده ها و فرستنده های IR با برخی از کنترل از راه دور کار نمی کنند ، بنابراین مهم است که یک فرستنده/گیرنده با فرکانس مربوط به تلویزیون خود پیدا کنید. من از گیرنده IR 4838 استفاده می کنم که با ریموت تلویزیون سامسونگ کار می کند.

مرحله 5: کد دریافت سیگنال ها

کد دریافت سیگنال ها
کد دریافت سیگنال ها
کد دریافت سیگنال ها
کد دریافت سیگنال ها

برای استفاده از کد ، کتابخانه IRremoteESP8266 باید بارگیری شود. لینک دانلود در زیر آمده است:

IRremoteESP8266

در Arduino IDE ، به Sketch> Include Library> Add. ZIP Library بروید. دو کتابخانه بارگیری شده را پیدا کرده و آنها را به IDE اضافه کنید. برای دسترسی به کد دریافت سیگنالهای IR ، به فایل> مثالها> IRremoteESP8266> IRrecvDumpV2 بروید. در کد ، مقدار kRecvPin را از 14 به 5 تغییر دهید. این امر باعث می شود که Node-MCU پین صحیح (D1) را بخواند.

پس از سیم کشی اتصالات ورق نورد ، این کد را در Node-MCU خود بارگذاری کرده و مانیتور سریال خود را باز کنید (نرخ باود را روی 115200 تنظیم کنید). اگر دکمه ای را روی ریموت تلویزیون خود فشار دهید ، سیگنال ها روی مانیتور سریال شما چاپ می شوند. موفقیت!

مجموعه ای طولانی از اعداد با مقدار rawData را مشاهده خواهید کرد. این اعداد را ضبط کرده و مطمئن شوید که دکمه ای را که برای گرفتن آن اعداد فشار داده اید ضبط کنید. بعداً به این موارد نیاز خواهید داشت.

مرحله 6: شماتیک PCB

PCB شماتیک
PCB شماتیک

PCB Schematic در Autodesk Eagle ایجاد شده است و همانطور که در تصویر بالا نشان داده شده است. همه فایلهای Eagle در این دستورالعمل قرار دارند و در مرحله بعد قابل بارگیری هستند.

مرحله 7: طراحی PCB

طراحی PCB
طراحی PCB

در اینجا طراحی PCB من است. همه فایلهای Eagle برای این برد مدار در زیر آمده است ، بنابراین می توانید از این طرح برای ساخت PCB شخصی خود استفاده کرده یا آن را تغییر دهید! من پدهای SMD را برای 3 ورودی آنالوگ اضافی و همچنین درگاه 3V3 و GND اضافه کرده ام. این به من امکان می دهد در صورت نیاز این سیستم را گسترش دهم ، در منابع و زمان صرفه جویی کرده و PCB را همه کاره کنم.

مرحله 8: همه چیز را با هم ترکیب کنید

همه اش را بگذار کنار هم
همه اش را بگذار کنار هم

پس از چند روز انتظار ، سرانجام PCB های خود را از طریق پست دریافت کردم. اکنون زمان قسمت سرگرم کننده است ، همه را با هم لحیم کنید! با رعایت طرح کلی ، لحیم کاری PCB نسبتاً آسان بود. در طراحی خود ، از یک سوکت IC و هدرهای زن برای IC چندگانه و Node-MCU خود استفاده کردم. این به این دلیل است که من می توانم این تراشه ها را در صورت نیاز به تعویض یا استفاده مجدد از آنها حذف کنم. اگر می خواهید یک فرم ضخیم تر داشته باشید ، می توانید تراشه ها را مستقیماً به تخته بچسبانید ، اما به یاد داشته باشید که حذف آنها بعداً بسیار دشوار خواهد بود.

مرحله نهم: چسباندن دستکش

کنار هم گذاشتن دستکش
کنار هم گذاشتن دستکش

برای نصب سنسورهای انعطاف پذیر در دستکش ، لوله های کوچک لاستیکی را به انگشتان دستکش چسبانده و حسگرها را درون آنها قرار دادم. به این ترتیب سنسورها دارای اتاق تکان دادن بودند و در صورت لزوم می توان آنها را حذف کرد. برای نگه داشتن PCB ، آن را با استفاده از چند نوار چسب روی دستکش نصب کردم. یکبار دیگر جمع آوری این امر به شما بستگی دارد. می توانید خلاق باشید!

مرحله 10: برنامه نویسی دستورات

اکنون که سخت افزار مراقبت شده است ، زمان نرم افزار فرا رسیده است. برای دستکش ، کد زیر را بارگیری کنید.

برای اینکه کد با تلویزیون شما کار کند ، باید برخی اعداد را تغییر دهید. آن اعدادی را که نوشتید به خاطر دارید؟ اکنون زمان استفاده از آنها فرا رسیده است. اگر اعداد را ندارید ، نگران نباشید ، جمع آوری این سیگنال ها بسیار آسان است. به سادگی به مرحله دریافت IR بازگردید. مجموعه داده rawData را کپی کرده و زیر نظر "PASTE DATA HERE" در کد قرار دهید. این مجموعه داده را به powerOn تغییر نام دهید. عدد کنار powerOn (در مورد من 95) را کپی کنید. این عدد مقدار اعداد موجود در مجموعه داده است. اکنون ، به قسمت پایین کد ، زیر نظر "DISPLAY POWER" بروید. "95" را با مقداری که کپی کرده اید جایگزین کنید. اکنون ، کد خود را در Node-MCU بارگذاری کرده و دستکش را بپوشید. اگر دست خود را به سمت تلویزیون بگذارید و یکی از انگشتان خود را خم کنید ، تلویزیون شما روشن می شود!

این به راحتی قابل تنظیم است. برای افزودن توابع بیشتر ، به سادگی مجموعه داده های بیشتری اضافه کنید و تابع DISPLAY POWER را کپی و جایگذاری کنید و اطلاعات آن را به مجموعه داده مربوطه و تعداد مقادیر تغییر دهید. از آنجا که هر سنسور فلکس متفاوت است ، ممکن است مجبور شوید شماره "310" را طوری تغییر دهید که هنگام تا شدن انگشت ثبت شود. حتی می توانید حرکات چند انگشتی و "کلید اصلی" را انجام دهید. به عنوان مثال ، من کد خود را به گونه ای تنظیم کردم که وقتی انگشت حلقه و شست خود را خم می کنم ، صدای تلویزیون من خاموش می شود و منبع تغییر می کند. امکانات توسعه پذیری بی پایان است!

مرحله 11: انجام شد

انجام شد!
انجام شد!
انجام شد!
انجام شد!

در آنجا آن را دارید ، یک کنترل از راه دور تلویزیون با ژست جهانی! امیدوارم از این پروژه خوشتان آمده باشد و امیدوارم در مسابقه لیزر Epilog به من رای دهید. در صورت داشتن هر گونه سوال ، نظر خود را بنویسید و من تمام تلاش خود را می کنم تا به آنها پاسخ دهم. باز هم امیدوارم خوشتان آمده باشد!

توصیه شده: