فهرست مطالب:

استفاده از سنسور مادون قرمز با آردوینو: 8 مرحله (همراه با تصاویر)
استفاده از سنسور مادون قرمز با آردوینو: 8 مرحله (همراه با تصاویر)

تصویری: استفاده از سنسور مادون قرمز با آردوینو: 8 مرحله (همراه با تصاویر)

تصویری: استفاده از سنسور مادون قرمز با آردوینو: 8 مرحله (همراه با تصاویر)
تصویری: نه کاری که نمیدونستی گوشیت انجام میده | 9 کاربرد مخفی گوشی 2024, ژوئن
Anonim
استفاده از سنسور مادون قرمز با آردوینو
استفاده از سنسور مادون قرمز با آردوینو

سنسور مادون قرمز (معروف به IR) چیست؟

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

پروتکل ارتباطی IR

هر سیگنال نشان دهنده یک کد خاص است. سیگنال های الکتریکی را می توان به داده/کدی واقعی که فرستنده ارسال کرده است ، تبدیل کرد. وقتی دکمه ای را روی کنترل از راه دور تلویزیون فشار می دهید ، سیگنالی مربوط به کد دکمه (به عنوان مثال روشن/خاموش ، افزایش صدا و غیره) تولید می کند و آن را برای گیرنده (در این مورد تلویزیون شما) ارسال می کند. هم فرستنده و هم گیرنده بر روی مجموعه ای از کدها توافق کردند تا گیرنده بداند که بر اساس هر کد چه کاری انجام دهد. نحوه تعدیل (مدل سازی) کد به عنوان سیگنال در استانداردهای مختلف تعریف می شود و هر سازنده سنسور به طور معمول سعی می کند محصولی سازگار با آنها را تولید کند تا بتواند در دستگاه های مختلف مورد استفاده قرار گیرد. یکی از شناخته شده ترین پروتکل های استاندارد از NEC است. می توانید تاریخ کوتاهی از پروتکل های IR را در ویکی پدیا تحت عنوان Consumer IR پیدا کنید.

مرحله 1: یک سنسور IR چگونه به نظر می رسد؟

سنسور IR چگونه است؟
سنسور IR چگونه است؟
سنسور IR چگونه است؟
سنسور IR چگونه است؟
سنسور IR چگونه است؟
سنسور IR چگونه است؟

سنسورهای IR در بسته های مختلف موجود است. در اینجا می توانید بسته بندی معمولی برای گیرنده IR را مشاهده کنید.

مرحله 2: برد/ماژول سنسور بریکت IR سنسور

برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module
برد/ماژول IR Sensor Breakout Board/module

همچنین می توانید آنها را به عنوان یک ماژول IR/برد شکست در eBay ، Aliexpress یا Amazon خریداری کنید. چنین ماژول هایی به طور معمول یکی از سنسورهای ذکر شده در بالا را با یک بسته دوست داشتنی برای نان ورودی همراه با یک LED که هنگام تشخیص سیگنال سنسور چشمک می زند ، ترکیب می کنند. با انجام این کار متوجه خواهید شد که آیا داده ای در حال انتقال است. من پیشنهاد می کنم با یکی از این ماژول ها شروع کنید.

توجه: اگر یک سنسور IR خام دارید ، هیچ چیز تغییر نمی کند ، مگر اینکه باید صفحه داده سنسور را بررسی کنید تا مطمئن شوید که آن را به درستی سیم کشی کرده اید ، زیرا در غیر این صورت ممکن است یک دود آبی زیبا با بوی ماندگار وجود داشته باشد. ساعت شما می دانید منظورم چیست ؛)

مرحله 3: قطعات و اجزای مورد نیاز

قطعات و اجزای مورد نیاز
قطعات و اجزای مورد نیاز

در اینجا می توانید لیستی از اجزای مورد نیاز برای تکمیل این آموزش را بیابید:

