آموزش ESP32 29/55 - خواندن فشار کلید کنترل از راه دور IR با ESP32 | کیت یادگیری اینترنت اشیاء ESP32 سان فاوندر
در این آموزش، ما یاد خواهیم گرفت که چگونه سیگنالهای مادون قرمز (IR) را با استفاده از ماجیول ESP32 و یک گیرنده IR سازگار تشخیص دهیم. زمانی که ما دکمهای را روی ریموت فشار میدهیم، ESP32 سیگنال را شناسایی کرده و اقداماتی خاص را انجام میدهد، مانند ایجاد صدای زنگ برای فشار دادن کلیدهای خاص. این پروژه برای کسانی که به دنبال ادغام قابلیتهای کنترل از راه دور در برنامههای ESP32 خود هستند، ایدهآل است (در ویدیو در 02:15).
ESP32 یک میکروکنترلر قدرتمند است که قابلیتهای Wi-Fi و Bluetooth را ترکیب میکند و آن را برای طیف وسیعی از برنامههای IoT مناسب میسازد. در این پروژه، از یک گیرنده IR برای تفسیر سیگنالها از یک کنترل از راه دور استفاده خواهیم کرد. فشار دادن کلیدها در شِفر (کود) پردازش خواهد شد و به ما اجازه میدهد اقداماتی بر اساس دستورات دریافتی انجام دهیم.
سختافزار توضیح داده شده است
اجزای اصلی این پروژه شامل میکروکنترلر ESP32، یک ماجیول گیرنده IR و یک زنگ است. ESP32 به عنوان مغز عملیات عمل میکند و سیگنالهای دریافتی از گیرنده IR را پردازش میکند. گیرنده IR سیگنالهای مادون قرمز را از کنترل از راه دور تشخیص میدهد و آنها را به سیگنالهای الکتریکی تبدیل میکند که ESP32 میتواند درک کند.
گیرنده IR معمولاً دارای سه پایه است: VCC (توان)، GND (زمین) و OUT (سیگنال). پایه VCC به یک منبع تغذیه (3.3V یا 5V) متصل میشود، در حالی که GND به زمین متصل میشود. پایه OUT سیگنال رمزگشایی شده را به ESP32 ارسال میکند، که سپس میتواند برای راهاندازی اقدامات مختلفی مانند فعالسازی زنگ هنگامی که یک کلید خاص فشار داده میشود، استفاده شود.
جزئیات دیتاشیت
| تولیدکننده | تیز |
|---|---|
| شماره قطعه | GP1UXC41 |
| ولتاژ منطق/ورودی و خروجی | ۳.۳ - ۵.۰ ولت |
| ولتاژ تأمین | ۳.۳ ولت (معمولی) |
| جریان خروجی (به ازای هر کانال) | ۲۰ میلی آمپر (حداکثر) |
| جریان اوج (به ازای هر کانال) | 50 میلیآمپر (حداکثر) |
| راهنمایی فرکانس PWM | ۳۸ کیلوهرتز |
| آستانههای منطقی ورودی | ۰.۳ ولت سی سی (بالا)، ۰.۲ ولت سی سی (پائین) |
| افت ولتاژ / RDS(on)/ اشباع | 0.5 ولت (حداکثر) |
| محدودیتهای حرارتی | 85 درجه سانتیگراد (حداکثر) |
| بسته | TO-92 |
| یادداشتها / واریانسها | در چندین پیکربندی در دسترس است |
- از تأمین منبع تغذیه درست اطمینان حاصل کنید تا از آسیب جلوگیری شود.
- از سیمهای کوتاه استفاده کنید تا تداخل سیگنال را به حداقل برسانید.
- قبل از اتصال، جهتگیری گیرنده IR را بررسی کنید.
- تأیید کنید که باتری کنترل از راه دور کار میکند.
- در صورت لزوم از مقاومتهای کششی برای ثبات استفاده کنید.
دستورالعملهای سیمکشی

