صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 11
Like Tree2 لایک

موضوع: قطب نمای الکترونیکی سه محوره GY-271 HMC5883L Magnetoresistive Sensor module

  1. #1
    max
    max آنلاین نیست.
    Member
    تاریخ عضویت
    Jul 2013
    محل سکونت
    iran-shiraz
    نوشته ها
    70

    قطب نمای الکترونیکی سه محوره GY-271 HMC5883L Magnetoresistive Sensor

    HMC5883 محصول Honeywell يك قطب نماي 3 محوره ديجيتال است كه ميتواند شدت ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس اندازه گيري نمايد. توسط اين ماژول ميتوان به دقت 1 تا 2 درجه در جهت يابي و ناوبري رسيد. اين ماژول از طريق رابط I2C به آردوينو متصل ميشود. ولتاژ تغذيه اين ماژول 2.16 تا 3.6 ولت ميباشد، كه توصيه ما استفاده از ولتاژ 3.3 ولتي برد آردوينو ميباشد. جريان مصرفي HMC5883 تنها 100 ميكرو آمپر ميباشد.
    electronic_compass_magnetoresistive-500x500.jpg
    خصوصيات:
    ADC داخلي 12 بيتي
    برقراري ارتباط با رابط I2C
    جريان مصرفي 100 ميكرو آمپر
    اندازه گيري ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس
    قابليت دريافت اطلاعات سنسور تا 160 بار در ثانيه
    gy-271-hmc5883_sch.jpg
    كاربردها:
    ساخت قطب نماي ديجيتال
    استفاده در تلفن همراه و لپتاپ به عنوان قطب نما
    ساخت سيستم ناوبري اتوماتيك
    استفاده در سيستم جهت يابي ربات
    کد:
    /*
     # 
     # Example code for GY-271 HMC5883 COMPASS 
     # Company    : AftabRayaneh
     # Website    : http://shop.aftabrayaneh.com
     # Editor     : mohammad omidvar  -max
     # Date       : 12.10.2013
     # Version    : 1.0
    */
    
    
    
    
    #include <Wire.h>
    #include <HMC5883L.h>
    
    HMC5883L compass;
    
    
    void setup(){
      Serial.begin(9600);
      Wire.begin();
      
      compass = HMC5883L(); //new instance of HMC5883L library
      setupHMC5883L(); //setup the HMC5883L
    }
    
    // Our main program loop.
    void loop(){
      
      float heading = getHeading();
      Serial.println(heading);
      delay(100); //only here to slow down the serial print
    
    }
    
    void setupHMC5883L(){
      //Setup the HMC5883L, and check for errors
      int error;  
      error = compass.SetScale(1.3); //Set the scale of the compass.
      if(error != 0) Serial.println(compass.GetErrorText(error)); //check if there is an error, and print if so
    
      error = compass.SetMeasurementMode(Measurement_Continuous); // Set the measurement mode to Continuous
      if(error != 0) Serial.println(compass.GetErrorText(error)); //check if there is an error, and print if so
    }
    
    float getHeading(){
      //Get the reading from the HMC5883L and calculate the heading
      MagnetometerScaled scaled = compass.ReadScaledAxis(); //scaled values from compass.
      float heading = atan2(scaled.YAxis, scaled.XAxis);
    
      // Correct for when signs are reversed.
      if(heading < 0) heading += 2*PI;
      if(heading > 2*PI) heading -= 2*PI;
    
      return heading * RAD_TO_DEG; //radians to degrees
    }

    جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط max : 10-12-2013 در ساعت 09:25 AM

  2. #2
    Junior Member
    تاریخ عضویت
    Aug 2013
    نوشته ها
    3
    سلام
    یکی از کاربردهای این ماژول در برد فلای کنترل APM 2.5 و APM 2.6 میباشد.برای اطلاع بیشتر به لینک زیر مراجعه فرمایید.

    common-External Magnetometer for Improved Performance | ArduCopter

    میرزایی 92/09/16

  3. #3
    Junior Member
    تاریخ عضویت
    Jan 2014
    نوشته ها
    1
    کسی با این ماژول کار کرده؟
    چجوری میشه تستش کرد؟

  4. #4
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    9
    دوستان اگه کسی این ماژول رو تست کرده خبر بده. من که راهش می اندازم اما پیایه ی دیتاش در همهی مواقع یکه و هیچ دیتای دیگه ای رو نمیده. پایه ی drdy اون هم اصلا کار نمیکنه

  5. #5
    Member
    تاریخ عضویت
    Jun 2014
    نوشته ها
    30
    سلام دوستان. این قسمت از برنامه رو کسی میتونه یه توضیح کوتاه بده؟؟؟

    MagnetometerScaled scaled = compass.ReadScaledAxis();.
    float heading = atan2(scaled.YAxis, scaled.XAxis);


    if(heading < 0) heading += 2*PI;
    if(heading > 2*PI) heading -= 2*PI;

  6. #6
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    بابا این خطا مال چیه نه میشه ال سی را راه اندازی کرد نه این سنسور ها را

    Arduino: 1.5.7 (Windows 7), Board: "Arduino Nano, ATmega328"

    gy_271hmc5883.ino:15:22: fatal error: HMC5883L.h: No such file or directory
    compilation terminated.

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.

  7. #7
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    این برنامه قطب نما "نمایش زاویه بر روی lcd5110


    /*

    # pin 7 - Serial clock out (SCLK)
    # pin 6 - Serial data out (DIN)
    # pin 5 - Data/Command select (D/C)
    # pin 4 - LCD chip select (CS)
    # pin 3 - LCD reset (RST)
    */

    #include <LCD_GFX.h>
    #include <NOKIA5110.h>

    NOKIA5110 display = NOKIA5110(7, 6, 5, 4, 3);

    #define NUMFLAKES 10
    #define XPOS 0
    #define YPOS 1
    #define DELTAY 2
    #include <Wire.h>
    #include <HMC5883L.h>

    HMC5883L compass;


    void setup() {



    Serial.begin(9600);

    display.begin();
    display.clearDisplay();
    display.setContrast(50);
    Wire.begin();
    display.setTextSize(2);
    display.setCursor(9,7);
    display.println("TANHA");
    display.setTextSize(1);
    display.setCursor(7,40);
    display.println("HABIB MORADI");

    display.display();
    delay(3000);
    display.clearDisplay();
    compass = HMC5883L(); //new instance of HMC5883L library
    setupHMC5883L(); //setup the HMC5883L



    }




    void loop() {


    display.setTextSize(1);
    display.setTextColor(BLACK);// 2 C
    display.setCursor(1,1);
    display.println("SCANING...");
    display.setTextSize(1);
    display.setCursor(7,40);
    display.println("www.daba.ir");
    display.begin();
    delay(100);

    display.setContrast(50);
    display.clearDisplay();
    display.setTextSize(2);
    display.setCursor(10,20);
    float heading = getHeading();
    display.println(heading);
    delay(500); //only here to slow down the serial print



    }

    void setupHMC5883L(){
    //Setup the HMC5883L, and check for errors
    int error;
    error = compass.SetScale(1.3); //Set the scale of the compass.
    if(error != 0) display.println(compass.GetErrorText(error)); //check if there is an error, and print if so

    error = compass.SetMeasurementMode(Measurement_Continuous) ; // Set the measurement mode to Continuous
    if(error != 0) display.println(compass.GetErrorText(error)); //check if there is an error, and print if so
    }

    float getHeading(){
    //Get the reading from the HMC5883L and calculate the heading
    MagnetometerScaled scaled = compass.ReadScaledAxis(); //scaled values from compass.
    float heading = atan2(scaled.YAxis, scaled.XAxis);

    // Correct for when signs are reversed.
    if(heading < 0) heading += 2*PI;
    if(heading > 2*PI) heading -= 2*PI;

    return heading * RAD_TO_DEG; //radians to degrees
    display.display();



    }

  8. #8
    Junior Member
    تاریخ عضویت
    Aug 2015
    نوشته ها
    2
    اقا کسی بلده چطور میشه قطب نمای دیجیتال ساخت
    ترو خدا کسی بلده راهنمایم کنه

  9. #9
    Senior Member
    تاریخ عضویت
    Dec 2013
    محل سکونت
    ایران - شیراز
    نوشته ها
    220

  10. #10
    Junior Member
    تاریخ عضویت
    Dec 2017
    نوشته ها
    1
    شما تونستی مشکل رو برطرف کنی؟

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO