Brújula HMC5883L 3 ejes GY-273 (ref: 0096)

3,50 

Solo quedan 3 disponibles

Cantidad Descuento
1 - 5 -
6 - 10 5%
11 - 15 10%
16 + 15%
SKU: 0096 Categorías: , Etiquetas: , , , , ,

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.

Solo los usuarios registrados que hayan comprado este producto pueden hacer una valoración.