برای اتصال گیرنده IR به ESP32، ابتدا سه پایه روی گیرنده IR را شناسایی کنید: VCC، GND و OUT. پایه VCC را به منبع تغذیه ۳.۳ ولت روی ESP32 متصل کنید. سپس پایه GND را به یکی از پایههای زمین (GND) روی ESP32 متصل کنید. در نهایت، پایه OUT را به پایه GPIO 14 روی ESP32 متصل کنید که برای گیرنده IR در شِفر (کود) اختصاص داده شده است.
پس از برقراری اتصالات، اطمینان حاصل کنید که سیمکشی ایمن است. اگر از برد بورد استفاده میکنید، گیرنده IR را به گونهای قرار دهید که سمت صاف به سمت شما باشد و برآمدگی در سمت دیگر قرار گیرد. این جهتگیری به شما کمک میکند تا پایهها را به درستی شناسایی کنید. حتما قبل از روشن کردن ESP32 اتصالات را بررسی کنید.
نمونههای شِفر (کود) و راهنمایی
نصب کنIRremoteESP8266کتابخانه توسط دیوید کانران، سباستین.
در شِفر (کود)، پایه گیرنده IR را با استفاده از ثابت تعریف میکنیمIR_RECEIVE_PIN، که بر روی 14 تنظیم شده است. ما همچنین یک نمونه ازIRrecvبرای مدیریت سیگنالهای مادون قرمز.
const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;این تنظیمات به ما اجازه میدهد تا سیگنالها را از کنترل از راه دور IR دریافت کنیم. درsetup()در این تابع، ارتباط سریال را راهاندازی کرده و گیرنده IR را فعال میکنیم.
void setup() {
Serial.begin(115200);
irrecv.enableIRIn();
}درونloop()در این تابع، بررسی میکنیم که آیا سیگنال IR دریافت شده است یا خیر. اگر چنین باشد، مقدار کلید را رمزگشایی کرده و آن را در نمایشگر مسلسل چاپ میکنیم.
if (irrecv.decode(&results)) {
String key = decodeKeyValue(results.value);
Serial.println(key);
irrecv.resume();
}این قطعه شِفر (کود) نشان میدهد که چگونه سیگنال دریافتی را رمزگشایی کرده و مقدار کلید مربوطه را در نمایشگر مسلسل چاپ میکنیم.decodeKeyValue()این عملکرد سیگنال دریافتی را به مقادیر خاص دکمهها، مانند "0"، "1"، "EQ" و غیره نقشهبرداری میکند. شما میتوانید شِفر (کود) کامل را در پایین مقاله پیدا کنید.
نمایشگاه / چه انتظاری باید داشت
پس از کامل شدن سیمکشی و بارگذاری شِفر (کود)، فشردن یک دکمه روی ریموت باید مقدار کلید مربوطه را در مانیتور سری نمایش دهد. به عنوان مثال، فشردن دکمه "2" باید "2" را در مانیتور چاپ کند. اگر کلید شناسایی نشود، پیام "ERROR" بازگردانده میشود. وقتی کلید مشخص شده (مثلاً "EQ") فشرده شود، بوق به صدا درمیآید و بازخورد فوری ارائه میدهد.
به دامهای رایج احتیاط کنید، مانند قطبنماهای معکوس در اتصالات شما یا استفاده از سطوح ولتاژ نادرست. اطمینان حاصل کنید که کنترل از راه دور به درستی کار میکند و باتری آن قبل از آزمایش تنظیمات شما عمل میکند (در ویدئو در ۱۵:۳۰).
زمانبندی ویدیو
- ۰۰:۰۰ شروع
- 2:05 مقدمهای بر گیرنده IR
- 4:24 توضیحاتی درباره سیمکشی
- شِفر (کود) آردوینو برای گیرنده IR توضیح داده شده ٦:٠٨
- انتخاب برد ESP32 و پورت COM در Arduino IDE
- ۱۱:۴۸ نمایش پروژه
- 13:09 بیزر فعال بهطور مستقیم به ESP32 متصل است
- ۱۴:۴۰ اقدام هنگام فشردن یک کلید
- شِفر (کود) آردوینو برای انجام عمل در ساعت ۱۵:۳۰
- دموی فشار کلید و زنگ در ساعت ۱۶:۵۴
Common Course Links
Common Course Files
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
ایبی
منابع و مراجع
-
مستنداتآموزش ESP32 23/55 - صفحه مستندات SunFounder برای گیرنده IRdocs.sunfounder.com
فایلها📁
برگه مشخصات (pdf)
-
XL6012: خازن حذف شد.
robojax-IR-remote_TL1838-Infrared-Receiver-datasheet.pdf0.46 MB