فهرست مطالب:

فرستنده و گیرنده مادون قرمز USB NEC: 4 مرحله (همراه با تصاویر)
فرستنده و گیرنده مادون قرمز USB NEC: 4 مرحله (همراه با تصاویر)

تصویری: فرستنده و گیرنده مادون قرمز USB NEC: 4 مرحله (همراه با تصاویر)

تصویری: فرستنده و گیرنده مادون قرمز USB NEC: 4 مرحله (همراه با تصاویر)
تصویری: کنترل دار کردن وسایل برقی - ریموت کنترل وسایل برقی با آردوینو 2024, ژوئن
Anonim
فرستنده و گیرنده مادون قرمز USB NEC
فرستنده و گیرنده مادون قرمز USB NEC

این پروژه خلاصه ای از پروژه دیگری است که من روی آن کار می کنم و از آنجا که یک مسابقه Remote Control 2017 در Instructables وجود دارد ، من فکر کردم که این پروژه را ارسال می کنم. بنابراین اگر این پروژه را دوست دارید ، لطفاً به آن رای دهید. با تشکر.

همانطور که ممکن است بدانید ، من طرفدار کنترلرهای 8 بیتی Microchip هستم ، به آدرس زیر مراجعه کنید:

من از زبان برنامه نویسی JAL استفاده می کنم زیرا شبیه پاسکال است (که من نیز آن را دوست دارم). کامپایلر JAL و کتابخانه ها را می توانید از آدرس https://www.justanotherlanguage.org/downloads بارگیری کنید (برای آخرین نسخه منتشر شده به پایین بروید).

به طور معمول من تمام کد ها را خودم می نویسم تا بفهمم دارم چه کار می کنم ، اما برای این پروژه باید PIC را به پورت USB رایانه متصل کنم و بنابراین به یک درایور سریال JAL USB برای این کنترلر PIC نیاز داشتم. من از درایور سریال USB در بسته بارگیری JAL استفاده کردم که به نظر می رسد خوب کار می کند. از آنجا که این درایور سریال USB برای یک PIC خاص نوشته شده بود ، من از آن PIC استفاده کردم که PIC18F14K50 است. عملکرد این کنترلر بسیار بیشتر از چیزی است که من برای این پروژه نیاز دارم ، بنابراین من در حال کار بر روی این درایور USB هستم که بر روی نسخه PIC ساده تری کار کند ، PIC16F1455 ، که ارزان تر نیز است.

بنابراین این پروژه در مورد چیست؟ با دستگاه ذکر شده در این دستورالعمل ها می توانید دستورات کنترل از راه دور مادون قرمز را از طریق درگاه USB با استفاده از پروتکل محبوب NEC Infra-Red از طریق و به رایانه خود ارسال و دریافت کنید. به این ترتیب می توانید دستورات مادون قرمز را کنترل کنید و می توانید هر دستگاهی را که از پروتکل کنترل از راه دور مادون قرمز NEC استفاده می کند کنترل کنید. این پروژه پیام های مادون قرمز را به یک بایت آدرس و یک بایت فرمان یا به یک پیام تکراری رمزگشایی و ترجمه می کند. آدرس - البته - برای آدرس دستگاه خاصی مانند تلویزیون یا رادیو استفاده می شود که در آن بایت فرمان عملکردی را نشان می دهد که باید مانند افزایش صدا ، کاهش صدا انجام شود. در کنار رمزگشایی این پیام ها ، می توان آنها را از طریق مادون قرمز با استفاده از این دستگاه نیز منتقل کرد.

مرحله 1: اطلاعاتی در مورد پروتکل مادون قرمز NEC

برخی اطلاعات در مورد پروتکل مادون قرمز NEC
برخی اطلاعات در مورد پروتکل مادون قرمز NEC

مقدمه ای کوتاه بر این پروتکل. پروتکل کنترل از راه دور مادون قرمز NEC در بسیاری از دستگاه ها و کنترل از راه دور استفاده می شود که می توانید خریداری کنید. این سیگنال مادون قرمز را روی حامل 38 کیلوهرتز تعدیل می کند و از کدگذاری فاصله پالس برای کدگذاری منطقی "1" و "0" منطقی استفاده می کند. این پروتکل از یک بررسی ساده برای بررسی اینکه آیا پیام خوب است ، با ارسال آدرس و بایت فرمان و نسخه معکوس هر دو در یک پیام و بررسی و بررسی یکسان بودن آنها پس از دریافت استفاده می کند. وقتی یک دکمه روی کنترل از راه دور فشار داده می شود ، یکبار یک پیام مادون قرمز کامل با آدرس و فرمان ارسال می کند. با فشردن دکمه ، پیام تکراری کوتاه تری بدون آدرس و اطلاعات فرمان ارسال می شود. زمان تکرار پیام های ارسالی در حالی که دکمه را فشار داده اید ثابت است.

