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

0
102
کنترل وسایل از راه دور به وسیله مادون قرمز
کنترل وسایل از راه دور به وسیله مادون قرمز

در بیشتر سیستم‌ها این علاقه وجود دارد که کلیه فرمان‌ها و تنظیمات را بتوان توسط یک کنترل کننده از راه دور انجام داد. در این صورت باید از فرستنده و گیرنده‌ای که طبق یک پروتکل اطلاعات را رد و بدل می‌کند استفاده کرد. ارتباط می‌تواند به صورت امواج مادون قرمز یا بی‌سیم و یا رادیویی و یا … باشد. یکی از کانال‌های آسان و کم خرج امواج مادون قرمزاست که بیشتر کنترل کننده‌های خانگی نیز این نوع ارتباطی را انتخاب می‌کنند. پروتکل‌هایی که در این نوع ارتباطی به کار می‌رود از جمله 5RC و 6RC و یا همچنین مدولاسیون منچستر است. بیشتر کنترل کننده‌های تلویزیون پروتکل 5RC را پشتیبانی می‌کنند. دراین نوع پروتکل 14 بیت در هنگام فشرده شدن هر کلید ارسال می‌شود. دو بیت اول بیت شروع هستند که همیشه یک هستند. بیت بعدی بیت کنترل یا تاگل است که با زدن هر کلید معکوس می‌شود. پنج بیت بعدی بیت آدرس هستند. شش بیت بعدی بیت‌های فرمان هستند. بیت‌ها در دو فاز کد شده و ارسال می‌شود. حال می‌توان با داشتن فرکانس ارسال و ایجاد یک تاخیر جهت نمونه برداری این اطلاعات را آشکار کرد. به طور مثال اگر از یک میکروکنترلر استفاده می‌کنید می‌توانید با پیکره‌بندی یکی از تایمرها تاخیر ایجاد کنید و بیت‌ها را مشخص کنید. آشکار کردن این بیت‌ها چندان کار سختی نیست ولی اگر شما از میکروکنترلر‌های سری AVR  و همچنین از کامپایلر قدرتمند بسکام استفاده می‌کنید می‌توانید از دستورات ساده آن جهت به دست آوردن اطلاعات بهره ببرید. ضمیمه این فایل اطلاعات مورد نیاز جهت بستن مدار و برنامه موجود است. با دستور زیر به راحتی می‌توان فرمان را دریافت Getrc5(address , Command) کرد. مدار زیر قسمت گیرنده می‌باشد.

کنترل وسایل از راه دور به وسیله مادون قرمز
قسمت گیرنده

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

در این سیستم هدف راه اندازی موتوردی سی توسط کنترل تلویزیون است. به این صورت که سیستم ابتدا از شما رمز را در خواست می‌کند و در صورت صحیح بودن می‌توانید چپ گرد یا راست گرد یا ایست و حتی سرعت را کنترل کنید. جهت راه اندازی موتور از آی سی 293L استفاده شده است. مدار زیر نیز بخش راه انداز موتور است.

کنترل وسایل از راه دور به وسیله مادون قرمز
آی سی 293L

همان‌طور که مشاهده می‌کنید این راه‌انداز توانایی درایو همزمان سه موتور دی سی را دارد.

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

کنترل وسایل از راه دور به وسیله مادون قرمز
حالات موتور

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

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

کد :

$regfile = "M32def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portd.7 , Db5 = Portc.0 , Db6 = Portc.1 , Db7 = Portc.2 , Rs = Portd.0 , E = Portd.1
Config Lcd = 16 * 2
Cls
Cursor Off
Config Rc5 = Pind.4
Config Portd.3 = Output
Config Portd.2 = Output
Enable Interrupts
Dim Address As Byte , Command As Byte , Count As Byte
Dim Lock As Bit
Dim Fuse As Bit
Dim Enter As String * 3
Dim Key As String * 1
Dim Password As String * 3
Dim Speed As Word
Declare Sub Play()
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1
Count = 0
Lock = 0
Home
Lcd "Enter password:"
Cursor On , Blink
Locate 2 , 1
Pwm1a = 1000
'*********************************************
Do
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B01111111
If Lock = 0 Then
Select Case Command
Case Is < 10
Incr Count
If Count =< 3 Then
Key = Str(command)
Mid(enter , Count) = Key
Lowerline
Lcd Enter
Waitms 400
End If
Case 37
Count = 0
Readeeprom Password , 0
Waitms 10
If Enter = Password Then
Cursor Off , Noblink
Lock = 1
Cls
Lcd "       OK"
Wait 2
Cls
Lcd "you can drive DC"
Lowerline
Lcd "motor with keys."
Else
Cursor Off , Noblink
Cls
Lcd "     ERROR"
Wait 2
Cls
Lcd "Enter password:"
Cursor On , Blink
Locate 2 , 1
End If
End Select
'***********************************************************************************
Else                                                        'BARNAMEYE ASLI BAD AZ GHOFL.YANI DAR GHEYRE EEN SOORAT AGAR GHOFL BAZ BASHAD.HALA DIGAR GHESMATE GHOFL EJRA NEMISHAVAD
Select Case Command
Case Is < 10
Incr Count
If Count < 4 Then
Key = Str(command)
Mid(enter , Count) = Key
Lowerline
Lcd Enter
Waitms 400
End If
Case 16
Cls
Lcd "   TURN RIGHT"
Set Portd.3
Reset Portd.2
Case 17
Cls
Lcd "   TURN LEFT"
Reset Portd.3
Set Portd.2
Case 32
If Pwm1a =< 1000 Then
Pwm1a = Pwm1a + 10
Cls
Speed = Pwm1a / 4
Lcd "speed: " ; Speed ; " rpm   "
Else
Cls
Lcd "     *WOW*"
Lowerline
Lcd " it's very fast"
End If
Case 33
Pwm1a = Pwm1a - 10
Cls
Speed = Pwm1a / 4
Lcd "speed: " ; Speed ; " rpm    "
Lcd Pwm1a
Case 37
Cls
Lcd "     STOP"
Set Portd.3
Set Portd.2
Case 59
Cls
Call Play()
Case Else
Cls
Lcd Command
End Select
Waitms 250
End If                                                      'EEN END IF BARAYE IF  LOCK AST KE DARAYE ELSE NIZ MIBASHAD
End If
Loop
'************************************
Sub Play()
Home
Lcd "Enter old pass:"
Pass:
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B01111111
Select Case Command
Case Is < 10
Incr Count
If Count < 4 Then
Key = Str(command)
Mid(enter , Count) = Key
Lowerline
Lcd Enter
Waitms 400
End If
Case 37
Count = 0
If Fuse = 0 Then
Readeeprom Password , 0
Waitms 10
If Enter = Password Then
Fuse = 1
Cls
Lcd "Enter new pass:"
Locate 2 , 1
Wait 2
Else
Cls
Lcd "      ERROR"
Wait 2
Cls
Lcd "Enter old pass:"                                       '
End If
Else
Password = Enter
Writeeeprom Password , 0
Waitms 10
Cls
Lcd "     GO ON"
Wait 2
Goto Payan
End If
End Select
End If
Goto Pass
Payan:
Fuse = 0
End Sub Play()

 

 

دانلود فایل ها :

دیتاشیت L293

دیتاشیت HS0038A2

 

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیپروژه مولد موج سینوسی
مطلب بعدیراهنمای انتخاب میکروکنترلر

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید