اطلاعیه

Collapse
No announcement yet.

کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

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

    کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

    سلام
    کسی هست که با ماژولهای HM-T و HM-R کار کرده باشه یا نه؟
    من میخوام یک موتور پله ای رو بصورت بیسیم از راه دور کنترل کنم و در حالت با سیم بصورت سریال کامل جواب گرفتم ولی در حالت بیسیم جواب نمی ده.
    من از روش کدگذاری استفاده کردم و در گیرنده از دستور CODE = WAITKEY() استفاده کردم و بایستی گیرنده در این خط تا قبل از فرستادن کد توقف کنه ولی توقف نمی کنه و موتور بدون هیچ ارسالی شروع بکار میکنه و حروف عجیبو غریبی روی LCD نشون میده
    از دوستان می خوام اگه با این ماژول کار کردند کمکم کنن
    با تشکر : جواد
    ایمیل من : JT.MRE2008@GMAIL.COM

    #2
    پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

    سلام من پروژه ام در همین موضوع بود ، البته با کدویژن
    بزودی پلودش میکنم و میزارم تو سایت :nerd:
    زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز

    دیدگاه


      #3
      پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

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

      دیدگاه


        #4
        پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بی&#1587

        نوشته اصلی توسط 7480
        سلام
        کسی هست که با ماژولهای HM-T و HM-R کار کرده باشه یا نه؟
        سلام
        دوست عزیز نمی دونم منظورت از کد گزاری چیه ولی به نظرم(اونطور که من کار کردم)باید به این ترتیب عمل کنی
        1.مطمئن شو که در مدارت اشکالی نیست.مثل پایه enable و config که باید درست پیکر بندی بشن.
        2.برنامت باید به این صورت باشه که ابتدا فرستنده کد مربوط رو در یه قالب مشخص ارسال کنی مثلا برای اینکه متور 5 پله حرکت کنه فرستنده کد "/5+" رو به صورت یک متغیر رشته ای ارسال می کنه.
        3برنامه گیرنده یکم سخت تره ولی در کل آب نباته :biggrin:
        به اینصورت که تو یه حلق do..loop از waitkey استفاده می کنی.می دونی که این دستور waitkey فقط اولین بایت ورودی رو ذریافت می کنه اونم به صورت اسکی.خوب چاره چیه؟
        اگه دقت کنی ما تو برنامه فرستنده عدد مربوط به پله رو(به طور مثال) بین 2 تا کارکتر دلخواه / و + قرار دادیم.خوب حالا گیرندمون تو حلقه بالا صبر می مونه تا اینکه کد ورودیش برابر با + بشه بعد به زیر برنامه بعدی پرش میکنه و اینقدر کد می گره و ذخیره می کنه تا به کد / برسه حالا پارامتر مورد نظز رو داریم فقط باید ازش استفاده کنیم یه نمونه برنامه می ذارم برات.برای گیرندت
        $regfile = "m8def.dat"
        $crystal = 8000000
        $baud = 9600
        Dim Akey As Byte
        Dim Inputstring As String * 12

        Test:
        Do
        Akey = Waitkey()
        If Akey = 43 Then Goto Main
        Loop
        '#################################
        Main:
        ""=Inputstring
        Do
        Akey = Waitkey()
        If Akey = 47 Then Goto Thanks
        Inputstring = Inputstring + Chr(akey)
        Loop
        Return
        '#################################

        Thanks:
        Print Inputstring
        Wait 1
        Goto Test


        دقت کن که کد 47 و 43 کد کاراکترای ابتدا و انتهای ماست. در قسمت main بخش اصلی کد فرستند رو می گیریم فرض کن اگه بفرستیم "/hello world+" گیرنده در بخش تست با گرفتن + به بخش مین میره و متغیره Inputstring برابر با hello world میشه و با رسیدن به / به بخش پایانی میره و میتونی با یه شرط اعتبار سنجی برنامنو اجرا کنی.
        سعی کردم همه چیزو ریز و پایه ای بگم اگه بازم مشکلی بود بگو برات برنامه آمده میزارم.موفق باشی

        دکتر شريعتي : «کلاس پنجم که بودم پسر درشت هيکلي در ته کلاس ما مي نشست که براي من مظهر تمام چيزهاي چندش آور بود ،آن هم به سه دليل ؛ اول آنکه کچل بود، دوم اينکه سيگار مي کشيد و سوم - که از همه تهوع آور بود- اينکه در آن سن و سال، زن داشت. !... چند سالي گذشت يک روز که با همسرم از خيابان مي گذشتيم ،آن پسر قوي هيکل ته کلاس را ديدم در حاليکه خودم زن داشتم ،سيگار مي کشيدم و کچل شده بودم

        دیدگاه


          #5
          پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

          سلام
          ممنونم از جوابی که دادین
          ماژول من یه ماژول یک طرفا است .فرستنده 3 پایه و گیرنده 4 پایه که یک پایه آن ENABLE و به VCC وصل میشه
          من سه داده ره همزمان بایستی بفرستم .
          1-تعداد دور یا مدت زمان یا مقدار زاویه
          2-کدی برای تعیین حالت راستگرد چپگرد
          3-یک کد هم برای تعیین مدهای START - STOP - ANGLE - ROTATE - TIME که با در یافت هر یک از این کدها در گیرنده یک زیر برنامه ای اجرا شده و بعد از اتمام کار به ابتدای برنامه پرش کرده و منتظر دریافت کد میشه.
          این کدهای 43 و 47 رو که تو شر ط گیرنده گفتید همون اعداد دریافتی اسکی هستند درسته؟ این کد رو در فرستنده چطور باید فرستاد بایستی از نوع رشته با شه درسته؟ یعنی منظورتون اینه که من برای ارسال هر دیتایی بایستی یک کد شروع و یک کد پایان تعریف کنم و بین این دو کد داده اصلی رو بفرستم درست میگم یا نه؟خودتون با HMT و HMR کار کردین ؟
          من بار اوله که با این ماژولا کار میکنم دو هفته ای میشه دارم روی حالت بیسیم کار می کنم ولی بازم در ارسال و دریافت مشکل دارم اگه مطلبی یا برنامه ای دارید ممنون میشم که اینجا بذارید یا برام ایمیل کنید . ایمیل من JT.MRE2008@GMAIL.OM
          با تشکر : جواد

          دیدگاه


            #6
            پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

            سلام.
            در فرستنده باید به صورت رشته ارسال کنید مثلا
            dim p as string*10
            p="/hello world+"
            print p
            .............
            در مورد 3 تا کد یا بیبشتر مشکلی نیست.چنتا راه داری مثلا بین کدات از یه کاراکتر استفاده کن و تو گیرنده با همون روشی

            که بحث شد از هم جداشون کن و آنالیزشون کن.راجع به فرستندو گیرندت هم چون hmt و hmr داری پایه کانفیگ نداره.enable هم باید به 5 ولت وصل بشه.
            من خودم از این ماژول خیلی استفاده میکنم چون واسه وایرلس کردن به نظرم بهترین گزینست.پایه tx ماژول به rx میکرو و برعکس.پایه تغذیه هم که معلومه.
            یه کم وقت بزاری حتما حل میشه اگه نشد بگو شماتیکو برنامه کامل برات میزارم

            دکتر شريعتي : «کلاس پنجم که بودم پسر درشت هيکلي در ته کلاس ما مي نشست که براي من مظهر تمام چيزهاي چندش آور بود ،آن هم به سه دليل ؛ اول آنکه کچل بود، دوم اينکه سيگار مي کشيد و سوم - که از همه تهوع آور بود- اينکه در آن سن و سال، زن داشت. !... چند سالي گذشت يک روز که با همسرم از خيابان مي گذشتيم ،آن پسر قوي هيکل ته کلاس را ديدم در حاليکه خودم زن داشتم ،سيگار مي کشيدم و کچل شده بودم

            دیدگاه


              #7
              پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

              سلام
              برنامه ای که نوشتم رو براتون ایمیل زدم یه نگاش بندازید.
              چنت تا سوال دارم.
              من در فرستنده گفتم سه دیتا رو باید کد گذاری کنم و بفرستم . برای حالت start و stop فقط باید برای هر کدوم یک کدی رو بفرستم و با دریافت هر یک از این کدهای تعریف شده در برنامه به زیر برنامه start یا stop موتور که کاربر از گیرنده ، مد کاری موتور رو انتخاب کرده پرش کند . من حالت start موتور رو پشفرض راستگرد گرفتم . با زدن کلید start و یا stop و انتخاب اون در فرستنده متغیر code = 125 شده و برای مد start متغیر l = 60 و برای مد stop متغیر
              l = 90 شده و سپس به زیر برنامه ersal پرش می کند . حال اگر مثلاً مد start انتخاب شده باشد code= 125 و
              l = 80 و بعد برای ارسال اون یک رشته تکی مثل "t" پنج کاراکتری اضافه کردم و رشته جدید رو فرستادم [left]
              If Code = 125 Then
              If L = 80 Then 'START
              R = "T"
              _mod = R + Dataa
              End If
              If L = 90 Then
              R = "P" 'stop
              _mod = R + Dataa
              End If
              Print _mod
              Call Send
              End If[/left
              ]
              و در گیرنده با دریافت این رشته و جدا کردن رشته تکی که فرستادم با یک دستور شرطی if گفتم اگه رشته تکی"t" دریافت شده برو به اجرای زسر برنامه start
              Input _mod
              R = Mid(_mod , 1 , 1)

              '00000000000000000000000000000000000000000 START 00000000000000000000000000000
              If R = "T" Then
              Gosub Receiving
              Goto Startm
              End If
              برای سه مد باقیمانده علاوه بر فرستادن این رشته برای مشخص کردن مد موتور اومدم یک متغیر برای نگه داشتن تعداد دور و یا زمان یا زاویه و برای حالت راستگرد و چپگرد هم یک متغیر در نظر گرفتم بعد از تبدیل به رشته و اضافه کردن رشته تکی فرستادم و وریافت کردم
              برای مثال برای تعداد دور :
              m = 100 تعدداد دور
              بعد m رو تبدیل به رشته کردم var = str(m) و با یک رشته تکی "y" جمع کردم و رشته جدید tedad برای ارسال درست میشه
              و بعد با انتخاب راستگرد تعریف کردم متغیر s برابر "r" شود و برای چپگرد برابر "c" شود و این رشته تکی رو در یک نتغیر رشته ای قرار دادم و با یک رشته دلخواه direct که چند کاراکتر داره جمع زدم و رشته جدید jahat درست شده که بصورت برنامه زیره و برنامه کاملشو براتون فرستادم
              Ersal:
              Waitms 4000
              Cls
              Locate 2 , 2
              Lcd "ETELAAT AMADE"
              Locate 3 , 4
              Lcd "ERSAL AST"

              Dataa = "Micro"
              Var = Str(m)
              Direct = "HADAF"
              Tx:
              Do
              K = Getkbd()
              If K > 15 Then Goto Tx
              If K = 13 Then 'KELIDE SEND



              If Code = 125 Then
              If L = 80 Then 'START
              R = "T"
              _mod = R + Dataa
              End If
              If L = 90 Then
              R = "P" 'stop
              _mod = R + Dataa
              End If
              Print _mod
              Call Send
              End If




              If Code = 155 Then 'rotate
              R = "B"
              _mod = R + Dataa
              Y = "Y"
              Tedad = Y + Var
              Jahat = S + Direct
              Call Send0
              End If


              End If
              Waitms 75
              Loop


              Sub Send
              Gosub Sending
              Goto Meno
              End Sub Send


              Sub Send0
              Print _mod
              Print Tedad
              Print Jahat
              Gosub Sending

              Goto Meno

              End Sub Send0

              Sending:

              For B = 1 To 5
              Cls
              Cls
              Waitms 500
              Locate 2 , 2
              Lcd "ETELAAT ERSAL"
              Locate 3 , 7
              Lcd "SHOD"
              Waitms 500
              Next B
              Return

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

              دیدگاه


                #8
                مشکل در نحوه ارسال و دریافت دیتا

                سلام برنامه ای که فرستادم دیدید.
                من تنهامشکلم اینه که نمی دونم چطور سه دیتا رو همزمان ارسال و در یافت کنم.
                وگرنه مثلاً تونستم با فاصله 100 متر موتور رو start کنم . ولی برای تعیین تعداد دور و راستگرد چپگرد اون بایستی دو تا کد برای هر کدوم یکی مقدار تعداد دور که از کیبرد زده می شه و یکی هم برای جهت چرخش موتور.
                حالا اگه می دونید راه نما یی ام کنید که این ارسال و دریاف سه داده چطوری باید باشه.
                ممنونم

                دیدگاه


                  #9
                  پاسخ : کمک برای کنترل STEP MOTOR با ماژول HM-T و HM- R بصورت بیسیم

                  یه نگاهی به این بنداز:
                  http://www.special-topics.blogfa.com/post-4.aspx

                  دیدگاه

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