کنترل یک موتور DC با کنترل از راه دور IR با استفاده از آردوینو و L293D
این پروژه نشان میدهد که چگونه میتوان جهت و سرعت یک موتور DC را با استفاده از یک ریموت کنترل مادون قرمز (IR)، یک آردوینو Uno و یک تراشه درایور موتور L293D کنترل کرد. این راهاندازی امکان کنترل دقیق موتور را فراهم میکند و آن را برای انواع مختلفی از کاربردها مناسب میسازد.
این پروژه دنیایی از امکانات را برای تلاشهای الکترونیکی DIY شما باز میکند. در اینجا چند ایده برای شروع شما آورده شده است:
- ربات کنترلی از راه دور:حرکت یک ربات کوچک را با استفاده از کنترل از راه دور IR کنترل کنید.
- سیستم پرده برقیپردهها یا کرکرهها را بهطور از راه دور باز و بسته کنید.
- نصبهای هنری تعاملی:آثار هنری پویایی ایجاد کنید که با قطعات متحرک کنترلشده توسط یک ریموت IR کار میکنند.
- سیستم پن و تیلت:کنترل زاویه افقی و عمودی دوربین یا حساس(حس کننده) با استفاده از یک کنترل از راه دور IR.
سختافزار/قطعات
- آردوینو اونو
- آیسی درایور موتور L293D
- موتور دیسی
- کنترل از راه دور IR و گیرنده
- دیودها (1N4001 x4)
- سیمهای متصل کننده
- منبع تغذیه (برای مثال، باتری 9 ولتی برای موتور)
راهنمای سیمکشی
%%WIRING%%
(in video at 02:14)
چیپ L293D به اتصالات به هر دو Arduino و یک منبع تغذیه خارجی برای موتور نیاز دارد. دیودها برای حفاظت در برابر بازگشت ولتاژ استفاده میشوند. گیرنده IR به پایههای 5V و GND آردوینو متصل میشود و پایه سیگنال به پایه دیجیتال 11 متصل میشود (در شِفر (کود) قابل تنظیم است). موتور به پایههای خروجی L293D متصل میشود که توسط آردوینو کنترل میشوند.
توضیح شِفر (کود)
(در ویدئو در ساعت ۰۷:۳۰)
شِفر (کود) آردوینو ارائه شده از کتابخانه IRremote برای رمزگشایی سیگنالها از کنترل از راه دور IR استفاده میکند. پارامترهای قابل تنظیم مهم در داخل شِفر (کود) شامل:
const char type ='B';// W for white, B for black. Must keep single quotes like 'B' or 'W'
const boolean PCB = 0;// if receiver is PCB set to 1, if not set to 0. See video for details
تنظیم کنیدtypeمتغیر را به 'W' برای کنترل از راه دور سفید یا 'B' برای کنترل از راه دور سیاه قرار دهید (در ویدیو در 07:41). PCBمتغیر باید بر روی 1 تنظیم شود اگر گیرنده IR شما دارای PCB باشد، و 0 اگر یک ماجیول عریان باشد (در ویدیو در 07:50).
const String RIGHT=">";// move motor to the right (CW) with this key on remote
const String LEFT ="<";// move motor to the left (CCW) with this key on remote
const String STOP ="OK";// stop motor with this key on remote
این خطوط برچسبهای دکمههای کنترل از راه دور IR را برای کنترل موتور تعریف میکنند. اطمینان حاصل کنید که این برچسبها با برچسبهای روی کنترل از راه دور شما مطابقت دارند (در ویدیو در 08:12). شما میتوانید اینها را برای استفاده از دکمههای مختلف روی کنترل از راه دور خود سفارشی کنید.
#define P1A 2 // define pin 2 as for P1A
#define P2A 7 // define pin 7 as for P2A
#define EN12 8 // define pin 8 as for 1,2EN enable
int RECV_PIN = 11;
این خطوط پایههای آردوینوی استفاده شده برای کنترل درایور موتور L293D را تعریف میکنند (در ویدیو در ۰۹:۵۲).P1AوP2Aکنترل جهت وEN12موتور را فعال میکند.RECV_PINپایه متصل به خروجی سیگنال گیرنده IR است (در ویدئو در 06:52). اگر از پایههای مختلف استفاده میکنید، اینها را تغییر دهید.
پروژه زنده/نمایشگاه
در ویدئو در ساعت ۱۴:۱۵
این ویدئو پروژه را در عمل نشان میدهد و نشان میدهد که چگونه موتور DC به دستورات ریموت IR پاسخ میدهد. این نمایش چگونگی کنترل چرخش موتور در جهت عقربههای ساعت و خلاف عقربههای ساعت و نیز چگونگی متوقف کردن موتور با استفاده از دکمههای مختلف ریموت کنترل را نشان میدهد.
فصلها
- :00 مقدمه و مرور کلی پروژه
- اجزای پروژه و پیشنیازها
- [02:14] توضیحات سیمکشی
- [07:30] توضیح شِفر (کود) و پیکربندی
- [۱۴:۱۵] نمایش پروژه با ریموت مشکی و PCB
- [16:04] نمایش با ریموت نقرهای و PCB
- [17:42] نمایش با ریموت نقرهای و ماجیول خالی
- [18:23] نمایش با کنترل از راه دور مشکی و ماجیول بدون پوشش
منابع و مراجع
-
خارجی
فایلها📁
هیچ فایلی موجود نیست.