نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

کنترل از راه دور سیمی ballu در آردوینو. آردوینو: کنترل و گیرنده مادون قرمز

کنترل از راه دور مادون قرمز کنترل از راه دور- یکی از مهمترین راه های سادهتعامل با لوازم برقی. بنابراین، تقریباً در هر خانه چندین دستگاه وجود دارد: تلویزیون، مرکز موسیقی، پخش کننده ویدئو، تهویه مطبوع. اما بیشترین برنامه جالبکنترل از راه دور مادون قرمز - کنترل از راه دور ربات. در واقع، در این درس سعی می کنیم این روش کنترل را با استفاده از کنترلر محبوب Arduino Uno پیاده سازی کنیم.

1. کنترل از راه دور IR

برای آموزش اطاعت از کنترل از راه دور مادون قرمز (IR) به ربات چه چیزی لازم است؟ ابتدا به خود کنترل از راه دور نیاز داریم. می توانید از یک کنترل از راه دور تلویزیون معمولی استفاده کنید یا می توانید یک کنترل از راه دور مینیاتوری برای رادیو ماشین خود خریداری کنید. این نوع کنترل از راه دور اغلب برای کنترل ربات ها استفاده می شود.

این ریموت کنترل دارای 10 عدد می باشد دکمه های دیجیتالو 11 دکمه برای دستکاری موسیقی: حجم، عقب، پخش، توقف و غیره. برای اهداف ما بیش از اندازه کافی است.

2. سنسور IR

در مرحله دوم، برای دریافت سیگنال از کنترل از راه دور، به یک سنسور IR ویژه نیاز داریم. به طور کلی، ما می‌توانیم تشعشعات مادون قرمز را با یک فتودیود/فتوترانزیستور معمولی تشخیص دهیم، اما برخلاف آن، سنسور IR ما سیگنال مادون قرمز را فقط در فرکانس 38 کیلوهرتز (گاهی اوقات 40 کیلوهرتز) درک می‌کند. این ویژگی است که به سنسور اجازه می دهد تا نویز نور اضافی ناشی از لامپ های روشنایی و خورشید را نادیده بگیرد.

برای این آموزش از سنسور محبوب IR استفاده خواهیم کرد VS1838B، که دارای ویژگی های زیر است:

  • فرکانس حامل: 38 کیلوهرتز؛
  • ولتاژ تغذیه: 2.7 - 5.5 ولت؛
  • مصرف جریان: 50 µA.

سنسورهای دیگری را می توان استفاده کرد، به عنوان مثال: TSOP4838، TSOP1736، SFH506.

3. اتصال

سنسور دارای سه لید (سه پایه) است. همانطور که در شکل نشان داده شده است، اگر از سمت گیرنده سیگنال IR به سنسور نگاه کنید،

  • سپس در سمت چپ یک خروجی به کنترلر وجود دارد،
  • در مرکز - تماس با قدرت منفی (زمین)،
  • و در سمت راست - تماس برق مثبت (2.7 - 5.5V).

نمودار شماتیک اتصال

ظاهر چیدمان

4. برنامه

با اتصال سنسور IR، برنامه ای برای Arduino Uno می نویسیم. برای این کار از کتابخانه استاندارد استفاده می کنیم IRRemoteکه به طور خاص برای ساده کردن کار با دریافت و ارسال سیگنال های IR طراحی شده است. با استفاده از این کتابخانه، دستورات را از کنترل از راه دور می پذیریم و برای شروع، به سادگی آنها را در پنجره مانیتور نمایش می دهیم. درگاه سریال. این برنامه برای ما مفید خواهد بود تا بفهمیم هر دکمه چه کدی را می دهد.

#include "IRremote.h" IRrecv irrecv(2); // نشان دهنده پینی است که گیرنده به آن متصل است decode_results results; void setup() ( Serial.begin(9600); // تنظیم سرعت پورت COM irrecv.enableIRIn(); // شروع دریافت ) void loop() ( if (irrecv.decode(&results)) ( // if داده‌های رسیده سریال .println(results.value, HEX)؛ // print data irrecv.resume(); // دستور بعدی را بپذیرید)

برنامه را روی آردوینو بارگذاری کنید. پس از آن سعی می کنیم دستورات را از ریموت کنترل دریافت کنیم. نمایشگر پورت سریال (Ctrl+Shift+M) را باز کنید، کنترل از راه دور را بردارید و آن را به سمت سنسور بگیرید. با فشردن دکمه های مختلف کدهای مربوط به این دکمه ها را در پنجره مانیتور مشاهده می کنیم.

مشکل در بارگذاری برنامه

در برخی موارد، هنگام تلاش برای بارگیری یک برنامه در کنترلر، ممکن است یک خطا ظاهر شود:

TDK2 در محدوده خود اعلام نشد

برای رفع آن، فقط دو فایل را از پوشه کتابخانه حذف کنید. بریم سراغ کاوشگر به پوشه ای که برنامه در آن نصب شده است بروید آردوینو IDE(به احتمال زیاد این "C:\Program Files (x86)\Arduino" است). سپس به پوشه کتابخانه:

…\Arduino\libraries\RobotIRremote

و فایل ها را پاک کنید: IRremoteTools.cppو IRremoteTools.h.سپس، Arduino IDE را مجددا راه اندازی می کنیم و سعی می کنیم دوباره برنامه را روی کنترلر بارگذاری کنیم.

5. LED را با استفاده از کنترل از راه دور IR کنترل کنید

اکنون که می دانیم کدهای مربوط به دکمه های کنترل از راه دور هستند، سعی می کنیم کنترلر را طوری برنامه ریزی کنیم که با فشار دادن دکمه های تنظیم صدا، LED را روشن و خاموش کند. برای انجام این کار به کدهایی نیاز داریم (ممکن است بسته به کنترل از راه دور متفاوت باشد):

  • FFA857 - افزایش حجم؛
  • FFE01F - کاهش حجم.

به عنوان یک LED، ما از LED تعبیه شده در پایه شماره 13 استفاده می کنیم، بنابراین نمودار اتصال ثابت می ماند. بنابراین، برنامه:

#include "IRremote.h" IRrecv irrecv(2); // نشان دهنده پینی است که گیرنده به آن متصل است decode_results results; void setup() (irrecv.enableIRIn(); // شروع دریافت) void loop() (if (irrecv.decode(&results)) (// if data رسیده سوئیچ (results.value) (مورد 0xFFA857: digitalWrite( 13، HIGH)؛ شکست؛ مورد 0xFFE01F: digitalWrite(13، LOW؛ break؛ ) irrecv.resume(); // فرمان بعدی را بپذیرید) )

ما آن را در آردوینو آپلود می کنیم و آن را تست می کنیم. کلیک vol+- LED روشن می شود. کلیک جلد-- میره بیرون اکنون، با دانستن اینکه همه اینها چگونه کار می کند، می توانید موتورهای ربات یا سایر دستگاه های میکروالکترونیک خانگی را به جای LED کنترل کنید!

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

این پروژه استفاده می کند ماژول آردوینو Yún، که به طور ویژه برای مدیریت دستگاه هایی که پشتیبانی می کنند طراحی شده است اتصال شبکه. Yún دو پردازنده دارد که اولی اجرا می شود سیستم عامللینوکس و می تواند به سیم یا شبکه بی سیم. پردازنده دوم همان عملکردهای پردازنده در ماژول Arduino Leonardo را انجام می دهد. بنابراین، سازگاری خوبی با کتابخانه ها و سخت افزار آردوینو فراهم می کند.

این پروژه از یک LED مادون قرمز و یک گیرنده برای ارسال و دریافت سیگنال های کنترل از راه دور استفاده می کند. نور مادون قرمز برای چشم انسان نامرئی است، اما به راحتی توسط حسگرهای الکترونیکی تشخیص داده می شود. برای انتقال مطمئن تر سیگنال، دستگاه ها از نور مادون قرمز مدوله شده استفاده می کنند که امکان دریافت سیگنال های کاذب را از بین می برد. گیرنده مادون قرمز است دستگاه کوچککه سیگنال های مادون قرمز مدوله شده در فرکانس خاصی، معمولاً 38 کیلوهرتز را دریافت می کند. با استفاده از این گیرنده، ماژول آردوینو بیت های اطلاعاتی که از کنترل پنل ارسال می شود را تعیین می کند.

ارسال دستورات به شما مرکز چند رسانه ایبا استفاده انجام خواهد شد رابط وب ساده، که به صورت محلی در ماژول Yún اجرا می شود و برای اکثر مرورگرهای وب مدرن موجود است. وب سایت کار مدیریت را آسان تر می کند دستگاه مادون قرمزو به شما امکان می دهد حتی چندین دستور را به طور همزمان پردازش کنید. برای مثال، فشار دادن دکمه «تماشا فیلم» می‌تواند سیگنالی برای روشن کردن تلویزیون، پخش‌کننده بلوری و اتصال آن به ورودی تلویزیون ارسال کند.

این پروژه به تجربه ای در اجرای اسکچ های آردوینو و استفاده از ابزارهای خط فرمان نیاز دارد. قطعات الکترونیکیپروژه را می توان بر روی تخته نان نصب کرد.

مرحله 1: اتصال کامپوننت ها

  • LED مادون قرمز را با اجرای یک سیم از آند LED (سرب بلند) به ماژول Yún وصل کنید خروجی دیجیتال 13 ماژول Yún.
  • با استفاده از یک مقاومت 100 اهم، کاتد LED (سرب کوتاهتر) را به پایه سنسور IR (سرب وسط سنسور) وصل کنید.
  • پین تشخیص سنسور مادون قرمز (سمت چپ ترین پایه وقتی از جلوی سنسور مشاهده می شود) را به پایه دیجیتال 11 ماژول Yún وصل کنید.
  • پایه زمین سنسور مادون قرمز (پایه وسط) را به پایه زمین ماژول Yún وصل کنید.
  • در نهایت، سیم برق سنسور (پایه سمت راست وقتی از جلوی سنسور مشاهده می‌شود) را به پایه 5 ولتی ماژول Yún وصل کنید.

مرحله 2: نرم افزار Dependencies را نصب کنید

  • وقتی وارد می شود کارت MicroSDدر ماژول Yún، Yún را با اتصال روشن کنید USB Microکابل B به ماژول Yún و آداپتور USBتغذیه.
  • مطمئن شوید که Yún راه اندازی شده و به شبکه بی سیم شما متصل است. پیکربندی ماژول Yún در این صفحه نشان داده شده است.
  • اتصال به خط فرمانیوون با استفاده از SSH. این فرآینددر این صفحه شرح داده شده است.
  • پس از اتصال به خط فرمان، نسخه سیستم عامل را مشاهده خواهید کرد. این پروژهبا نسخه BusyBox v1.19.4 از 2014-04-10 و بالاتر تست شده است. اگر بیشتر استفاده کنید نسخه قدیمی، سپس دستورالعمل های زیر را دنبال کنید.
  • در خط فرمان، دستورات زیر را برای به روز رسانی مدیر بسته اجرا کنید:
آپدیت opkg
  • بعد، PIP، مدیر بسته پایتون را نصب کنید:
نصب opkg توزیع && opkg نصب پایتون-openssl && opkg نصب python-expat && easy_install pip

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

  • یک دایرکتوری روی کارت SD خود برای ذخیره بسته های پایتون ایجاد کنید:
mkdir /mnt/sda1/python-packages
  • چارچوب Flask Python را نصب کنید:
pip install --target /mnt/sda1/python-packages flask

ممکن است برخی از پیام های هشدار را مشاهده کنید، اما می توانید آنها را نادیده بگیرید.

  • مسیر جستجو را برای فایل های بسته پایتون به روز کنید:
