3-Axis Compass Magnetometer Sensor Module GY-273 - Digital Output, I2C Interface - HMC5883L
- Was RM25.00
-
RM15.00
- Product Code: GY-273
- Availability: In Stock
The GY-273 module is based on the Honeywell HMC5883L IC for low-field magnetic sensing with a digital interface for applications such as lowcost compassing and magnetometry. The HMC5883L includes state-of-theart, high-resolution HMC118X series magneto-resistive sensors plus an ASIC containing amplification, automatic degaussing strap drivers, offset cancellation, and a 12-bit ADC that enables 1° to 2° compass heading accuracy. The I2C serial bus allows for easy interface.
The HMC5883L utilizes Honeywell’s Anisotropic Magnetoresistive (AMR) technology that provides advantages over other magnetic sensor technologies. These anisotropic, directional sensors feature precision in-axis sensitivity and linearity. These sensors’ solid-state construction with very low cross-axis sensitivity is designed to measure both the direction and the magnitude of Earth’s magnetic fields, from milli-gauss to 8 gauss.
Specifications
#include <Wire.h> //I2C Arduino Library #define addr 0x1E //I2C Address for The HMC5883 void setup(){ Serial.begin(9600); Wire.begin(); Wire.beginTransmission(addr); //start talking Wire.write(0x02); // Set the Register Wire.write(0x00); // Tell the HMC5883 to Continuously Measure Wire.endTransmission(); } void loop(){ int x,y,z; //triple axis data //Tell the HMC what regist to begin writing data into Wire.beginTransmission(addr); Wire.write(0x03); //start with register 3. Wire.endTransmission(); //Read the data.. 2 bytes for each axis.. 6 total bytes Wire.requestFrom(addr, 6); if(6<=Wire.available()){ x = Wire.read()<<8; //MSB x x |= Wire.read(); //LSB x z = Wire.read()<<8; //MSB z z |= Wire.read(); //LSB z y = Wire.read()<<8; //MSB y y |= Wire.read(); //LSB y } // Show Values Serial.print("X Value: "); Serial.println(x); Serial.print("Y Value: "); Serial.println(y); Serial.print("Z Value: "); Serial.println(z); Serial.println(); delay(500); }
Open the Serial Monitor and Verify Your Output.
Your output should look something like:
X Value: 200
Y Value: 191
Z Value: -356....... etc
Once you’ve established that you have an output, try turning your device along it’s various axes and view the results.