آموزش ESP32 29/55 - خواندن فشار کلید کنترل از راه دور IR با ESP32 | کیت یادگیری اینترنت اشیاء ESP32 سان فاوندر

آموزش 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_receiver_sl838

گیرنده IR معمولاً دارای سه پایه است: VCC (توان)، GND (زمین) و OUT (سیگنال). پایه VCC به یک منبع تغذیه (3.3V یا 5V) متصل می‌شود، در حالی که GND به زمین متصل می‌شود. پایه OUT سیگنال رمزگشایی شده را به ESP32 ارسال می‌کند، که سپس می‌تواند برای راه‌اندازی اقدامات مختلفی مانند فعال‌سازی زنگ هنگامی که یک کلید خاص فشار داده می‌شود، استفاده شود.

جزئیات دیتاشیت

تولیدکننده تیز
شماره قطعه GP1UXC41
ولتاژ منطق/ورودی و خروجی ۳.۳ - ۵.۰ ولت
ولتاژ تأمین ۳.۳ ولت (معمولی)
جریان خروجی (به ازای هر کانال) ۲۰ میلی آمپر (حداکثر)
جریان اوج (به ازای هر کانال) 50 میلی‌آمپر (حداکثر)
راهنمایی فرکانس PWM ۳۸ کیلوهرتز
آستانه‌های منطقی ورودی ۰.۳ ولت سی سی (بالا)، ۰.۲ ولت سی سی (پائین)
افت ولتاژ / RDS(on)/ اشباع 0.5 ولت (حداکثر)
محدودیت‌های حرارتی 85 درجه سانتی‌گراد (حداکثر)
بسته TO-92
یادداشت‌ها / واریانس‌ها در چندین پیکربندی در دسترس است

  • از تأمین منبع تغذیه درست اطمینان حاصل کنید تا از آسیب جلوگیری شود.
  • از سیم‌های کوتاه استفاده کنید تا تداخل سیگنال را به حداقل برسانید.
  • قبل از اتصال، جهت‌گیری گیرنده IR را بررسی کنید.
  • تأیید کنید که باتری کنترل از راه دور کار می‌کند.
  • در صورت لزوم از مقاومت‌های کششی برای ثبات استفاده کنید.

دستورالعمل‌های سیم‌کشی

ESP32-29-IR-remote-wiring

برای اتصال گیرنده IR به ESP32، ابتدا سه پایه روی گیرنده IR را شناسایی کنید: VCC، GND و OUT. پایه VCC را به منبع تغذیه ۳.۳ ولت روی ESP32 متصل کنید. سپس پایه GND را به یکی از پایه‌های زمین (GND) روی ESP32 متصل کنید. در نهایت، پایه OUT را به پایه GPIO 14 روی ESP32 متصل کنید که برای گیرنده IR در شِفر (کود) اختصاص داده شده است.

ESP32-29-نقشه-کنترل-از-راه-دور-IR

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

نمونه‌های شِفر (کود) و راهنمایی

کتابخانه_گیرنده_IR

نصب کن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 متصل است
  • ۱۴:۴۰ اقدام هنگام فشردن یک کلید
  • شِفر (کود) آردوینو برای انجام عمل در ساعت ۱۵:۳۰
  • دموی فشار کلید و زنگ در ساعت ۱۶:۵۴

تصاویر

IR_receiver_lib
IR_receiver_lib
ir_receiver_sl838
ir_receiver_sl838
remote
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote
زبان: C++
کپی شد!

مواردی که ممکن است به آن‌ها نیاز داشته باشید

منابع و مراجع

فایل‌ها📁

برگه مشخصات (pdf)