echo "export PYTHONPATH=/mnt/sda1/python-packages" >> /etc/profile
  • دایرکتوری هایی ایجاد کنید که در آن Arduino IDE فایل های وب سرور را آپلود می کند:
mkdir /mnt/sda1/Arduino mkdir /mnt/sda1/arduino/www
  • برای به روز رسانی مسیر جستجوی فایل پایتون، آردوینو یون خود را راه اندازی مجدد کنید.

  • کتابخانه IR را دانلود کنید. (Arduino IRremote، کتابخانه ایجاد شده توسط Ken Shirriff.)
    آرشیو را از حالت فشرده خارج کنید، نام پوشه را با آن تغییر دهید آردوینو_ IRRemote- استادبر آردوینو_ IRRemoteو پوشه Arduino_IRremote را به عنوان یک کتابخانه در محیط وارد کنید توسعه آردوینو IDE. اطلاعات دقیقنشان داد
  • طرح خود را آپلود کنید ریموت هوشمندآردوینو را از طریق کنترل کنید بایگانی فشردهاز اینجا.
    آرشیو را از حالت فشرده خارج کنید و پوشه را بکشید کنترل از راه دور هوشمندبه پوشه با طرح آردوینو. طرح را در Arduino IDE باز کنید.
  • طرح را کامپایل کرده و با انتخاب گزینه مناسب در لیست پورت های آردوینو Yún از طریق WiFi در ماژول Yún آپلود کنید. مطمئن شوید که طرح را از طریق WiFi آپلود کرده اید تا اسکریپت های پایتون مورد نیاز در ماژول Yún کپی شوند! پس از دانلود طرح، Serial Monitor را در آن باز کنید محیط آردوینو IDE (ممکن است چند دقیقه طول بکشد).
  • کنترل از راه دور را به سمت سنسور مادون قرمزو چند دکمه روی ریموت را فشار دهید. شما باید کد را در مانیتور سریال ببینید. اگر کد نمایش داده نشد، اتصالات مدار سنسور را بررسی کنید.

مرحله چهارم: کدهای کنترل از راه دور را پیکربندی کنید

  • اکنون می توانید فعالیت ها و کدهای کنترل از راه دور را با مرتبط کردن آنها با آنها پیکربندی کنید فایل XMLپیکربندی. استفاده كردن ویرایشگر متن، فایل را باز کنید فعالیت ها. xmlدر یک زیر شاخه wwwپوشه ها را در رایانه شخصی خود ترسیم کنید. (از Arduino IDE، روی منوی Sketch کلیک کنید و "Show Sketch Folder" را انتخاب کنید).
  • فرمت عملیات نمونه در فایل را در نظر بگیرید. هر بلوک عملیاتی یک نام مشخصه را تعریف می کند که به عنوان یک دکمه در صفحه وب کنترل از راه دور ظاهر می شود. در هر عملیات، بلوک کد حاوی دنباله ای از کدهای مادون قرمز است که باید اجرا شوند. در مثال، دستور Sony A90 (روشن/خاموش روشن) ابتدا برای روشن کردن تلویزیون و سپس فرمان پاناسونیک (روشن/خاموش) برای روشن کردن پخش کننده بلوری اجرا می شود. هر کد دارای یک پارامتر رشته ای است که خروجی مستقیم داده کد راه دور شناسایی شده از طرح آردوینو است.
  • با کپی کردن مثال و تغییر نام و کد دستورات خود را به فایل اضافه کنید. هنگامی که کنترل از راه دور به سمت سنسور مادون قرمز نشانه می رود، دکمه ها را فشار داده و دنباله کد مادون قرمز خاص را با دقت یادداشت کنید. دنباله را در تنظیمات opcode کپی کنید.
  • به محض دریافت فایل مورد نیازپیکربندی، فایل را ذخیره کنید و طرح را دوباره از طریق WiFi در ماژول Yún آپلود کنید. برای به روز رسانی فایل پیکربندی، فایل را ویرایش کرده و طرح را از طریق WiFi با استفاده از Arduino IDE آپلود کنید.