اطلاعات بیشتر در مورد پروتکل مادون قرمز NEC را می توانید به عنوان مثال در

مرحله 2: اجزای مورد نیاز

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

برای این پروژه باید اجزای زیر را داشته باشید:

  • میکروکنترلر PIC PIC18F14K50 ، ببینید:
  • کریستال 12 مگاهرتز
  • خازن سرامیکی: 2 * 100nF ، 1 * 220 nF ، 2 * 18pF
  • خازن الکترولیتی 47 uF/16V
  • گیرنده مادون قرمز TSOP4838 ، ببینید:
  • مقاومت ها: 2 * 33k ، 1 * 4k7 ، 1 * 1k ، 3 * 330 اهم ، 1 * 22 اهم
  • LED ها: 2 * مادون قرمز ، 1 کهربا ، 1 سبز ، 1 قرمز
  • ترانزیستور BC640 ، ببینید:
  • بلوز (اختیاری)
  • اتصال USB

نمودار شماتیک نحوه اتصال اجزا را ببینید. همانطور که در تصویر و ویدئو مشاهده می کنید ، من برای این پروژه از تخته نان استفاده کردم. این مدار قدرت خود را از پورت USB کامپیوتر دریافت می کند.

مرحله 3: نرم افزار و عملکرد دستگاه

همانطور که قبلاً ذکر شد ، این نرم افزار برای PIC18F14K50 نوشته شده است. در JAL نوشته شده است. فایل Intel Hex برای برنامه نویسی PIC شما ضمیمه شده است. این نرم افزار عملکردهای زیر را انجام می دهد:

  • رمزگشایی پیام های مادون قرمز NEC و ارسال آن به رایانه از طریق USB. پیام از جریان بیتی که توسط گیرنده مادون قرمز ایجاد می شود رمزگشایی شده و به آدرس + پیام فرمان یا پیام تکراری ترجمه می شود.
  • ارسال پیامهای مادون قرمز NEC دریافت شده از رایانه از طریق USB. توجه داشته باشید که این نرم افزار همچنین فرکانس حامل 38 کیلوهرتز را ایجاد می کند که به طور مستقیم LED های مادون قرمز را هدایت می کند. به موازات LED مادون قرمز ، یک چراغ کهربایی متصل شده است تا انتقال پیام قابل مشاهده باشد.

به طور پیش فرض این مدار گیرنده مادون قرمز را هنگام انتقال یک پیام مادون قرمز قطع می کند. اگر یک بلوز در موقعیت "بی صدا" قرار گیرد ، این عملکرد بی صدا را غیرفعال می کند. در این صورت پیام مادون قرمز منتقل شده نیز به موازات رمزگشایی رمزگشایی می شود و پس از دریافت کامل به عنوان یک پیام مادون قرمز دریافت شده به رایانه ارسال می شود. اگر یک پیام مادون قرمز NEC معتبر دریافت شود ، LED قرمز "IR OK" روشن می شود.

برای کار با این دستگاه ، باید یک برنامه Terminal Emulator روی رایانه خود داشته باشید. من برای این منظور از "موریانه" استفاده کردم. هنگامی که دستگاه به رایانه متصل است ، به طور خودکار توسط ویندوز 10 به عنوان یک پورت COM اضافی شناخته می شود زیرا به نظر می رسد درایور Microchip برای این دستگاه در ویندوز 10 از قبل نصب شده باشد. تنظیمات این پورت COM باید: 19200 baud 8 bit ، 1 stop-bit ، بدون برابری و استفاده از کنترل جریان RTS/CTS باشد. در صورت نیاز نرخ باود را می توان بر روی هر مقدار دیگری تنظیم کرد ، بنابراین نرخ بادی 115200 نیز کار می کند. هنگامی که دستگاه از طریق درگاه USB با اتصال به آن از طریق برنامه Terminal Emulator پیکربندی می شود ، چراغ سبز "پیکربندی" روشن می شود.

دریافت پیامهای مادون قرمز

هنگامی که یک پیام مادون قرمز دریافت می شود ، موارد زیر در برنامه Terminal Emulator نمایش داده می شود:

  • "A: xx C: xx" در صورت ارسال یک پیام کامل ، جایی که xx شماره هگزادسیمال آدرس (A) و فرمان (C) است. مقادیر برای هر دو می تواند از 0x00 (0) تا 0xFF (255) متغیر باشد.
  • در صورت تکرار پیام "تکرار".

