فهرست مطالب:

کنترل از راه دور IR کامپیوتر: 4 مرحله
کنترل از راه دور IR کامپیوتر: 4 مرحله

تصویری: کنترل از راه دور IR کامپیوتر: 4 مرحله

تصویری: کنترل از راه دور IR کامپیوتر: 4 مرحله
تصویری: چطوری تا 4 کامپیوتر را با یک ماوس و کیبورد کنترل کنیم 2024, ژوئن
Anonim
کنترل از راه دور IR کامپیوتر
کنترل از راه دور IR کامپیوتر

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

این پروژه شامل چندین قسمت است:

  1. کنترل از راه دور
  2. نرم افزار کامپیوتر
  3. ماژول گیرنده IR

مرحله 1: کنترل از راه دور

کنترل از راه دور
کنترل از راه دور

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

مرحله 2: نرم افزار

من این برنامه را برای سیستم عامل GNU/Linux ایجاد کرده ام که در ترمینال اجرا می شود. کد منبع برای بارگیری/استفاده/اشتراک گذاری/اصلاح رایگان است. برای کامپایل کد فقط دستور مانند gcc -o remotePC remotePC.c را در ترمینال صادر کنید. برای اجرای نوع برنامه./remotePC.

اطلاعات زیر در این مرحله خطاب به کسانی است که به نحوه کار همه چیز علاقه دارند.

توضیحات برنامه

برنامه ابتدا بررسی می کند که آیا فایل /dev /ttyACM0 یا ttyACM1 وجود دارد یا خیر. در این صورت شناسه گروه فایل متفاوت از صفر است. این بدان معناست که پورت سریال توسط کاربر معمولی قابل خواندن و نوشتن است. سپس دو بایت با مقادیر 0xAA 0x55 روی پورت نوشته می شود تا سیگنال دهد که برنامه آماده دریافت داده است. داده های دریافتی با مقادیر ذخیره شده مقایسه می شود. اگر مطابقت پیدا شد ، عمل از پیش تعریف شده اجرا می شود.

کنترل صدا

این برنامه قادر به روشن/خاموش کردن صدا ، افزایش/کاهش سطح صدا در سطح سیستم است. این امر با استفاده از برنامه pactl محقق می شود. سپس دستورات به این شکل است:

pactl set-sink-mute 0 ضامن

pactl set-sink-volume 0 +10٪

pactl set-sink-volume 0 -10٪

در صورت لزوم بسته های مورد نیاز را نصب کنید.

کنترل VLC Media Player

این برنامه همچنین می تواند صدا/ویدیو را شروع/متوقف کند و آهنگ را به لیست قبلی/بعدی در لیست پخش VLC Media Player تغییر دهد. در این حالت از Desktop Bus استفاده می شود. دستورات:

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Next

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. قبلی

مرحله 3: ماژول گیرنده مادون قرمز

ماژول گیرنده IR
ماژول گیرنده IR
ماژول گیرنده IR
ماژول گیرنده IR
ماژول گیرنده IR
ماژول گیرنده IR

قسمت سوم پروژه پیچیده ترین و در عین حال بسیار ساده است. ایده این است که گیرنده IR سیگنال را به MCU منتقل می کند که آن را به عدد منحصر به فرد تبدیل می کند. سپس این شماره از طریق USB به رایانه منتقل می شود.

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

MCU

ماژول را روی میکروکنترلر PIC16F1829 ساخته ام. انتخاب MCU مهم نیست ، اگر می توانید کد منبع را تنظیم کنید ، می توانید از هر MCU دیگری استفاده کنید. من این PIC را به دو دلیل انتخاب کرده ام. ابتدا من آن را در دسترس داشتم و دوم اینکه پین های آن به دلیل استفاده زیاد در پروژه های مختلف آزمایش تا حدی آسیب دیدند. بنابراین من می خواستم از آن در پروژه دائمی استفاده کنم قبل از اینکه کاملاً غیرقابل استفاده شود.:-)

گیرنده مادون قرمز

بخش دوم که ماژول بر اساس آن است ، گیرنده IR VS1838B است - آنچه در مرحله 1 ذکر شد.

مبدل UART/USB

قسمت سوم MCP2221 است که مبدل UART/I2C/USB است.

وظیفه این است که این 3 قسمت را برای ایجاد ماژولی که قادر به دریافت سیگنال ها از کنترل از راه دور IR و انتقال آنها به کامپیوتر است ، ترکیب کنید.

سیم کشی

در تصویر اول مدار آزمایش روی تخته نان وجود دارد. در مورد دوم شماتیک سیم کشی وجود دارد.

لیست قطعات

1 عدد PIC16F1829 (یا هر MCU دیگر)

1 عدد VS1838B (یا هر گیرنده IR دیگر)

1 رایانه MCP2221 (یا هر مبدل دیگر UART/USB)

2 عدد هدر 4 پین

هدر 1 عدد 6 پین

مقاومت 1 عددی 100R

مقاومت 2 عدد 10K

مقاومت 2 عدد 330R

1 عدد خازن 470 nF

2 عدد خازن الکترولیتی 4.7 uF

سوئیچ 1 رایانه (اختیاری)

مونتاژ PCB

ماژول را با استفاده از شماتیک کنار هم قرار دهید. می توانید از برد جهانی استفاده کنید یا PCB سفارشی ایجاد کنید. اگر مورد دوم موردی است ، من فایل های KiCad را در بایگانی زیر ارائه کرده ام.

سیستم عامل

کد منبع PIC که با استفاده از MPLAB X IDE و کامپایلر XC8 نوشته شده است در زیر قابل بارگیری است.

کد منبع یادداشت می کند

برای کسانی که مایلند بدانند برنامه دقیقاً در حال انجام چه کاری است خطوط زیر است.

پس از انجام همه تنظیمات ، LED قرمز روشن است و MCU منتظر اطلاعات 0x55AA است. پس از آن LED سبز می شود و MCU با استفاده از وقفه ها شروع به تشخیص سیگنال گیرنده IR می کند. فواصل زمانی سیگنال را در سطوح بالا و پایین اندازه گیری و ثبت می کند. این زمانها سپس به شماره 32 بیتی که به رایانه ارسال می شود تبدیل می شود.

رابطه بین زمان و شماره نهایی توسط پروتکل NEC داده می شود.

مرحله 4: نحوه استفاده از دستگاه

نحوه استفاده از دستگاه
نحوه استفاده از دستگاه
نحوه استفاده از دستگاه
نحوه استفاده از دستگاه
نحوه استفاده از دستگاه
نحوه استفاده از دستگاه

سیستم عامل

سیستم عامل را در PIC بارگذاری کنید. من از برنامه نویس PICkit 3 استفاده می کنم.

سخت افزار

مطابق تصاویر ماژول گیرنده IR را نصب کنید:

  1. هدر USB را یا به شکاف USB داخلی مادربرد داخل کیس کامپیوتر با کابل 4 سیم مناسب یا خارجی با کابل USB استاندارد به شکاف USB وصل کنید. در مورد دوم شما باید به نحوی به خودتان کمک کنید ، به عنوان مثال. همانطور که در تصویر سوم برای الهام گرفتن مشاهده شده است.
  2. کابل برق 5 ولت را از منبع تغذیه داخل کیس کامپیوتر به هدر 4 پین متصل کنید. یا در صورت استفاده خارجی ، ماژول را به روش دیگری تغذیه کنید.

توضیحات پین های سوکت USB مادربرد را جستجو کنید. من مطمئن نیستم که سیم کشی از استانداردی پیروی می کند یا خیر ، بنابراین بهتر است مطمئن شوید. در مورد من دو ردیف پین وجود دارد که 5 ردیف در ردیف بالا و 4 پین در ردیف پایین وجود دارد. از چپ به راست پین ها + 5 V ، D- ، D + ، Gnd هستند. پین 5 در ردیف اول متصل نیست. همانطور که در تصویر دوم دیده می شود ، کابل را وصل کردم.

نرم افزار

برنامه را در ترمینال اجرا کنید. اگر همه چیز درست پیش رفت ، آخرین پیام برنامه "منتظر داده ها …" است. اکنون وقتی دکمه کنترل از راه دور را فشار می دهید ، کد دریافت شده در ترمینال ظاهر می شود. به این ترتیب می دانید کدام دکمه کدام کد را منتشر می کند.

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

پس از اتمام برنامه را خاتمه دهید و کد را با دستور gcc -o remotePC remotePC.c مجدداً کامپایل کنید. دوباره برنامه را اجرا کنید و از این پس به کنترل از راه دور شما پاسخ می دهد.

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

توصیه شده: