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.