آردوینو - آموزش آردوینو-Arduinoتازه هاهمه ی مطالب

راه اندازی قطب نمای الکترونیکی سه محوره GY-271 HMC5883L با آردوینو

HMC5883 محصول Honeywell يك قطب نماي 3 محوره ديجيتال است كه ميتواند شدت ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس اندازه گيري نمايد. توسط اين ماژول ميتوان به دقت 1 تا 2 درجه در جهت يابي و ناوبري رسيد. اين ماژول از طريق رابط I2C به میکروکنترلر متصل ميشود. ولتاژ تغذيه اين ماژول 2.16 تا 3.6 ولت ميباشد. جريان مصرفي HMC5883 تنها 100 ميكرو آمپر مي باشد.

خصوصيات:

  • ADC داخلي 12 بيتي
  • ولتاژ کار: 2.16 تا 3.6 ولت
  • برقراري ارتباط با رابط I2C
  • جريان مصرفي 100 ميكرو آمپر
  • اندازه گيري ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس
  • قابليت دريافت اطلاعات سنسور تا 160 بار در ثانيه

كاربردها:

  • ساخت قطب نماي ديجيتال
  • استفاده در تلفن همراه و لپتاپ به عنوان قطب نما
  • ساخت سيستم ناوبري اتوماتيك
  • استفاده در سيستم جهت يابي ربات

نحوه اتصال به برد آردوینو

  • Arduino GND -> HMC5883L GND
  • Arduino 3.3V -> HMC5883L VCC
  • Arduino A4 (SDA) -> HMC5883L SDA
  • Arduino A5 (SCL) -> HMC5883L SCL

کد راه اندازی قطب نمای الکترونیکی سه محوره GY-271 HMC5883L با آردوینو

#include <Wire.h> //I2C Arduino Library

#define address 0x1E //0011110b, I2C 7bit address of HMC5883

void setup(){
  //Initialize Serial and I2C communications
  Serial.begin(9600);
  Wire.begin();
  
  //Put the HMC5883 IC into the correct operating mode
  Wire.beginTransmission(address); //open communication with HMC5883
  Wire.send(0x02); //select mode register
  Wire.send(0x00); //continuous measurement mode
  Wire.endTransmission();
}

void loop(){
  
  int x,y,z; //triple axis data

  //Tell the HMC5883 where to begin reading data
  Wire.beginTransmission(address);
  Wire.send(0x03); //select register 3, X MSB register
  Wire.endTransmission();
  
 
 //Read data from each axis, 2 registers per axis
  Wire.requestFrom(address, 6);
  if(6<=Wire.available()){
    x = Wire.receive()<<8; //X msb
    x |= Wire.receive(); //X lsb
    z = Wire.receive()<<8; //Z msb
    z |= Wire.receive(); //Z lsb
    y = Wire.receive()<<8; //Y msb
    y |= Wire.receive(); //Y lsb
  }
  
  //Print out values of each axis
  Serial.print("x: ");
  Serial.print(x);
  Serial.print("  y: ");
  Serial.print(y);
  Serial.print("  z: ");
  Serial.println(z);
  
  delay(250);
}

 

 

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

دانلود پروژه آردوینو

علی عزتی

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

Related Articles

10 Comments

  1. سلام
    وقتتون بخیر
    با تشکر از راهنمایی شما
    لطفا نحوه ساخت قطب نمای دیجیتالی با میکرو رو توضیح دهید!

  2. برنامه رو از جای دیگه کپی کردی حداقل خودت یه نگا بش بنداز یا تستش کن، سرتاسر ایراده. حتی wire رو اینکلود نکرده 😐

  3. سلام، لطفا اگه برنامه تو محیط کدویژن هم دارید حتما برای دانلود بزارید
    ممنون ….

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.