مرحله پنجم: راه اندازی سرور با یک رابط وب

  • برای راه اندازی سرور، ماژول Yún را از طریق SSH وصل کنید. برای راه اندازی سرور، دستور زیر را اجرا کنید:
پایتون /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • هنگامی که سرور با موفقیت راه اندازی شد، پیام زیر را مشاهده خواهید کرد:
* در حال اجرا در http://0.0.0.0:5000/ * راه اندازی مجدد با Reloader
  • در صورت مشاهده خطایی، تمام وابستگی های نصب شده در مراحل قبل را بررسی کنید.
  • در مرورگر وب خود، http://arduino.local:5000/ را وارد کنید. اگر مرورگر از URL mDNS (مانند Windows، Android و برخی دیگر) پشتیبانی نمی کند توزیع های لینوکس) http:// را وارد کنید آردوینو_ آی پی_ نشانی:5000/، کجا آردوینو_ آی پی_ نشانیآدرس IP آردوینو یون شما است. آدرس IP هنگام اتصال Yún در پایین Arduino IDE قرار دارد (شکل 2).
  • پس از بارگیری صفحه، لیستی از اقدامات دکمه پیکربندی شده را مشاهده خواهید کرد. اگر خطایی مشاهده کردید، بررسی کنید که وابستگی ها به درستی نصب شده باشند، طرح بارگذاری شده باشد و سرور بدون خطا کار کند.
  • برای توقف سرور، کلیک کنید ترکیبی Ctrl-Cدر پنجره فرمانی که سرور در آن راه اندازی شده است.

مرحله ششم: استفاده از رابط وب

  • برای استفاده کنترل از راه دور هوشمندال ای دی را هدف بگیرید لوازم برقیو روی یکی از آن کلیک کنید دکمه های فعال. اگر دستگاه مورد نیاز روشن نشد، سعی کنید LED را به دستگاه های مورد نیاز نزدیک کنید. محدوده LED کوچک است، حدود 6 فوت. برای افزایش برد LED باید یک ترانزیستور اضافه کرد. اطلاعات دقیق ارائه شده است اینجا.
  • همچنین می توانید کدهای مادون قرمز را با باز کردن نمایشگر سریال Yún در Arduino IDE و ارسال کد مادون قرمز به عنوان یک فرمان آزمایش کنید. به عنوان مثال، ارسال کد "SONY: C A90" (بدون نقل قول) باعث می شود که سخت افزار دستوری را به روشن کردن سونی A90. ("C" نشان دهنده بیت طول فرمان، 12، تبدیل به هگزادسیمال است).
  • برای شروع خودکارسرور هنگام بارگذاری، فایل را ویرایش کنید / و غیره/ rc. محلیدر ماژول Yún (با استفاده از ویرایشگر nano یا vi) و اضافه کنید خط بعدی قبل ازبا خط "خروج 0" در انتها:
PYTHONPATH=/mnt/sda1/python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • برای تشخیص گفتار، مرورگر خود را راه اندازی کنید گوگل کروم. روی دکمه "Speak" کلیک کنید و مرورگر کروماجازه استفاده از میکروفون را می خواهد. سپس نام عملیات فعال را بگویید و منتظر بمانید تا شناسایی شود. به عنوان مثال، برای انجام عملیات فیلم "فیلم"، دکمه "صحبت" را فشار دهید و کلمه "فیلم" را در میکروفون بگویید. عباراتی مانند "Play Movies" یا "Run Movies" پشتیبانی نمی شوند - فقط نام واضح عملیات فعال شناسایی می شود.

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

دستگاه گیرنده IR. اصل عملیات

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

اصل عملکرد یک گیرنده IR پردازش سیگنال از کنترل از راه دور

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

تحت تأثیر تابش مادون قرمز در یک فتودیود، که بین پو nمناطق یک ناحیه اضافی از نیمه هادی ایجاد کردند ( من-region)، جریان شروع به جریان می کند. سیگنال به یک تقویت کننده و سپس به یک فیلتر باند می رود که روی یک فرکانس ثابت تنظیم شده است: 30; 33; 36; 38; 40 و 56 کیلوهرتز و از گیرنده در برابر تداخل محافظت می کند. تداخل می تواند توسط هر وسیله خانگی ایجاد شود.

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

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

محفظه گیرنده های مادون قرمز حاوی یک فیلتر نوری برای محافظت از دستگاه در برابر میدان های الکترومغناطیسی خارجی است؛ آنها از شکل خاصی ساخته شده اند تا تابش دریافتی را بر روی دیود نوری متمرکز کنند. برای اتصال گیرنده IR به آردوینو UNO از سه پایه استفاده می شود که به GND، 5 ولت و A0 متصل می شوند. توصیه می کنیم برای شروع از ولتاژ 3.3 ولت استفاده کنید تا حسگر مادون قرمز در حین نصب نسوزد.

برای این درس به جزئیات زیر نیاز داریم:

  • آردوینو اونو / آردوینو نانو / آردوینو مگا برد;
  • تخته نان;
  • گیرنده IR;
  • کنترل از راه دور؛
  • 1 LED و مقاومت 220 اهم؛
  • سیم های نر-نر و نر-ماده.

نمودار اتصال گیرنده IR به پورت آنالوگ آردوینو

گیرنده IR را مطابق نمودار بالا وصل کنید و LED ها را به پایه های 12 و 13 وصل کنید. قبل از دانلود برنامه، اگر قبلاً نصب نشده باشد، باید کتابخانه IRremote.h را نصب کنید. این کتابخانهاعمال نمی شود کتابخانه های استانداردمحیط برنامه نویسی آردوینو IDE. می توانید کتابخانه IRremote.h و طرح تمام شده را در یک آرشیو از اینجا دانلود کنید درایو گوگلارتباط دادن .

طرحی برای گیرنده IR آردوینو:

#عبارتند از // کتابخانه را برای گیرنده IR وصل کنید IRrecv irecv(A0); // نشان دهنده پینی است که گیرنده IR به آن متصل استنتایج decode_results. تنظیم void () // راه اندازی رویه ( irrecv.enableIRIn (); // شروع به دریافت کنید سیگنال مادون قرمز pinMode (13، OUTPUT)؛ // پین 13 خروجی خواهد بود pinMode (12، OUTPUT)؛ // پایه 12 خروجی خواهد بود pinMode (A0، INPUT)؛ // پین A0 ورودی خواهد بود (eng. "input") Serial.begin(9600); // مانیتور پورت را وصل کنید) حلقه خالی () // حلقه رویه ( if (irrecv.decode (&نتایج)) // اگر داده ها رسیده است، دستورات را اجرا کنید( سریال .println(results.value); // داده های دریافتی را به پورت ارسال کنید // بسته به سیگنال دریافتی LED ها را روشن و خاموش کنید if (results.value == 16754775) ( digitalWrite (13, HIGH); ) if (results.value == 16769055) ( digitalWrite (13, LOW); ) if (results.value == 16718055) (digitalWrite (12, HIGH)؛ ) if (results.value == 16724175) ( digitalWrite (12, LOW); ) irrecv.resume (); // تایید کنید سیگنال بعدیروی گیرنده IR } }

توضیحات برای کد:

  1. کتابخانه IRremote.h شامل مجموعه ای از دستورات است و به شما امکان می دهد طرح را ساده کنید.
  2. دستور decode_results نتایج نام متغیر را به سیگنال های دریافتی از کنترل از راه دور اختصاص می دهد.

سنسور IR را می توان در بسیاری از دستگاه های موجود در میکروکنترلر آردوینو استفاده کرد، از جمله کنترل از راه دور سروو درایو در آردوینو از یک گیرنده IR. هنگام تنظیم، باید مانیتور پورت IDE Arduino را روشن کنید و بفهمید که چه سیگنالی توسط این یا آن دکمه روی کنترل از راه دور ارسال می شود. کدهای به دست آمده باید پس از علامت دو برابر در شرایط if() در طرح استفاده شوند.

همچنین اغلب بخوانید:

هنگام ایجاد دستگاه هایی برای کار با کنترل از راه دور IR، ابزاری که با آن می توانید سیگنال های IR را ضبط و تجزیه و تحلیل کنید بسیار ضروری است. چنین ابزاری در حالت ایده‌آل می‌تواند یک اسیلوسکوپ دیجیتال یا تحلیلگر منطقی باشد، اما همه این دستگاه‌ها را ندارند و خرید عمدی آنها گران است. چگونه بودن؟ یک راه حل بسیار ساده وجود دارد - کارت صدای کامپیوتر! ما سیگنال را با استفاده از آن ضبط می کنیم.

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

LED به صورت زیر متصل می شود:

در نتیجه دستگاه زیر را دریافت می کنیم:

دوشاخه را در ورودی میکروفون (آن رنگ صورتی). در تنظیمات کارت صدا، میکروفون را به عنوان دستگاه ورودی انتخاب کنید، کنترل بهره را به حداکثر برسانید و کادر افزایش اضافی را علامت بزنید. برای بررسی، کنترل از راه دور را به سمت گیرنده LED بگیرید (شما باید آن را تا حد امکان به کنترل از راه دور نزدیک کنید)، کلید را فشار دهید - کلیک ها باید در بلندگوها شنیده شوند.

اگر به دلایلی ورودی میکروفون ندارید (مثلاً در لپ تاپ)، گیرنده را به ورودی خطکارت صدا - همه چیز یکسان کار می کند، فقط دامنه سیگنال ضبط شده بسیار کوچکتر می شود.


اکنون به برنامه ای برای ضبط صدا نیاز داریم.
هر برنامه ای که داشته باشید برای این اهداف مناسب خواهد بود. اگر برنامه مورد علاقه ای برای کار با صدا ندارید، یک و کوچک را پیشنهاد می کنم برنامه رایگان— Wavosaur (http://www.wavosaur.com/) برنامه بدون نصب کار می کند و دارد اندازه کوچک- چقدر دوست دارم :).

برنامه ای برای کار با صدا.

پس از شروع برنامه، نشانگر سطح (خط کش سمت راست پنجره) را روشن کرده و پاسخ به سیگنال های کنترل از راه دور را بررسی کنید. به طور پیش فرض، همه چیز باید کار کند - خط کش از سیگنال های دریافتی از مقیاس خارج می شود (اگر واکنشی وجود نداشت، به تنظیمات بروید پیکربندی صدا/صوت در). بعد، نماد ضبط را فشار دهید، کنترل از راه دور را تا حد امکان به LED دریافت کننده نزدیک کنید، دکمه کنترل از راه دور را فشار دهید و چند ثانیه نگه دارید. ضبط را خاموش کنید - تمام شد! در پنجره ما اسکن سیگنال IR دریافتی را خواهیم دید. جالب این است که سیگنال قبلاً شناسایی می شود - ما فرکانس حامل را نخواهیم دید، بلکه فقط سیگنال مفید را خواهیم دید. این به این دلیل اتفاق می افتد که ظرفیت های ورودی ورودی میکروفون زمان لازم برای شارژ شدن ندارند.

سیگنال دریافتی را می توان بر اساس زمان، دامنه مقیاس کرد و، که بسیار راحت است، با برجسته کردن یک دوره خاص، می توانید بلافاصله مدت زمان آن را مشاهده کنید. سیگنال دریافتی را می توان ذخیره کرد (ترجیحا در فرمت wav - هیچ اعوجاجی وجود نخواهد داشت) یا به MP3، متن، فایل باینری(چیز مفید!).

مثلا، سیگنال از کنترل از راه دور تلویزیون من (فرمت NEC):

تمام فواصل زمانی از تصویر قابل مشاهده است، حتی می توانید آدرس کنترل از راه دور و کد فرمان دکمه را محاسبه کنید - همه چیز واضح و قابل درک است.

P.S.
درخواست بزرگ! اگر چنین گیرنده ای را جمع آوری می کنید، بسته های کنترل از راه دور خود را ذخیره کنید و آنها را از طریق ایمیل برای من ارسال کنید (در برگه "درباره پروژه") - این به بهبود الگوریتم گیرنده جهانی کمک زیادی می کند. در نام فایل، کنترل از راه دور و سازنده آن را مشخص کنید (به عنوان مثال: tv-sony.wav).


بیشتر در مورد کار با کنترل از راه دور IR!
من ساده ترین گزینه را برای "احساس" سیگنال از کنترل از راه دور IR پیشنهاد کردم، اما راه حل های زیادی وجود دارد که می تواند کارهای بیشتری انجام دهد! دریافت سیگنال IR، تجزیه و تحلیل، ذخیره، پخش، برنامه ریزی کنترل از راه دور، کنترل کامپیوتر... این بخش حاوی پیوندهایی به چنین راه حل هایی است.

1. DvzRcEditor
برنامه اول خواهد رفت DvzRcEditor،که پرت کردم mobiبرنامه توسط شخصی ساخته شده است Dvz 2010(متاسفانه هیچ مختصاتی برای او وجود ندارد، شاید کسی بداند؟).


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


ریموت کنترل دارای 7 کلید است که با آن می توانید هر دستوری را از آنالیز شده تنظیم کنید و خود برنامه می تواند سیگنال های این دکمه ها را در میکروکنترلر ضبط کند (به شرطی که برای اولین بار بوت لودر را در آنجا فلش کنید).

همه چیز ساده و واضح است - من آن را دوست داشتم!


2. SlyControl.
http://slydiman.narod.ru/scr/index.htm
این حتی یک برنامه نیست - این است کل اینترنتمنبع اختصاص داده شده به کنترل از راه دور IR. حاوی مقدار زیادی است اطلاعات مفید، سخت افزار و راه حل های نرم افزاریبرای همه مناسبت ها در اینجا چیزی است که نویسندگان در مورد SlyControl می نویسند:
- این برنامه جهانیبرای کنترل هر چیزی با استفاده از کامپیوتر

برای چه چیزی می توان از این استفاده کرد:
- کنترل هر برنامه از هر کنترل از راه دور (کنترل از راه دور)، از صفحه کلید چند رسانه ای با استفاده از کلیدها یا جوی استیک
- شبیه سازی صفحه کلید و ماوس از هر کنترل از راه دور
- زمانبندی (نه تنها برنامه را بر اساس زمان اجرا کنید، بلکه برخی اقدامات را نیز با آن انجام دهید)
- خاموش کردن رایانه توسط تایمر یا رویداد
- همچنین می توانید چراغ های آپارتمان را از طریق کنترل از راه دور روشن کنید، فقط باید افزونه مناسب را اضافه کنید.

همچنین یک برنامه در مورد منبع وجود دارد RCExplorer 2.1- پایگاه داده کنترل از راه دور IR (پایگاه داده شامل بیش از 200 ورودی است).


این برنامه به شما اجازه می دهد:
- دریافت سیگنال از کنترل از راه دور با استفاده از کارت صدا، پورت COM، IgorPlug-USB یا IgorPlug2
- سیگنال را با جزئیات تجزیه و تحلیل کنید - (مدولاسیون، ویژگی های زمان بندی، ویژگی های کدگذاری، کدهای تکرار، و غیره، همه که برای من شناخته شده هستند پشتیبانی می شوند این لحظهپروتکل ها، برنامه همچنین می تواند با پروتکل های ناشناخته کار کند.
- نمایش گرافیکی سیگنال در زمان واقعی و بر اساس داده های پایگاه داده
- یک کنترل از راه دور مشابه را در پایگاه داده جستجو کنید
— بازتولید فرمان کنترل از راه دور با استفاده از داده های پایگاه داده از طریق پورت COM

به طور کلی، حتما از منبع بازدید کنید - جالب خواهد بود.

(بازدید شده 20,417 بار، 9 بازدید امروز)

بهترین مقالات در این زمینه