اطلاعیه

Collapse
No announcement yet.

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

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

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

    سلام
    من یه پروژه دارم که در اون باید توسط یک کی پد 3*4 داده (اعداد روی کی پد)رو به میکرو بدیم و بعد میکرو اعداد رو توسط سنسور مادون قرمز ارسال بکنه و در گیرنده توسط TSOP1238 اطلاعات دریافت بشه و روی lcd نشون بده
    برنامه رو توسط help bascom avr نوشتم.داخل پروتئوس شبیه سازی کردم و با یک سیم پایه فرستنده رو به پایه گیرنده وصل کردم اما جواب نداد
    آیا اصولا این کار درسته ؟منظورم باسیم وصل کردن داخل پروتئوس هستش.
    لطفا یه نگاهی به برنامه بیاندازید و اشکالاتش رو بگید
    ممنون میشم راهنمایی کنید
    فرستنده:
    $regfile = "m16def.dat"
    $crystal = 4000000
    $baud = 19200
    $hwstack = 32
    $swstack = 10
    $framesize = 40

    Config Lcdbus = 4
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2
    Config Kbd = Porta , Debounce = 50 , Delay = 50

    Dim Togbit As Byte , Command As Byte , Address As Byte

    Command = 0
    Togbit = 0
    Address = 12

    Do
    Command = Getkbd()
    If Command < 16 Then
    Cls
    Lcd Command
    Waitms 300
    Rc5send Togbit , Address , Command
    End If
    Loop

    End
    وگیرنده:
    $regfile = "m16def.dat"
    $crystal = 4000000
    $baud = 19200
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    $lib "mcsbyte.lbx"

    Config Lcdpin = Pin , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.3 , Rs = Porta.2
    Config Lcd = 16 * 2
    Config Lcdbus = 4
    Config Rc5 = Pinb.0

    Enable Interrupts

    Dim Address As Byte , Command As Byte

    Do
    Getrc5(address , Command)
    If Address = 12 Then
    Command = Command
    Lcd "code is:" ; Command
    End If
    Loop

    End

    #2
    پاسخ : فرستنده گیرنده مادون قرمز

    داخل پروتیوس اشکالی نداره با سیم ورودی خروجی ها رو مستقیم به هم وصل کنی ولی چرا فقط از اینتراپت استفاده کردین شاید اگر از دستورات مربوط به 232 استفاده میکردین بهتر بود

    دیدگاه


      #3
      پاسخ : فرستنده گیرنده مادون قرمز

      سلام آقا علی
      ممنون از اینکه جواب دادی
      من میخوام اونو بصورت عملی بسازم
      میشه لطفا منو بیشتر راهنمایی کنی؟
      منظورت از دستورات مربوط به 232 چیه؟
      من دارم قطعات رو میگیرم که روی بردبرد ببندم
      ممنون میشم کمکم کنی؟
      آیا برنامه درسته؟

      دیدگاه


        #4
        پاسخ : فرستنده گیرنده مادون قرمز

        سلام
        تو برنامه اشکالی نمیبینم . منظورم از 232 این بود که اطلاعات یا کد مورد نظر رو یه پورت rs232 تعریف میکردی و با اون میفرستادی و از اون طرف میگرفتی به هر حال این rc5 هم دسته کمی از اون نداره

        دیدگاه


          #5
          پاسخ : فرستنده گیرنده مادون قرمز

          درود بر علی آقا
          ببخشید که دیر شد رفته بودم قطعات و .... بخرم تا مدار رو بصورت عملی هم ببندم.من این مدار رو خیلی زود باید تحویل استاد بدم
          لطفا تا پایان منو همراهی کن
          اول از فرستنده شروع می کنم
          مدار زیر مربوط به فرستنده هستش که داخل help bascom گذاشته شده بود من هم از همین مدار استفاده کردم

          اون مقاومتی که مشخص کردم واحد نداشت منظورش اهم هست دیگه درسته؟

          مدار فرستنده رو روی برد برد پیاده کردم



          و برنامه ای که روی میکرو فرستنده پروگرام کردم
          $regfile = "m16def.dat"
          $crystal = 4000000
          $baud = 19200
          $hwstack = 32
          $swstack = 10
          $framesize = 40
          Config Lcdbus = 4
          Config Lcd = 16 * 2
          Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2
          Config Kbd = Porta , Debounce = 50 , Delay = 50
          Dim Togbit As Byte , Command As Byte , Address As Byte
          Command = 0
          Togbit = 0
          Address = 12
          Do
          Command = Getkbd()
          If Command < 16 Then
          Cls
          Lcd Command
          Waitms 300
          Rc5send Togbit , Address , Command
          End If
          Loop
          End
          یک ال سی دی هم براش گذاشتم تا مطمئن بشم اعداد روی کی پد رو می خونه که خوشبختانه میخونه!
          فرستنده مادون قرمز در حالت کار عادی خاموش هستش ولی بمحض اینکه یکی از اعداد کی پد رو فشار می دم یک لحظه روشن و خاموش می شه
          این یعنی یه چیزی داره ارسال می کنه دیگه؟درسته؟

          میریم سراغ گیرنده
          من در گیرنده از گیرنده سه پایه tsop1238 استفاده کردم که داخل دیتا شیت اون مداری رو گذاشته بود من هم از اون مدار استفاده کردم



          اون مقامتی که مشخص کردم منظورش بیشتر از 10 کیلو هست؟
          من یه بار 10 کیلو و یه بار هم 20 کیلو گذاشتم

          وگیرنده روی برد برد



          و برنامه ای که روی میکروی گیرنده پروگرام کردم

          $regfile = "m16def.dat"
          $crystal = 4000000
          $baud = 19200
          $hwstack = 32
          $swstack = 10
          $framesize = 40
          $lib "mcsbyte.lbx"
          Config Lcdpin = Pin , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.3 , Rs = Porta.2
          Config Lcd = 16 * 2
          Config Lcdbus = 4
          Config Rc5 = Pinb.0
          Enable Interrupts
          Dim Address As Byte , Command As Byte
          Do
          Getrc5(address , Command)
          Locate 1 , 1
          Lcd Address
          If Address = 12 Then
          Command = Command
          Locate 2 , 2
          Lcd "code is:" ; Command
          End If
          Loop
          End

          من آدرس رو هم گرفتم و در سطر 1 نمایش دادم. و command رو در سطر دوم
          مدار رو تست کردم اما جواب نداد :cry:
          همون طوری که میبینی آدرس در برنامه 12 هستش ولی روی ال سی دی 255 نشون میده
          این یعنی چه
          ضمن اینکه در سطر دوم هم command رو نشون نمیده
          حالا لطفا مشکلات مدار رو بگو تا برطرفشون کنم.
          ممنون

          دیدگاه

          لطفا صبر کنید...
          X