اطلاعیه

Collapse
No announcement yet.

گیرنده فرستنده 14 کاناله 915 مگا هرتز

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

    گیرنده فرستنده 14 کاناله 915 مگا هرتز

    :smile:
    با سلام و خسته نباشید



    من یک مشکل بزرگ در برنامه فرستنده گیرنده 14 کانال دارم

    (ماژول 915 با آی سی مگا8)

    من یه برنامه ای به زبان بسکام نوشتم و با اون 14 خروجی گیرنده رو تک تک روشن می کنم و مشکل خاصی ندارم ولی
    نمی تونم که اونها رو ترکیبی روشن کنم



    منظورم اینه که:
    برای مثال

    کلید 2و 5 یا 6 و 9 و 1 رو هم زمان نمی تونم روشن کنم

    فقط می تونم یکدوم از کلید ها رو یک کنم تا اون ور هم خروجی 1 بشه و برای زدن دکمه بعدی باید منتظر بشم تا اون خروجی که زدم خ
    اموش بشه تا کلید بعدی رو بزنم


    و مشکل بعدیم این که وقتی خروجیم 1 میشه هی چشمک میزنه

    دائم روشن نیست

    دلیلشو هم میدونم ، از برنامشه و زمانی که براش تأیین کردم
    آخر حرفم اینه که نمی تونم خروجی ها رو دائم تا وقتی که ورودی 1 باشه خروجی هم 1 باشه روشن کنم
    (چشمک نزنه)
    و خزوجی ترکیبی است
    انشاا... که منظور منو فهمیده باشید
    اگر برنامه ای بهتر از برنامه زیر که براتون گذاشتم دارید ، بگید تا شما رو هم دعا کنیم.
    با تشکر


    اینهم برنامه هاش:

    گیرنده:
    $regfile = "M8Def.dat"
    $crystal = 1000000
    $baud = 9600
    Config Portc = Output
    Config Portb = Output

    Dim S As String * 13


    Main:
    Do
    Input S


    If S = "CANAL1" Then Goto C1

    If S = "CANAL2" Then Goto C2

    If S = "CANAL3" Then Goto C3

    If S = "CANAL4" Then Goto C4

    If S = "CANAL5" Then Goto C5

    If S = "CANAL6" Then Goto C6

    If S = "CANAL7" Then Goto C7

    If S = "CANAL8" Then Goto C8

    If S = "CANAL9" Then Goto C9

    If S = "CANAL10" Then Goto C10

    If S = "CANAL11" Then Goto C11

    If S = "CANAL12" Then Goto C12

    If S = "CANAL13" Then Goto C13

    If S = "CANAL14" Then Goto C14

    Loop

    End

    C1:
    Set Portc.5
    Waitms 20
    Reset Portc.5
    Goto Main

    C2:
    Set Portc.4
    Waitms 20
    Reset Portc.4
    Goto Main

    C3:
    Set Portc.3
    Waitms 20
    Reset Portc.3
    Goto Main

    C4:
    Set Portc.2
    Waitms 20
    Reset Portc.2
    Goto Main

    C5:
    Set Portc.1
    Waitms 20
    Reset Portc.1
    Goto Main

    C6:
    Set Portc.0
    Waitms 20
    Reset Portc.0
    Goto Main

    C7:
    Set Portb.0
    Waitms 20
    Reset Portb.0
    Goto Main

    C8:
    Set Portb.1
    Waitms 20
    Reset Portb.1
    Goto Main

    C9:
    Set Portb.2
    Waitms 20
    Reset Portb.2
    Goto Main

    C10:
    Set Portb.3
    Waitms 20
    Reset Portb.3
    Goto Main

    C11:
    Set Portb.4
    Waitms 20
    Reset Portb.4
    Goto Main

    C12:
    Set Portb.5
    Waitms 20
    Reset Portb.5
    Goto Main

    C13:
    Set Portb.6
    Waitms 20
    Reset Portb.6
    Goto Main

    C14:
    Set Portb.7
    Waitms 20
    Reset Portb.7
    Goto Main

    فرستنده:

    $regfile = "M8Def.dat"
    $crystal = 1000000
    $baud = 9600
    Config Portc = Input
    Config Portb = Input

    Dim C1 As String * 13
    Dim C2 As String * 13
    Dim C3 As String * 13
    Dim C4 As String * 13
    Dim C5 As String * 13
    Dim C6 As String * 13
    Dim C7 As String * 13
    Dim C8 As String * 13
    Dim C9 As String * 13
    Dim C10 As String * 13
    Dim C11 As String * 13
    Dim C12 As String * 13
    Dim C13 As String * 13
    Dim C14 As String * 13
    Dim A As Byte

    C1 = "CANAL1"
    C2 = "CANAL2"
    C3 = "CANAL3"
    C4 = "CANAL4"
    C5 = "CANAL5"
    C6 = "CANAL6"
    C7 = "CANAL7"
    C8 = "CANAL8"
    C9 = "CANAL9"
    C10 = "CANAL10"
    C11 = "CANAL11"
    C12 = "CANAL12"
    C13 = "CANAL13"
    C14 = "CANAL14"

    Main:
    Do


    If Pinc.5 = 1 Then Goto C1

    If Pinc.4 = 1 Then Goto C2

    If Pinc.3 = 1 Then Goto C3

    If Pinc.2 = 1 Then Goto C4

    If Pinc.1 = 1 Then Goto C5

    If Pinc.0 = 1 Then Goto C6

    If Pinb.0 = 1 Then Goto C7

    If Pinb.1 = 1 Then Goto C8

    If Pinb.2 = 1 Then Goto C9

    If Pinb.3 = 1 Then Goto C10

    If Pinb.4 = 1 Then Goto C11

    If Pinb.5 = 1 Then Goto C12

    If Pinb.6 = 1 Then Goto C13

    If Pinb.7 = 1 Then Goto C14

    Loop

    End

    C1:

    For A = 1 To 5
    Print C1 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C2:

    For A = 1 To 5
    Print C2 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C3:

    For A = 1 To 5
    Print C3 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C4:

    For A = 1 To 5
    Print C4 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C5:

    For A = 1 To 5
    Print C5 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C6:

    For A = 1 To 5
    Print C6 ; Chr(13);
    Waitms 20
    Next A
    Goto Main
    C7:

    For A = 1 To 5
    Print C7 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C8:

    For A = 1 To 5
    Print C8 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C9:

    For A = 1 To 5
    Print C9 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C10:

    For A = 1 To 5
    Print C10 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C11:

    For A = 1 To 5
    Print C11 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C12:

    For A = 1 To 5
    Print C12 ; Chr(13);
    Waitms 20
    Next A
    Goto Main
    C13:

    For A = 1 To 5
    Print C13 ; Chr(13);
    Waitms 20
    Next A
    Goto Main

    C14:

    For A = 1 To 5
    Print C14 ; Chr(13);
    Waitms 20
    Nextn A
    Goto Mai

    #2
    پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

    برای اینکه خروجیت چشمک نزنه باید دو کد مختلف را بفرستی اولی وقتی که دکمه رو نگه می داری تا led روشن بشه و دومی زمانی که دستتو از روی کلید بر می داری تا led خاموش بشه برای این کار وقتی که کلید رو فشار دادی یک کد بفرست و بعد میکرو رو در یک حلقه نگه دار تا زمانی که دستتو از روی دکمه برداری بعد یک کد دیگه ارسال کن

    دیدگاه


      #3
      پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

      ولی من کمک بهتری می خواستم

      مثال برنامه ای
      برنامه کاملی

      کسی نیست بیشتر راهنمایی کنه

      دیدگاه


        #4
        پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

        سلام مهندس

        اگه بخوای این کار رو انجام بدی باید اساس برنامه ات رو تغییر بدی مثلاٌ میخوای کنترل از راه دور یه هلی کوپتر مدل رو بسازی باید در عین اینکه دور روتر اصلی رو کم و زیاد میکنی ملخ عقب رو هم کنترل کنی و با الگوریتم زیر غیر ممکنه

        البته می تونی حلقه های for ,next رو حذف کنی و تو گیرنده با مدیریت تاخیر هات (wait) همزمانی رو شبیه سازی کنی

        ولی برنامه اصولی به یه شکل دیگه است که یه خورده زمان میبره

        شما باید توی یه حلقه بسته تمام ورودی ها رو چک کنی و یک متغییر مشترک طولانی برای تمام کانالهات در نظر بگیری که در انتهای حلقه همیشه ارسال میشه

        خب بعد این باید بیای و هر قسمت از متغیر طولانی رو به یک کانالت اختصاص بدی مثلاً 101010101010 این رشته یک رشته مشترک برای ارسال 12 کانال هستش و همونطور

        که میبینی یک در میان ورودی ها یک شدن

        اگر تونستی الگوریتم ارسال بدون خطای این رشته رو بنویسی توی گیرنده باید رشته رو تکه تکه کنی و داده هر خروجی رو به اون پایه انتقال بدی(مثلاً پایه رو یک کنی) تموم

        البته باید وقت بزاری
        خوشبخت ترین انسانها کسانی هستند که از شادی دیگران لذت ببرند.

        دیدگاه


          #5
          پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز


          سبحان جان
          میشه کمی بیشتر یا یه مثال کوچولو بزنید

          الان من گیجم
          نمی دونم دقیق باید چی کار کنم
          :sad:

          دیدگاه


            #6
            پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

            تغریباً تو فرستنده یه چیزی تو این مایه ها میشه:


            If Pinc.5 = 1 Then
            a=1
            else a=0
            end if


            If Pinc.4 = 1 Then
            b=1
            else b=0
            end if


            If Pinc.3 = 1 Then
            c=1
            else a=0
            end if


            If Pinc.2 = 1 Then
            d=1
            else a=0
            end if

            print a;b;c;d

            البته باید برنامه اش رو کاملتر بنویسی و این یه مثاله و کاملا درست نیست و فقط ایده کاریه


            خوشبخت ترین انسانها کسانی هستند که از شادی دیگران لذت ببرند.

            دیدگاه


              #7
              پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

              آقایی با مرام

              زور خودمو میزنم تا راش بندازم
              راستی سبحان مگاله جدیدی نداشتی
              (در مورد الکترونیک)
              تا ما دانلود کنیم
              آخه جالب و کامل مینویسی

              دیدگاه


                #8
                پاسخ : گیرنده فرستنده 14 کاناله 915 مگا هرتز

                یه چیزایی داشتیم ولی به الکترونیک زیاد ربط نداشتن

                من عاشق هوافضا هستم (البته توع مثبتشا)

                فعلاً که گیر بیزینس و مثلاً کارآفرینی شدیم

                به زودی چیزای جالبی رو نت میزاریم ادیسون خان
                خوشبخت ترین انسانها کسانی هستند که از شادی دیگران لذت ببرند.

                دیدگاه

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