اطلاعیه

Collapse
No announcement yet.

cmp03

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

    cmp03

    با سلام
    یه ماژول cmp03 (قطب نما) خریدم که هر رجیستری رو ازش می خونم (با i2c ) به 255 بر می خورم !!!! :cry: (همه ی ریجستراش 255 هستش) کسی می دو نه چه خاکی با ید به سرم بریزم :angry:
    یعنی میگید ماژول آسیب دیده!!!
    سزد کز خاتم لعلش زنم لاف سلیمانی / چو اسم اعظمم باشد چه باک از اهرمن دارم
    لاحول و لاقوه الا بالله العلیّ العظیم

    #2
    پاسخ : cmp03

    با دورد و سپاس
    یه سری به لینک های زیر بزن:
    http://www.techdesign.be/projects/023/023.htm
    http://www.qsl.net/yo5ofh/pic/digita...al_compass.htm
    امیدوارم به دردت بخوره
    پاینده و پیروز باشی

    دیدگاه


      #3
      پاسخ : cmp03

      این دو تا لینکی که دادین مربوط به ماژول من نیست :cry: ماژول ما TD-CMP03 نیست همونیه که توی roboeq می فروشند!!!!
      سزد کز خاتم لعلش زنم لاف سلیمانی / چو اسم اعظمم باشد چه باک از اهرمن دارم
      لاحول و لاقوه الا بالله العلیّ العظیم

      دیدگاه


        #4
        پاسخ : cmp03

        این لینک های زیر فکر کنم به کارت بیاد
        http://www.tantee.net/board/user/top...d=1&sid=33
        http://cubloc.com/man/106/MAN106.htm

        دیدگاه


          #5
          پاسخ : cmp03

          من با این قطب نما کار کردم.
          فقط باید تو هر منطقه جغرافیایی کالیبرش کنی ، دیتاشیتش رو بخونی نوشته ، 4 بار باید FF بنویسی رو رجیستر فکر کنم 15 تو 4 موقعیت N,E,S,W

          این تابع هم برای خوندن 0 تا 3599 (یعنی دقت 0.1 درجه)
          فقط کتابخونه ی i2c.c از کتابخونه های avrlib هستش.
          یادت نره کپی کنی این کتابخونه رو.

          کد:
          #include <i2c.c>
          // Returns direction in tenths of degree (0-3599)
          uint16_t cmps03_direction(void)
          {
           uint8_t buf[1];
           uint8_t bearing1=0, bearing2=0;
           buf[0] = 0x2;  // compass bearing as a word, register 2 - high byte
           i2cMasterSendNI(COMPASS_ADDRESS, 1, buf);
           i2cMasterReceiveNI(COMPASS_ADDRESS, 1, &bearing1);
           buf[0] = 0x3;  // compass bearing as a word, register 3 - low byte
           i2cMasterSendNI(COMPASS_ADDRESS, 1, buf);
           i2cMasterReceiveNI(COMPASS_ADDRESS, 1, &bearing2);
          
           return ((uint16_t)bearing1 << 8) + bearing2;
          }
          موفق باشی.
          آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

          دیدگاه

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