ارسال پیامهای مادون قرمز

برای این کار باید پروتکلی را تعریف کنم که به دستگاه بگوید چه کار کند. از آنجا که ما از شبیه ساز ترمینال استفاده می کنیم ، از کاراکترهای ASCII برای تعریف پیام استفاده کردم. پروتکل ارسال فرمان به دستگاه از قالب زیر استفاده می کند: "! AACCRR#" ، که در آن (همه نویسه ها به حروف کوچک حساس نیستند):

  • "!" شروع پیام را نشان می دهد.
  • "AA" مقدار آدرس در نماد هگزادسیمال است بنابراین "0" تا "9" و "A" تا "F" ،
  • "CC" مقدار فرمان در نماد هگزادسیمال است بنابراین "0" تا "9" و "A" تا "F"
  • "RR" تعداد پیام های تکراری است که باید با علامت هگزادسیمال منتقل شوند بنابراین "0" به "9" و "A" به "F". مقدار "00" به این معنی است که هیچ پیام تکراری ارسال نمی شود.

یک مثال از پیام با آدرس 0x07 ، دستور 0x05 و 3 تکرار باید در برنامه Terminal Emulator به شرح زیر تایپ شود:! 070503#

پس از ارسال یک فرمان از رایانه ، دستگاه پاسخ های متفاوتی دارد:

  • "Y" به این معنی است که پیامی منتقل شده است. توجه داشته باشید که این پاسخ پس از ارسال همه پیامها - از جمله همه تکرارها - داده می شود ، بنابراین ممکن است مدتی طول بکشد تا زمانی که بسیاری از پیامهای تکراری باید منتقل شوند ، این پاسخ داده شود.
  • "N" به این معنی است که در پیام ارسال شده به رایانه شخصی یک شخصیت غیرقانونی وجود داشته است.
  • "B" به این معنی است که هنگام ارسال فرمان ، انتقال مادون قرمز هنوز مشغول بود.
  • ؟ 'به این معنی است که دستگاه انتظار "!" را داشت اما چیز دیگری دریافت کرد.

مرحله 4:

من یک فیلم کوتاه از دستگاه در حال ساخت تهیه کردم. برای این ویدئو ، من از یک چراغ LED تجاری با کنترل از راه دور استفاده کردم تا ببینم انتقال و دریافت هم کار می کند. ویدیو موارد زیر را نشان می دهد:

  • پیکربندی دستگاه USB از برنامه Terminal Emulation. هنگامی که دستگاه پیکربندی می شود ، با پیام "USB NEC Infra Red Transmitter and Receiver" پاسخ می دهد. در دستگاه LED سبز روشن است که نشان می دهد دستگاه توسط رایانه پیکربندی شده است.
  • چراغ با ریموت کنترل روشن می شود. برای این کار ، کنترل از راه دور از آدرس 0x00 و فرمان 0x07 استفاده می کند که توسط دستگاه رمزگشایی شده و روی رایانه نشان داده می شود.
  • لامپ با ریموت کنترل خاموش می شود. برای این کار ، کنترل از راه دور از آدرس 0x00 و فرمان 0x06 استفاده می کند که توسط دستگاه رمزگشایی شده و روی رایانه نشان داده می شود.
  • چراغ با تایپ کردن همان فرمان کنترل از راه دور در رایانه با مقدار تکرار 0 (بدون تکرار) روشن می شود ، بنابراین با تایپ کردن "! 000700#". لامپ روشن می شود.
  • تغییر رنگ لامپ به آبی با استفاده از آدرس 0x00 و دستور 0x0A و استفاده از تکرارهای 0x30. Amber Led که به طور موازی با LED های مادون قرمز متصل شده است چشمک می زند و انتقال پیام تکراری از طریق مادون قرمز را نشان می دهد. پیام تایپ شده "! 000A30#" است.

توجه داشته باشید که در حین ضبط این ویدئو ، اتصال jumper "Unmute" فعال بود ، بنابراین می توانید پیام منتقل شده "! 000700#" را مشاهده کنید ، که در برنامه Terminal Emulation به عنوان "A: 00 C: 07" دریافت می شود. در نسخه ی نمایشی لامپ که به رنگ آبی است می توانید مشاهده کنید که چراغ قرمز روشن است تا زمانی که پیام های معتبر - تکراری - منتقل شوند زیرا به موازات ارسال پیام های تکراری دریافت و رمزگشایی می شوند.

از ایجاد پروژه شخصی خود لذت ببرید و منتظر واکنش های خود باشید. اگر دوست داشتید در مسابقه کنترل از راه دور 2017 به این پروژه رای دهید. بازم ممنون.

توصیه شده: