ايران ويج

نسخه‌ی کامل: گیرنده فرستنده hmt-hmr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5
کریستال خارجی رو برا hmtr استفاده کردم اما برا این مدل نه.
شما لطفا از کریستال استفاده کنید پایه های فرستنده را نزدیکترین محل به میکرو ببندید
ببینید چی جواب می گیرید
خب متشکر از دوستان که توبحث شرکت کردن. باید بگم که به حول قوه الهی :-) درست شد و خیلی خوب هم بدون خطا تا فاصله 50 متر جواب داد بیشتر امتحان نکردم ، بیست مترم کافیه برام :-)

به زودی میام زکاتش رو میپردازم :-)

(۱۱-مرداد-۱۳۹۲, ۰۲:۵۶:۳۷)akbar8 نوشته است: [ -> ]تاپیک کامل نخوندم اما بگم مازولایی که گفین کلا از هوا نویز میگرن.
یه دفه یه کانال روشن میشه خاموش میشه.
یادمه قبلنا با تایمر مشکلی که گفین تا حدودی برطرف شد.
خروجی مدام هی ریست کن مثلا هر چند میلی ثانیه با تایمر دستور بده خروجی صفر شه.

اکبر جان،‌این روش یکم غیر منطقیه چون ممکنه توهمون لحظه ای که نیازه مثلاً پین مورد نظر یک بشه تایمر بیاد اونو صفر کنه...

(۱۲-مرداد-۱۳۹۲, ۰۹:۱۸:۴۱)kimiafars نوشته است: [ -> ]شما لطفا از کریستال استفاده کنید پایه های فرستنده را نزدیکترین محل به میکرو ببندید
ببینید چی جواب می گیرید

قبلاً بدون کریستال جواب گرفته بودم الانم جواب گرفتم خداروشکر، ولی کریستال برا کار با hm-tr حتماً لازمه.
به ماهم بگو مشکل چی بود گلم
بله چرا که نه،‌در اولین فرصت کدش رو همراه با کلیپی که همراه با محمد جان ساختم میزارم :-)

الان مشکل آپ کردن دارم...
(۱۲-مرداد-۱۳۹۲, ۲۳:۴۶:۳۸)Ambassador نوشته است: [ -> ]بله چرا که نه،‌در اولین فرصت کدش رو همراه با کلیپی که همراه با محمد جان ساختم میزارم :-)

الان مشکل آپ کردن دارم...

من؟ کلیپ؟ بده من آپ کنم؛
فعلاً‌ کلیپ نمیتونم بزارم.

یکی از دوستان کشور همسایه :-) پیشنهاد دادن که کد بندی کنم، من امدم به روش خودم کدبندی کردم :-).

خب اینم یه کدینگ دیگه :-) کارمو راه میندازه.

گیرنده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Dim C1 As Byte , T1 As Byte
Config Portb.3 = Output
Config Portb.2 = Output
Config Portb.0 = Output
Config Portd.7 = Output
T1 = 20
Main:
Do
  C1 = 253
  Inputbin C1
  If C1 = 1 Then
   Waitms T1
   Inputbin C1
   If C1 = 0 Then
    Waitms T1
    Inputbin C1
    If C1 = 1 Then
     Waitms T1
     Inputbin C1
     If C1 = 0 Then
      Waitms T1
      Inputbin C1
      If C1 = 1 Then
       Waitms T1
       Inputbin C1
       If C1 = 0 Then
        Waitms T1
        Inputbin C1
        If C1 = 0 Then
         Goto Chanal1
        Else
         Goto Main
        End If
       Else
        Goto Main
       End If
      Else
       Goto Main
      End If
     Else
      Goto Main
     End If
    Else
     Goto Main
    End If
   Else
    Goto Main
   End If
  'Else
   'Goto Main
  End If


  If C1 = 0 Then
   Waitms T1
   Inputbin C1
   'S2 = C1
   If C1 = 1 Then
    Waitms T1
    Inputbin C1
    'S3 = C1
    If C1 = 0 Then
     Waitms T1
     Inputbin C1
     'S4 = C1
     If C1 = 1 Then
      Waitms T1
      Inputbin C1
      If C1 = 0 Then
       Waitms T1
       Inputbin C1
       If C1 = 1 Then
        Goto Chanal2
       Else
        Goto Main
       End If
      Else
       Goto Main
      End If
     Else
      Goto Main
     End If
    Else
     Goto Main
    End If
   Else
    Goto Main
   End If
  'Else
  ' Goto Main
  End If
Loop
End                                                        'end program
Chanal1:
Set Portb.0
Set Portb.2
Waitms 300
Reset Portb.0
Reset Portb.2
Waitms 300
C1 = 253
Goto Main
Chanal2:
Set Portd.7
Set Portb.3
Waitms 300
Reset Portd.7
Reset Portb.3
Waitms 300
C1 = 253
Goto Main

فرستنده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Dim C1 As Byte , T1 As Byte
Dim A As Integer
Config Portb.0 = Output
Config Portb.2 = Input
Config Portb.1 = Input
Declare Sub Chanal1
Declare Sub Chanal2
T1 = 20
Main:
Do
Debounce Pinb.1 , 1 , Chanal1 , Sub
Debounce Pinb.2 , 1 , Chanal2 , Sub
Loop
End
Sub Chanal1 : Goto Chan1 : End Sub
Sub Chanal2 : Goto Chan2 : End Sub

Chan1:
For A = 1 To 5
  Printbin 1
  Waitms T1
  Printbin 0
  Waitms T1
  Printbin 1
  Waitms T1
  Printbin 0
  Waitms T1
  Printbin 1
  Waitms T1
  Printbin 0
  Waitms T1
  Printbin 0
  Waitms T1
Next A
Set Portb.0
Waitms 300
Reset Portb.0
Waitms 300
Goto Main

Chan2:
For A = 1 To 5
  Printbin 0
  Waitms T1
  Printbin 1
  Waitms T1
  Printbin 0
  Waitms T1
  Printbin 1
  Waitms T1
  Printbin 0
  Waitms T1
  Printbin 1
  Waitms T1
Next A
Set Portb.0
Waitms 300
Reset Portb.0
Waitms 300
Goto Main

شب خوش.
(۱۳-مرداد-۱۳۹۲, ۰۱:۲۷:۴۴)Ambassador نوشته است: [ -> ]فعلاً‌ کلیپ نمیتونم بزارم.

یکی از دوستان کشور همسایه :-) پیشنهاد دادن که کد بندی کنم، من امدم به روش خودم کدبندی کردم :-).

خب اینم یه کدینگ دیگه :-) کارمو راه میندازه.
سلام
دقیقا نفهمیدم مشکلتون چطور حل شد!!
یکم بیشتر توضیح بدین.. منم همین مشکلو دارم!
اینو برای تست نوشتم
با سیم جواب میده
فرستنده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800
Dim S As Byte
Config Portc = Input

M:
S = Pinc
Printbin S
Goto M

End

گیرنده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800
Config Portc = Output
Dim S As Byte
M:
S = Inkey()
Portc = S
Goto M

End
سلام

من توفرستنده به همون میزانی که صفر و یک فرستادم برا گیرنده هم به همون میزان منتظر گرفتن صفر و یک بودم.

شما شماتیک مدارتون رو بزارید بهتره...
متاسفانه پروتئوس مشکل داره و هنوز فرصت نکردم(یا بهتر بگم تبلی Biggrin ) دوباره نصب کنم
ولی خیلی ساده
8 تا سوئیچ توی فرستنده به پورت c میکرو mega8 وصله
8 تا LED توی گیرنده به پورت c میکرو mega8 وصله
با زدن هر سوئیچ ...یک led در گیرنده روشن میشه!
خب مهربون منم که پستای قبلی همین کار رو کردم :-)

فقط تنها فرقش اینه من دو تا سوئیچ داشتم و دو تا گیرنده ( که جدا بودن) . وگرنه تفاونت زیادی با کار شما نداره، هم شبیه سازیش و هم کدش همونیه که گذاشتم.

کلاً قضیه اینطوریه که مثلاً وقتی سوئیچ اولی رو میزنید فرستنده میاد این رمز رو میفرسته 1010101 و گیرنده هم اگه همین رو گرفت ال ای دی مربوطه رو روشن میکنه، بعد اگه دومی زده شد فرستنده 0101001 و اگه گیرنده اینو گرفت ال ای دی مربوطه روشن میشه و الی آخر...
صفحه‌ها: 1 2 3 4 5