اطلاعیه

Collapse
No announcement yet.

مشکل در ماژول SRF02

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

    مشکل در ماژول SRF02

    سلام
    من یه مبتدی هستسم
    دوستان من میآ‌خوام ماژول srf02 رو راه اندازی کنم
    ولیآ‌ متاسفانه کتابخانه اش داخل کد ویژن نیست
    به هر زور و زحمتی که شده رفتم یه کتابخونه براش پیدا کردم
    ولیآ‌ استفاده از آن رو بلد نیستم
    لطفاً فایل زیر رو دانلود کنید و من رو راهنماییآ‌ کنید
    با تشکر

    http://morsalon.com/Devantech.rar

    #2
    پاسخ : مشکل در ماژول SRF02

    سلام

    جانا سخن از زبان ما میآ‌آ‌گویی
    آقا اصلا تا بحال کسیآ‌ از این کتاب خونه استفاده کرده
    مشکله من هم هس
    یا علیآ‌ :rolleyes:

    دیدگاه


      #3
      پاسخ : مشکل در ماژول SRF02

      دوستان عزیز . چرا کتابخانه؟؟؟؟؟؟؟؟؟؟؟؟؟
      این ماژول با پروتکل ار تباطی i2c کار میکنه . اگه دیتا شیتش را هم بخونید کاملا متوجه میشوید .
      اگر با دیتا شیت کارتون حل نشد که به احتمال زیاد میشه بگین تا کد c را براتون بنویسم .
      در خدمتیم :nice:
      چيزي را بگو که بتواني بنويسي
      چيزي را بنويس که بتواني امضا کني
      چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

      دیدگاه


        #4
        پاسخ : مشکل در ماژول SRF02

        نوشته اصلی توسط lordsoroosh
        دوستان عزیز . چرا کتابخانه؟؟؟؟؟؟؟؟؟؟؟؟؟
        این ماژول با پروتکل ار تباطی i2c کار میکنه . اگه دیتا شیتش را هم بخونید کاملا متوجه میشوید .
        اگر با دیتا شیت کارتون حل نشد که به احتمال زیاد میشه بگین تا کد c را براتون بنویسم .
        در خدمتیم :nice:
        دوست عزیز، خیلی ازتون ممنون میشم اگه یه نمونه فایل پروژه با زبان c برام بفرستید
        دستتون درد نکنه

        دیدگاه


          #5
          پاسخ : مشکل در ماژول SRF02

          این قطعه هم به صورت I2C وهم به صورت RS232 کارمیکنه
          بعدا یه جمله قشنگ مینویسم

          دیدگاه


            #6
            پاسخ : مشکل در ماژول SRF02

            خب داداش مشکل با همین i2c هست
            من و آقا محسن که بلد نیستیم
            اگه بلدی
            چاره اش یه
            یا علی
            هست
            یه کمکی هم به ما کن
            یا علی :smile:

            دیدگاه


              #7
              پاسخ : مشکل در ماژول SRF02

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

              دیدگاه


                #8
                پاسخ : مشکل در ماژول SRF02

                من می خواهم با پروتکل i2c کار بکنم .
                اول از همه باید ببینیم که آدرس اولتراسونیک چند است . برای این کار به دیتا شیت srf02 نیاز داریم:
                http://m32.ir/up/2011/07/2011/08/SRF02.pdf
                وقتی srf را روشن می کنیم چراغ روی آن اول یکبار روشن می شود و سپس چند بار چشمک می زند(ممکن است حتی چشمک نزند). تعداد این چشمک ها را باید بشماریم بعد در دیتاشیت اون باید نگاه کنیم ادرس srf به ازای این تعداد چشمک(short flash ) چقدر است . مثلا اگر یک بار چشمک بزند ادرس ان 226 است.
                حالا میریم سراغ کد :
                اول از همه باید کتابخانه را اینکلود کنیم:
                #include <i2c.h>
                بعد باید مشخص کنیم که دو پایه ی scl و sda روی کدام پایه های میکرو باشند. برای مثال ما پایه های 0 و 1 پورت d را انتخاب میکنیم:
                #asm
                .equ __i2c_port=0x12 ;PORTD
                .equ __sda_bit=1
                .equ __scl_bit=0
                #endasm
                خوب حالا باید اول ادرس اولتراسونیک را فراخوانی کنیم و سپس باید خروجی آن را به سانتی متر تنظیم کنیم و در خواست دریافت اطلاعات بکنیم . خروجی srf به صورت دو بایت است که ما این دوبایت را د ردو رجیستر bit1 و bit2 میریزیم.
                برنامه مربوط به راه اندازی اولتراسونیک به صورت کلی به شکل زیر می باشد:
                #include <i2c.h>
                #asm
                .equ __i2c_port=0x12 ;PORTD
                .equ __sda_bit=1
                .equ __scl_bit=0
                #endasm
                char bit1,bit2;
                int ultra;
                i2c_start ();
                i2c_write (226); //srf adress
                i2c_write (0);
                i2c_write (0x51); // unit=cm
                i2c_stop ();
                i2c_start ();
                i2c_write (226); // srf adress
                i2c_write (2); // data request
                i2c_start ();
                i2c_write (227); // srf adress +1
                bit1=i2c_read (1); // high value data reg
                bit2=i2c_read (0); // low value data reg
                i2c_stop ();
                ultra=bit1;
                ultra=ultra*256+bit2;
                اگر سوالی داشتید من درخدمتم :nice: :nerd:
                موفق باشید :nerd:
                چيزي را بگو که بتواني بنويسي
                چيزي را بنويس که بتواني امضا کني
                چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

                دیدگاه


                  #9
                  پاسخ : مشکل در ماژول SRF02

                  داداش ایول :applause:
                  خیلی با حالی :wow:
                  انشا الله جبران کنیم من این برنامت رو امتحان می کنم خبرش رو بهت می دم :icon_razz:
                  فقط یه سوال این کتاب خونه همونی هست که آقای شفیع زاده برا دانلود گذاشتن :agree:
                  منظورم :arrow:
                  #include <i2c.h>
                  یا هیج کتابخانه خاصی نیست :surprised:
                  آخه اونی که مهندس شفیع زاده گذاشته پس چیه :angry:

                  دیدگاه


                    #10
                    پاسخ : مشکل در ماژول SRF02

                    نمی دونم آقای مهندس چه کتابخانه ای گذاشتن اما من همین الان دارم از این روش استفاده میکنم و با این روش دارم هم srf02 و هم srf08 را باهاش راه می اندازم. :nerd:
                    اگه مشکلی بود من در خدمتم :biggrin:
                    چيزي را بگو که بتواني بنويسي
                    چيزي را بنويس که بتواني امضا کني
                    چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

                    دیدگاه


                      #11
                      پاسخ : مشکل در ماژول SRF02

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

                      دیدگاه


                        #12
                        پاسخ : مشکل در ماژول SRF02

                        شما تو کدویزارد فقط باید در قسمت i2c مشخص کنید که scl و sda روی کدام پایه های میکرو باشد و بعد هم کتابخانه را اینکلود باید بکنید .
                        مثلا روی پایه های PORTA.0 و PORTA.1 :
                        #asm
                        .equ __i2c_port=0x1B ;PORTA
                        .equ __sda_bit=0
                        .equ __scl_bit=1
                        #endasm
                        #include <i2c.h>
                        چيزي را بگو که بتواني بنويسي
                        چيزي را بنويس که بتواني امضا کني
                        چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

                        دیدگاه


                          #13
                          پاسخ : مشکل در ماژول SRF02

                          خب داداش ممنون
                          چقدر خوبه که بعضی از دوستان اینقدر سریع مشکلات ما رو حل می کنند
                          مهندس شفیع زاده کجایی که مشکلاتمون حل شده ... :wow: :wow: :wow:
                          خب بازم سوال دارم :read:
                          یه توضیحاتی هم در مورد این قسمت های برنامه بزار :rolleyes:
                          i2c_write (226); //srf adress
                          که فک کنم میاد عدد فاصله رو از ماژول می گیره ؟؟؟؟ درسته ؟؟؟؟؟ :nerd: :nerd:
                          i2c_write (0);
                          نمی دونم برا چی اینو گذاشتی
                          کلا یه توضیحاتی در مورد تابع :agree:
                          i2c _write
                          بزار و در مورد عدد ورودی اش هم بگو
                          یا علی

                          دیدگاه


                            #14
                            پاسخ : مشکل در ماژول SRF02

                            در کل ما با دستور i2c_write یه دستور روی i2c ارسال می کنیم
                            وقتی درستور i2c_write(226) را می نویسیم در واقع التراسونیک با آدرس 226 را صدا می زنیم . چون همون طور که میدونید چندین قطعه می تونند همزمان به i2c متصل باشند و همه آنها هم دستورات را دریافت میکنند اما فقط قطعه ای به این دستورات پاسخ می دهد که فراخوانی شده باشد. :nerd:
                            کلا دستورات srf02 در دیتاشیتش نوشته شده . میتونید بخونید . نحوه ی تغییر ادرس هم توش نوشته. :nerd:
                            چيزي را بگو که بتواني بنويسي
                            چيزي را بنويس که بتواني امضا کني
                            چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

                            دیدگاه


                              #15
                              پاسخ : مشکل در ماژول SRF02

                              داداش دیتا شیت نمی تونیم بخونیم :read: :mrgreen:انگیلیسیمون ضعیف هست
                              ولی دمت گرم مثلا برای چی داخل اون تابع عدد صفر رو گذاشتی oo:
                              اصلا کجا عدد رو دریافت کردی oo:
                              ببخشید اگه من اینقدر خنگ هستم هاااااااا X_X

                              دیدگاه

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