اطلاعیه

Collapse
No announcement yet.

پیشنهادات شما برای رفع این مشکل

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

    پیشنهادات شما برای رفع این مشکل

    سلام
    من با استفاده از ماژول های HM-R , HM-T و با دو عدد ATMEGEA 8 و یک میکرو سویچ می خواستم بعد از فشرده شدن کلید در فرستنده LED گیرند رو شن شود
    اما قبل از فشرده شدن کلید فرستنده LED گیرنده روشن می شد .من از پروتکل UART استفاده کردم و دستور ارسال و دریافت این ها بودند
    inputbin var
    printbin var
    باتشکر


    اضافه شده در تاریخ :
    سلام
    مدار فرستنده مقاومت PULL UP برای کلید داره و مدار از لحاظ سخت افزاری درسته ولی مشکل اینجاست که دیتا فرستاده می شه و لی در گیرنده دریافت نمی شه حتی بدون استفاده از ماژول.باد ریت هر دو مدار هم یکیه.
    احتمالا باید از یک دستور دیگه استفاده کنم یا مدار را با کریستال راه اندازی کنم.
    پیشنهاد شما چیه؟

    #2
    پاسخ : پیشنهادات شما برای رفع این مشکل

    سلام دوست عزیز...شما برای اینکه تو ارتباط سریال خطای بادریت صفر باشه حتما باید از کریستال استفاده کنی..البته کریستال هایی که برای اینکار هست (مثلا 11.0592)....برای جلوگیری از دیتای مزاحم هم دیتا رو وقتی میخوای بفرستی با یه کد خواص بفرست و تو گیرنده کد رو چک کن اگه درست بود بعد دستور مورد نظرت رو بده.......

    دیدگاه


      #3
      پاسخ : پیشنهادات شما برای رفع این مشکل

      سلام
      دیتا رو کد کن و خروجی گیرنده رو Pull Down کن
      خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

      دیدگاه


        #4
        پاسخ : پیشنهادات شما برای رفع این مشکل

        سلام
        من می خوام تا حد امکان از کریستال استفاده نکنم برای ارسال یک کد و آشکار سازی توسط گیرنده به نظر شما بهترین دستور تو بسکام چی میتونه باشه؟
        باتشکر

        اضافه شده در تاریخ :
        سلام
        خطای بادریتو صفر کردم و اطلاعات بدون ماژول تونستم بفرستم و لی وقتی ماژول را متصل می کنم این اطلاعات ارسال نمی شه .
        ماژول های HM با چه پروتکلی بهتر جواب می دهند به نظر شما؟
        لطفا یک مثال برنامه نویسی هم با بسکام بزنید

        اضافه شده در تاریخ :
        دوستانی که مداری عملی به همراه برنامه آن که با بسکام نوشته شده باشد را لطفا در این تاپیک قرار دهید باتشکر.

        دیدگاه


          #5
          پاسخ : پیشنهادات شما برای رفع این مشکل

          سلام
          میکروهای قدیمیتر شاید بتونن با اسیلاتور داخلی اطلاعات درستی رو به پورت سریال بفرستن
          ولی مطمیننا میکروهای جدید واقعا دچار مشکل میشن
          مشکلی که3 روز وقتم رو گرفت(با کریستال حل شد)
          موفق باشید

          دیدگاه


            #6
            پاسخ : پیشنهادات شما برای رفع این مشکل

            با اجازه دوستان (کوچیک همتون سبحان سروری)

            هی رفیق من جوابتو میدم

            ولی قول بده اون ژن منفی احتکار علم رو از بین ببری (فقط مردم ایرانی از این ژن جهش یافته دارند)

            راه اندازی ماژول HM-T HM-R راه اندازی hmt hmr راه اندازی hm-t hm-r توسط سبحان سروری


            من هم تغریبا ده ماه اسیر یک فرستنده گیرنده دیتا بودم که هم rfm12 و hm-tr خریدم و هر رکب مالی بود زدم ولی یه جوان مرد منو کمک نکرد (خدا ازشون نگذره ) بنابر این با خدا عهد بستم اگر از این یکی جواب گرفتم حتما به بقیه کمک کنم.



            به نام خدا

            اول از همه من از دو عدد hm-t و hm-r بهره بردم در کنار این دو از دو مگا 8 هم استفاده کردم و هشت عدد باطری شارژی قلمی CFL چهارتا برای فرستنده و چهارتا برای گیرنده ............

            در مرحله بعدی مدار فرستنده و گیرنده رو روی دو عدد برد برد مجزا با فاصله ی ( نیم متر ) قرار دادم، سیم های مخصوص آنتن را هم که همراه ماژول ها خریده بودم (آقای پویا خیری چیپ الکترونیک همراه ماژول ها دادند...مجانی) لحیم نمودم.

            حتما یادت باشه از هر باتری استفاده کردی (بهتره چهار تا قلمی آلکالاین یا جنس خوب باشد) ولتاژ خروجی آنها را (از این به بعد منبع تغذیه ما میشه) با یه رگولاتور پنج ولتی به مدارات اعمال کن
            L8705 دو عدد.................


            در فرستنده پایه دیتا را به پایه TX میکرو متصل کن زمین را به زمین و VCC را به خروجی پنج ولت وصل کن ...اگر رگولاتور را جلوی روی ماهت بگیری سمت راستی خروجیه . وسطی زمین . چپیه ورودی .
            این شد سخت افزار فرستنده دیگه کریستال و قرطی بازی نداره (اون کسانی که کار نکرده اند لطفا ملت رو سر کار نذارن و نظر ندن تا امثال دوستمون سر در گم نشه)


            در گیرنده پایه ENABLE رو به مثبت مدار گیرنده (یادت باشه که گفتیم تغذیه رو از رگولاتور بگیر و این پایه تونا ساز رو به همون خروجی رگولاتور متصل کن) پایه DATA رو هم به RX میکرو متصل کن زمین رو هم به زمین همون GND بوصلش دقیقا همون بوصلش خطای تایپی نبود.........امیدوارم دیگه بدونی VCC رو به چی وصل کنی .........آآآآآآآ قربون پسر اون رو هم به خروجی رگولاتور یا همون جایی که ENABLE رو وصلیدی.....

            در مدار گیرنده برای آشکارسازی و برسی دریافت دیتا از یک ال سی دی استفاده می کنیم(سبحان سروری) که من ال سی دی رو به پورت C میکرو اتصال دادم.....


            ما در این پروژه قصد داریم یک کلمه را به صورت بی سیم یا وایرلس از یک میکروکنترلر به یک میکروکنترلر بفرستیم و در میکروی دومی کلمه را روی ال سی نمایش بدیم

            حتما یادمان باشد هر چه قدر بادریت بیشتر شانس دریافت صحیح دیتا کمتر پس با آزمایشات مختلف اینجانب سبحان سروری دریافتم 300 یا 600 خوب جواب میده حالا اگه دوست داشتین همینجوری دوبرابر کنید و پله ای باد رو افزایش بدید
            300 600 1200 2400 4800 وای مواظب باشید 9600 من که از این یکی به سختی جواب گرفتم چون دیگه وارد مسایل پروتکل ارسال دریافت میشیم بی خیال باد بالا ممکنه یهو بترکیم و کار دست ملت بدیم....

            خلاصه کنم که همون 600 برای بار اول خوبه ....

            البته یه متغیر عددی رو هم داریم که با هر بار ارسال افزایش پیدا می کند( آقا علی خیلی مخلصیم) با شما نبودم یکی بود که خودش ممکنه بفهمه .
            داش علی فقط بخونه (خیلی آقایی دیدی منم اون ژن منفی رو هم با بردن اسمت از بین بردم.)


            regfile = "M8Def.dat"
            $crystal = 8000000
            $swstack = 8
            $hwstack = 8
            $framesize = 40
            $baud = 600

            Config Portb = Output
            Dim S As String * 13
            Dim Count As Integer
            S = " SOBHAN"
            Waitms 5
            Do

            Waitms 1
            Incr Count
            Print S ; Count ; Chr(13)
            Waitms 2


            Loop

            End


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

            مثلا می گید چرا اول کلمه SOBHAN چرا سه تا کاراکتر خالی فرستاده میشه ( بیکاز ) مای ماژول سه حرف اول کلمه رو جابه جا میکرد .... میگید چرا میگم نمیدونم .

            اوه اوه اینم یادتون بمونه که توی کاتالوگ (ای بابا همون دیتا شیت) مهندس چینیه گفته ماژول گیرنده HM-R اگر تا 70 میلی ثانیه چیزی دریافت نکنه چرتش میگیره و باید قبلش بیدارش کنی پس ما دیتا رو برای اولین بار سکته زده دریافت می کنیم .... دوستانی که می خوان فرستنده چند کاناله بسازن یادشون باشه (همون کنترل از راه دور ) یه دیتا رو که به عنوان یک کانال میفرستید حتما توی یک حلقه FOR NEXT چند بار بفرستند تا اگه IF شون تو گیرنده چیزی نداشت برای بار بعدی یه چیزی رو داشته باشه...ولی اگه می خواید مثلا دمای خونده شده از یه سنسور رو به دور دست ها بفرستید حتما اونو هر چند میلی ثانیه بفرستید ( کمتر از 70 میلی ثانیه تا دو باره خوابش نگیره و ما رو گیر نیاره )....


            این هم در نظر بگیرید پایه ENABLE رو برای خوشتیپی رو ماژول گیرنده قرار ندادند (دلیلش رو حدس بزنید) آقایان به به

            خب بهتره بریم سراغ گیرنده که یک ال سی دی رو هم در بر داره.........


            $regfile = "M8Def.dat"
            $crystal = 8000000
            $swstack = 8
            $hwstack = 8
            $framesize = 40
            $baud = 1200
            Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , _
            Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
            Config Lcd = 16 * 2



            Dim S As String * 13



            Main:
            Cls
            Lcd "no data"

            Do
            Input S
            S = Ltrim(s)
            Cls
            Lcd S
            Loop

            End

            به به چی شد ( چون اینجا از راست به چپ میشه تایپید برنامه هم به اذن ما از راست به چپ قرار گرفت البته بلد بودیم درستش کنیم ولی اینو دیگه دوستان به عنوان تکلیف در خانه درستش کنند.)


            خب اجازه بدین به پرسشهای دوستان پاسخ بفرماییم...آقا برو تو صف وآیسا ....به نوبت .... اوهوی بچه سنگ ننداز ....چی گفتی :eek:

            اول اینکه اون بالایی یا این (S = Ltrim(s میاد اون سه حرف یا کاراکتر خالی رو که با کلمه فرستادیم حذف می کنه بعد میاد روی ال سی دی به نمایش گذاشته میشه

            انصافآ من تمام تلاشمو کردم که دیگه کسی مثل من کارش گیر نکنه اگر هم پرسشی فکری امری فرمانی بوقی کلاچی کاری باری داشتین که کمک می خواستین

            EMAIL : SOBHANSARVARI@YAHOO.COM


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


            یا علی ...



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

            دیدگاه


              #7
              پاسخ : پیشنهادات شما برای رفع این مشکل

              سلام.
              سبحان سپهری ممنون از آموزش و راهنمایی خوبی که کردید.
              ولی تو قوانین سایت اومده که دادن شماره تلفن در انجمن ممنوع هستش.

              http://www.eca.ir/forum2/index.php/topic,10159.0.html
              پستتو ویرایش کن.متشکرم
              www.icesi.ir

              دیدگاه


                #8
                پاسخ : پیشنهادات شما برای رفع این مشکل

                از سبحان ( سروری ) به مهندس میلاد :

                طبق برسی های به عمل آمده متوجه شدم حق با شما بوده و در چهارچوب قوانین سایت من شماره تلفن را حذف کردم.

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

                دیدگاه


                  #9
                  پاسخ : پیشنهادات شما برای رفع این مشکل

                  نوشته اصلی توسط ba_safa
                  $swstack = 8
                  $hwstack = 8
                  $framesize = 40
                  با سلام خدمت دوستان
                  اگه میشه یکی از دوستان در مورد این دستورات کمی توضیح بده
                  اصلا متوجه کارشون نمی شم ممنون میشم کسی در این مورد راهنمایی کنه
                  www.ElectronShop.ir

                  دیدگاه

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