Descripción
Modelomódulo: GY-273 (GY273) modelo QMC5883L
EL chip HMC5883L está diseñado para medir débiles campos magnéticos (como el terrestre) con una interfaz digital para aplicaciones de bajo coste, usualmente brújulas electrónicas. Incluye un sensor magnetorresistivo de alta resolución y un ASIC con amplificación, cancelación de offset y ADC de 12bits integrado que permite alcanzar precisiones de 1º a 2º.
- Interfaz i2c
- Rango medición: 1.3 – 8 Gauss
- Alimentación: 3 – 5 Vdc
- Dimensiones: 18 x 13 mm
Atención: al tratarse de un sensor de campo magnético, la medición puede verse afectada por la presencia cercana de metales o campos magnéticos (p. ej. debidos a altas corrientes).
Más información: Hoja de datos HMC5883L
Código de ejemplo:
// Conecta SDA a A4 // Conecta SCL a A5 // Alimentar a 5V #include <Wire.h> //I2C Arduino Library #define address 0x1E //0011110b, I2C dirección (7bit) del HMC5883 void setup(){ Serial.begin(9600); // Monitor serie Wire.begin(); //Configurar modo de operación de la brújula Wire.beginTransmission(address); //open communication with HMC5883 Wire.write(0x02); //select mode register Wire.write(0x00); //continuous measurement mode Wire.endTransmission(); } void loop(){ int x,y,z; int xmin,xmax,ymin,ymax,zmin,zmax; xmin=0; xmax=0; ymax=0; ymin = 0; zmin=0; zmax=0; //Tell the HMC5883 where to begin reading data Wire.beginTransmission(address); Wire.write(0x03); //select register 3, X MSB register Wire.endTransmission(); // Lectura de datos (2 registros por cada eje) Wire.requestFrom(address, 6); if(6<=Wire.available()){ x = Wire.read()<<8; //X msb x |= Wire.read(); //X lsb z = Wire.read()<<8; //Z msb z |= Wire.read(); //Z lsb y = Wire.read()<<8; //Y msb y |= Wire.read(); //Y lsb } //Muestra valor de cada eje por el monitor serie Serial.print("x: "); Serial.print(x); Serial.print(" y: "); Serial.print(y); Serial.print(" z: "); Serial.println(z); delay(250); }
Valoraciones
No hay valoraciones aún.