ریموت کنترل وایرلس با ESP32 و پروتکل ESP-NOW
کنترل کردن رباتها، ماشینهای کنترلی یا حتی پروژههای خانههوشمند از راه دور، همیشه یکی از جذابترین بخشهای الکترونیک بوده. خیلی وقتها برای ارتباط بیسیم سراغ بلوتوث یا وایفای میریم، اما پروتکل ESP-NOW یه راهحل بینظیر و بهینه برای بردهای ESP محسوب میشه که سرعت خیلی بالا و برد ارتباطی فوقالعادهای داره.
تو این پروژه میخوایم با ترکیب یه ماژول جویاستیک و برد ESP32 (یا ESP8266)، یه ریموت کنترل وایرلس همهکاره و سریع بسازیم. این کنترلر میتونه به عنوان فرستنده عمل کنه و فرمانهای حرکتی رو در کسری از ثانیه برای گیرنده بفرسته. خوبی پروتکل ESP-NOW اینه که نیازی به مودم یا اتصال به شبکههای وایفای پیچیده نداره و دو تا برد مستقیما با هم حرف میزنن.
بیا وسایل رو آماده کنیم و قدمبهقدم این ریموت جذاب رو با هم بسازیم تا تو پروژههای بعدیت حسابی ازش استفاده کنی.
قطعات موردنیاز
- برد ESP32 یا ESP8266
- ماژول جویاستیک 5 پین
- منبع تغذیه 5 ولت
- الایدی کوچک و مقاومت 150 اهم (اختیاری)
- ماژول مبدل افزاینده/کاهنده ولتاژ 3.3 ولت به همراه باتری لیتیوم پلیمر
- قاب محافظ (چوبی، پلاستیکی، مقوایی و...)
- سیم، هویه و نرمافزار آردوینو برای برنامهنویسی
سیمکشی بخش فرستنده (ریموت)
تو قدم اول باید پایههای ماژول جویاستیک رو خیلی دقیق به برد ESP32 یا ESP8266 وصل کنی. ترکیب اصلی مدار خیلی سادست و طبق دیاگرام میتونی پیش بری. اضافه کردن الایدی، کلید روشنخاموش و مبدل ولتاژ برای باتری لیتیومی کاملا اختیاریه و به طراحی خودت بستگی داره.
- پایه GND جویاستیک به پایه GND برد
- پایه 5 ولت جویاستیک به پایه 3.3 ولت برد
- پایه X جویاستیک به پایه SP برد
- پایه Y جویاستیک به پایه SN برد
- پایه سوئیچ یا SW به پایه G25 برد
برای تامین انرژی مدار، میتونی از یه باتری لیتیومی به همراه یه ماژول مبدل باکبوست استفاده کنی تا ولتاژ باتری رو روی 3.3 ولت ثابت نگه داره. البته یه راه خیلی سادهتر و بدون دردسر هم وجود داره؛ اینکه بیخیال باتری بشی و برد رو با یه کابل USB مستقیم به یه پاوربانک وصل کنی.
برنامهنویسی و پروتکل ESP-NOW
برای ارسال سیگنالها از پروتکل ESP-NOW استفاده میکنیم. این پروتکل بر بستر وایفای کار میکنه، اما چون نیازی به لاگین کردن و اتصال به مودم نداره، سرعت خیلی بالاتری میده و برد ارتباطیش هم عالیه. برای اینکه دو تا برد بتونن به هم وصل بشن، فقط کافیه آدرس مک (MAC Address) گیرنده رو داشته باشی تا جفتسازی انجام بشه.
عملکرد مدار فرستنده به این شکله که حرکتهای جویاستیک رو تشخیص میده و سیگنالها رو از طریق وایفای برای دستگاهی که آدرس مک مشخصی داره میفرسته. بعد از ارسال، یه تاییدیه دریافت از گیرنده میگیره و برای اینکه مطمئن بشیم همهچیز درست کار میکنه، الایدی روی ریموت کنترل روشن میشه.
گیرنده هم به محض اینکه سیگنالی رو دریافت میکنه، یه پیام تایید برای فرستنده میفرسته و بعدش فرمانهای حرکتی رو برای اجرای کارهای بعدی تو میکروکنترلر خودش پردازش میکنه.
آمادهسازی مدار گیرنده
حالا نوبت اینه که یه برد ESP دیگه (چه ESP8266 و چه ESP32) رو به عنوان گیرنده تنظیم کنی. این گیرنده میتونه روی یه ماشین کنترلی، قایق یا هر ربات دیگهای نصب بشه. فقط حواست باشه که آدرس مک فرستنده و گیرنده رو دقیقا تو کدهای هر دو طرف ست کنی تا بتونن همدیگه رو پیدا کنن.
آپلود کدها با نرمافزار آردوینو
برای کامپایل و آپلود کردن کدهای این پروژه، باید با محیط نرمافزار آردوینو آشنایی اولیه داشته باشی. کافیه بردها رو با کابل به سیستم وصل کنی و بعد از نصب پکیجهای مربوط به بردهای ESP، کدها رو روی فرستنده و گیرنده آپلود کنی.
ساخت قاب محافظ برای ریموت
طراحی قاب ریموت کنترل کاملا به سلیقه تو و قطعاتی که استفاده کردی بستگی داره. اینکه چه مدلی از میکروکنترلر یا چه سایز باتریای رو انتخاب کردی، ابعاد قاب رو مشخص میکنه. میتونی از ورقهای پلاستیکی، پلکسی یا حتی مقوای فشرده برای ساخت یه محفظه محکم استفاده کنی تا از قطعات الکترونیکی محافظت بشه.
اگه به پرینتر سهبعدی دسترسی داری، طراحی یه قاب سهبعدی میتونه ظاهر ریموتت رو به شدت حرفهای و جذاب کنه. دمت گرم که تا آخر این پروژه با آیسیمدار همراه بودی. ساختن ابزارهای کنترلی بیسیم، درهای جدیدی رو برای ساخت رباتهای خفنتر باز میکنه. اگه این ریموت رو ساختی، حتما تو بخش نظرات برامون بنویس که میخوای ازش برای کنترل چه وسیلهای استفاده کنی!
فایلهای پیوست
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.








































گفتگوهای کاربران
هنوز نظری ثبت نشده؛ تو شروع کن!
هنوز نظری ثبت نشده؛ تو شروع کن!