پیوندهای eBay:

  • 1 عدد آردوینو Uno:
  • 1 عدد ماژول حسگر IR با ریموت:
  • مقاومتهای 4 * 220 اهمی:
  • 4 x LED:
  • 8 عدد کابل Dupont:
  • 1 عدد تخته نان بدون لحیم:
  • 1 عدد مینی برد کوچک (اختیاری):

پیوندهای Amazon.com:

  • 1 عدد آردوینو Uno:
  • 1 عدد ماژول حسگر IR با ریموت:
  • 1 عدد تخته نان بدون لحیم:
  • مقاومتهای 4 * 220 اهم:
  • 4 x LED:
  • 8 کابل Dupont:
  • 1 عدد مینی برد کوچک (اختیاری):

مرحله 4: اتصال سنسور IR به آردوینو

اتصال سنسور IR به آردوینو
اتصال سنسور IR به آردوینو
اتصال سنسور IR به آردوینو
اتصال سنسور IR به آردوینو
اتصال سنسور IR به آردوینو
اتصال سنسور IR به آردوینو

راه اندازی اتصال سنسور IR به آردوینو بسیار ساده است. در کنار پین VCC و GND ، سنسور فقط یک پین خروجی دارد که باید به یکی از پین های دیجیتالی آردوینو متصل شود. در این حالت به پین 13 متصل می شود.

من سعی کردم هم ماژول سنسور IR و هم تنظیم سنسور IR خام را نشان دهم. همانطور که در تصاویر مشاهده می شود ، موقعیت پین های VCC و GND روی ماژول سنسور برعکس سنسور خام است. اما ممکن است در مورد سنسور شما صادق نباشد ، بنابراین همانطور که در مرحله قبل گفته شد ، در صورت استفاده از سنسور خام ، ابتدا برگه داده را بررسی کنید.

مرحله 5: کد مربوط به هر کلید را از راه دور بیابید

کد مربوط به هر کلید را از راه دور پیدا کنید
کد مربوط به هر کلید را از راه دور پیدا کنید
کد مربوط به هر کلید را از راه دور پیدا کنید
کد مربوط به هر کلید را از راه دور پیدا کنید
کد مربوط به هر کلید را از راه دور پیدا کنید
کد مربوط به هر کلید را از راه دور پیدا کنید

به منظور برنامه ریزی Arduino برای انجام کاری هنگام فشار دادن یک کلید روی ریموت ، ابتدا باید کد مربوط به آن کلید را داشته باشید. کد اصلی عددی است که معمولاً بصورت هگزا دسیمال ارائه می شود. هر کنترل از راه دور مجموعه ای از کدهای کلیدی خاص خود را دارد در حالی که ممکن است دو کنترلر برای اهداف مختلف یک کد را به اشتراک بگذارند. داشتن کدهای کلیدی مختلف همراه با استفاده از محدوده فرکانس متفاوت ، تضمین می کند که دو کنترل از راه دور دستگاه های مختلف تداخلی نداشته باشند. به همین دلیل است که وقتی تلویزیون خود را تغییر می دهید ، دستگاه پخش DVD شما هیچ واکنشی نشان نمی دهد.

برای تشخیص کدهای کنترل از راه دور IR ، ابتدا باید یک طرح ساده اجرا کنید که سعی می کند هنگام فشار دادن یک کلید ، کد را از سنسور بخواند و آن را از طریق پورت سریال به رایانه شما ارسال می کند ، جایی که می توانید با استفاده از ابزار Serial Monitor آردوینو IDE این کاری است که طرح ضمیمه شده در این بخش انجام می دهد. بهتر است هر دکمه را فشار دهید تا کد را ببینید و لیست کدها را در جایی یادداشت کنید تا در آینده نیازی به اجرای مجدد این کد نباشید. لیستی از کدهای کلیدی که به عنوان جدول در تصویر مشاهده می کنید ، در واقع کدهایی هستند که من هنگام فشار دادن دکمه های ریموت IR ارزان قیمت دریافت کردم.

همچنین می توانید به کد منبع اصلی موجود در ویرایشگر وب Arduino من در ir-key-code-logger دسترسی داشته باشید.

توجه: اگر در جایی بین کدی مانند FFFFFF را دیدید نترسید. این بدان معناست که شما دکمه ای را برای مدتی فشار داده و نگه داشته اید. بعداً به آن خواهیم پرداخت فعلا فقط آنها را نادیده بگیرید و روی کدهای دیگر تمرکز کنید.

مرحله 6: مجموعه ای از LED ها را با استفاده از IR IR Remote کنترل کنید

مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید
مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید
مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید
مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید
مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید
مجموعه ای از LED ها را با استفاده از IR IR کنترل کنید

اکنون که برای هر دکمه یک کد داریم ، وقت آن است که بر نحوه استفاده از آنها تمرکز کنیم. به طور معمول از راه دور IR برای ارسال دستورات به Arduino برای انجام کارهایی مانند روشن یا خاموش کردن لامپ ، حرکت ربات در جهت خاص ، نمایش چیزی روی صفحه LCD/OLED و غیره استفاده می کنید. مدار شامل 4 LED در رنگهای مختلف. ما می خواهیم هر یک از آنها را با یک دکمه اختصاصی از راه دور IR روشن یا خاموش کنیم. همانطور که در شکل می بینید ، باید آردوینو را به روش زیر به LED ها و سنسور وصل کنید:

آردوینو GND -> سنسور IR GND.

Arduino VCC -> حسگر IR VCC.

آردوینو 13 -> خروجی سیگنال سنسور IR.

آردوینو 2 -> آند LED آبی (پین کوتاه LED آبی)

آردوینو 3 -> آند LED سبز (پین کوتاه LED سبز)

آردوینو 4 -> آند LED زرد (پین کوتاه LED زرد)

آردوینو 5 -> آند LED قرمز (پین کوتاه LED قرمز)

Arduino GND -> کاتد همه LED ها از طریق مقاومت 220 اهم (پین بلندتر LED ها)

می توانید کد مربوط به این مدار را در فایل پیوست یا در ویرایشگر وب Arduino من در ir-led-control پیدا کنید.

مرحله 7: عیب یابی

هنگام تنظیم پروژه خود و پیروی از مراحل ممکن است با موقعیت های عجیب و غریب زیادی روبرو شوید. در اینجا لیستی از برخی از خطاهای رایج که ممکن است هنگام کار با سنسور IR دریافت کنید وجود دارد.

گرفتن FFFFFF هنگام فشار دادن یک کلید

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

سنسور IR اصلا واکنش نشان نمی دهد و به نظر می رسد گرم می شود

برق رو قطع کن !!! اگر مطمئن هستید که طرح کلید کد کلید صحیح است ، شاید مشکل به دلیل راه اندازی اشتباه سیم های شما باشد. سناریویی که برای من اتفاق افتاد این بود که برای ماژول IR (که به برد متصل شده است) VCC و GND را برعکس متصل کرده بودم (به دلیل عدم استفاده از رنگ مناسب برای سیمهای اتصال). با این کار جزء سنسور سوزانده شد و دود آبی خوبی بلند شد. من یک بسته سنسور IR خام خریدم و سعی کردم آن را تعویض کنم و در حال حاضر مانند جذابیت عمل می کند:). متأسفانه من هنگام آزمایش با سنسور IR خام همین اشتباه را انجام دادم و این بار هیچ اتفاقی نیفتاد مگر اینکه سنسور گرم شد. بنابراین همیشه مدار را قبل از روشن کردن برق بررسی کنید!

گاهی اوقات سنسور کدی را تشخیص می دهد که قبلاً ندیده بودم

این یکی از رایج ترین مسائل است. به احتمال زیاد به یکی از دلایل زیر مربوط می شود:

شما ریموت IR خود را مستقیماً به سمت سنسور نشان نمی دهید

این امر منجر به داشتن برخی از کدهای جدید (عمدتا کدهای طولانی تر) می شود که قبلاً دریافت نکرده اید و به طور معمول با طول کدهایی که قبلاً دارید مطابقت ندارد. بنابراین به یاد داشته باشید که همیشه ریموت را به سمت سنسور خود نشانه بگیرید.

شما از ریموت IR ارزان استفاده می کنید (مانند آنچه در این آموزش استفاده کردم)

به جای استفاده از ریموت های ارزان قیمت غیرقابل پیش بینی ، می توانید سناریوی مشابه را با استفاده از کنترل از راه دور تلویزیون یا DVD Player یا از راه دور IR هر دستگاهی که دارید امتحان کنید. آنها معمولاً دارای کیفیت سیگنال/سخت افزار خوبی هستند (و البته گرانتر هستند) و بر اساس تجربه من ، آنها معمولاً خوب کار می کنند حتی اگر ریموت خود را مستقیماً به سمت سنسور نشان ندهید.

چگونه می توانم بفهمم که کدی که وارد شده است زباله نیست

کدها معمولاً در قالب هگزا دسیمال ارائه می شوند. اگر آنها را به مقدار دودویی مربوطه تبدیل کنید ، متوجه می شوید که نمایش باینری آخرین بایت منفی بودن بایت قبل از آن است. اگر این را می دانید ، می توانید این کد را در کد خود بررسی کنید تا مطمئن شوید کدی که دریافت کرده اید در واقع یک کد معتبر است یا خیر. به عنوان مثال ، اگر FF7A85 را بدست آورید نمایش دوتایی آن به شرح زیر است:

1111 1111 0111 1010 1000 0101

از چپ به راست ، هر دسته 4 رقمی نشان دهنده یک کاراکتر در شماره هگزادسیمال اصلی است. همانطور که می بینید ، دسته مربوط به 7 0111 و دسته مربوط به 8 1000 است که نفی دقیق آن است. منظور من از نفی همه 0 ها 1 است و همه 1 ها با 0 ها جایگزین می شوند. همین امر در مورد بعدی که A (1010) و 5 (0101) است صادق است.

مرحله 8: بعد از آن چه باید بکنید؟

حالا نوبت شماست همه چیز به تخیل شما بستگی دارد که ببینید با این سنسور ساده کوچک در دست خود چه کاری می توانید انجام دهید. در اینجا چند ایده برای شروع وجود دارد:

  • از کنترل از راه دور IR یکی از دستگاه هایی که در خانه دارید (تلویزیون ، استریو و غیره) استفاده کنید و سعی کنید از آن در پروژه آردوینو خود استفاده کنید.
  • سعی کنید همه LED ها را همزمان با فشار دادن یک کلید روشن کرده و سپس آنها را با استفاده از یک کلید دیگر خاموش کنید
  • با استفاده از دکمه بالا/پایین کنترل از راه دور LED ها را یکی یکی روشن/خاموش کنید تا همه آنها روشن/خاموش شوند
  • با استفاده از LED ها یک چراغ راهنمایی ایجاد کنید و آن را با استفاده از ریموت کنترل کنید
  • اگر یک موتور DC کوچک در دست دارید ، سعی کنید راه اندازی/توقف یا تغییر جهت چرخش آن را از طریق ریموت IR انجام دهید
  • می توانید از ریموت تلویزیون خود برای کنترل ربات خود استفاده کنید یا برخی از حسگرها/محرک ها را روی آن فعال یا غیرفعال کنید

در مورد نظرات به من اطلاع دهید که چه کار می کنید (یا قبلاً انجام داده اید) با استفاده از کنترل از راه دور IR.

توصیه شده: