پروژه های آردینو

ساخت رسیور IR با استفاده از آردوینو

ساخت رسیور IR با استفاده از آردوینو

ساخت رسیور IR با استفاده از آردوینو

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

بنابراین در این آموزش ، ما قصد داریم با استفاده از گیرنده IR TSOP1838 برای ساختن یک رسیور IR از راه دور با استفاده از Arduino. کد hex برای هر دکمه در Microsoft Excel Sheet وارد می شود.

این رسیور کنترل از راه دور IR ساده می تواند در پروژه هایی مانند ربات کنترل از راه دور IR ، اتوماسیون خانگی و سایر پروژه های کنترل شده IR استفاده شود.

اجزای مورد نیاز

Arduino Uno / Arduino Nano

IR Receiver TSOP1838

Jumper Wires

Breadboard

 

 

پروژه آردوینو : پروگرام آردوینو با بلوتوث

 

ارتباطات IR چگونه کار می کند؟

ارتباطات مادون قرمز نیز مانند سایر سیستم های ارتباطی دارای فرستنده و گیرنده است.

فرستنده دقیقاً مانند یک LED به نظر می رسد ، اما به جای طیف مرئی ، در طیف IR نور تولید می کند.

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

برای ارتباطات IR هر دو فرستنده و گیرنده باید به یکدیگر نشان داده شوند.

با فشار دادن یک دکمه از راه دور ، IR LED (فرستنده) نور مادون قرمز ساطع می کند.

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

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

این می تواند سیگنال فرستنده را مختل کند ، بنابراین برای جلوگیری از آن ، سیگنال فرستنده با استفاده از یک فرکانس حامل بین 36 کیلو هرتز تا 46 کیلوهرتز مدوله می شود.

با دریافت سیگنال ، گیرنده IR سیگنال را تغییر شکل داده و قبل از ارسال به میکروکنترلر ، آن را به باینری تبدیل می کند.

در اینجا ما از یک ریموت تلویزیون برای ارسال سیگنال IR و TSOP1838 با Arduino برای دریافت آنها استفاده می کنیم.

مدار

 ساخت رسیور IR با استفاده از آردوینو

اتصالات بسیار ساده هستند

زیرا سنسور گیرنده IR فقط دارای سه پایه Vs ، GND و Data است.

پین Vs و GND گیرنده IR را به پایه 3.3 ولت GND آردوینو و پین دیتا را به پین ​​دیجیتال 2 آردوینو وصل کنید.

برنامه نویسی برای Arduino IR Remote Decoder

کد کامل رمزگشای Arduino IR در انتهای صفحه آورده شده است.

برای رمزگشایی IR Remote ، ابتدا باید یک کتابخانه IR را به Arduino IDE بارگیری و اضافه کنیم.

می توانید کتابخانه IR Remote را از اینجا بارگیری کنید.

پس از بارگیری فایل ، Arduino IDE خود را باز کرده و به Sketch> Include Library> Add.Zip library بروید. پرونده کتابخانه را انتخاب کنید و روی “باز” ​​کلیک کنید.

کد خود را با قرار دادن فایل IR Remote Library شروع کنید.

 

#include <IRremote.h>

پس از آن پین آردوینو را در جایی که پین ​​داده گیرنده IR را به آن متصل کرده اید تعریف کنید.

در مورد من ، به پایه D2 آردوینو متصل است.

int IRPIN = 2;

پس از آن یک نمونه برای پین IR Receiver ایجاد کنید

IRrecv irrecv(IRPIN);

 

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

 

decode_results result;

 

در داخل تابع setup () ، ارتباط سریال را آغاز کرده و گیرنده IR را با فراخوانی تابع IRrecv enableIRIn () شروع کنید.

 

void setup()
{
  Serial.begin(9600);
  Serial.println("Enabling IRin");
  irrecv.enableIRIn();
  Serial.println("Enabled IRin");
  Initialize_streamer();
}

در تابع loop () ، irrecv.decode به طور مداوم سیگنال جدید را بررسی می کند و در صورت دریافت سیگنال جدید ، کد سیگنال دریافت شده در یک تابع value.value ذخیره می شود.

void loop()
{
  if (irrecv.decode(&result))
  {
    Serial.print("Value: ");
    Serial.println(result.value, HEX);
    Write_streamer();
    irrecv.resume();
  }
  delay(500);
}

 

برای ارسال داده ها

به یک صفحه اکسل از Arduino ، ما از PLX-DAQ استفاده می کنیم.

با استفاده از تابع Write_streamer () ، داده ها را بصورت سریال مانند الگویی که مقدار آن را روی مانیتور سریال نشان می دهیم 

بصورت سریال ارسال می کنیم. خطوط اصلی در زیر توضیح داده شده است:

ساخت رسیور IR

 

void Write_streamer()
  {
    Serial.print("DATA"); //always write "DATA" to Indicate the following as Data
    Serial.print(","); //Move to next column using a ","
    Serial.print(result.value, HEX); //Store date on Excel
    Serial.print(","); //Move to next column using a ","
    Serial.println(); //End of Row move to next row
  }

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

پس از بارگذاری کد ، ریموت را به سمت گیرنده IR هدایت کرده و دکمه های ریموت را فشار دهید.

کد hex برای هر دکمه روی مانیتور سریال چاپ می شود.

 

ذخیره داده های رمزگشای از راه دور IR در صفحه اکسل

اکنون برای ارسال داده ها به یک صفحه اکسل ، ما قصد داریم از PLX-DAQ استفاده کنیم.

این یک نرم افزار افزونه اکسل است که به شما کمک می کند مقادیر را از آردوینو مستقیماً به یک صفحه اکسل در لپ تاپ یا رایانه خود بنویسید.

برای بارگیری فایل از لینک استفاده کنید.

پس از بارگیری ، فایل را استخراج کرده و بر روی فایل .exe کلیک کنید تا نصب شود.

این یک پوشه به نام PLX-DAQ در دسک تاپ شما ایجاد می کند.

اکنون فایل ‘PLX-DAQ spreadsheet’ را از پوشه دسک تاپ باز کنید.

اگر ماکروها در اکسل شما غیرفعال هستند ، یک بلوک امنیتی خواهید دید همانطور که در تصویر زیر نشان داده شده است:

 ساخت رسیور IR با استفاده از آردوینو

برای فعال کردن ماکروها

Options->Enable the content -> Finish -> OK

 ساخت رسیور IR با استفاده از آردوینو

اکنون نرخ baud را به عنوان “9600” و پورتی که Arduino شما به آن متصل است را انتخاب کنید

سپس برای شروع جریان داده ، روی اتصال کلیک کنید.

مقادیر شما باید مانند ثبت در تصویر زیر ثبت شوند.

به این ترتیب می توان رسیور IR از راه دور Arduino را به راحتی ساخت تا سیگنال های از راه دور IR را به کد HEX معادل تبدیل کند.

کد آردوینو را با یک فیلم آزمایشی در زیر آورده اید.

 

#include <IRremote.h>
int IRPIN = 2;
IRrecv irrecv(IRPIN);
decode_results result;
int button = 0;
void setup()
{
Serial.begin(9600);
Serial.println(“Enabling IRin”);
irrecv.enableIRIn();
Serial.println(“Enabled IRin”);
Initialize_streamer();
}
void loop()
{
if (irrecv.decode(&result))
{
button = button+1;
Serial.print(“Value: “);
Serial.println(result.value, HEX);
Write_streamer();
irrecv.resume();
}
delay(500);
}
void Initialize_streamer()
{
Serial.println(“CLEARDATA”); //clears up any data left from previous projects
Serial.println(“LABEL,Hex Code, Button”); //always write LABEL, to indicate it as first line
}
void Write_streamer()
{
Serial.print(“DATA”); //always write “DATA” to Indicate the following as Data
Serial.print(“,”); //Move to next column using a “,”
Serial.print(result.value, HEX); //Store date on Excel
Serial.print(“,”); //Move to next column using a “,”
Serial.print(button); //Store date on Excel
Serial.print(“,”); //Move to next column using a “,”
Serial.println(); //End of Row move to next row
این پروژه توسط گروه وی تات انجام شده wetat.ir
کپی با ذکر منبع مجاز است

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *