Problema con el modulo hmc5883 gy-271 (compas magentico).

Hola a todo el mundo,
Hace unos días recibí el chip hmc5883l para fabricar una brújula digital. El caso es que he reaizado las conexiones correspondientes y he mirado mil y un ejemplo que hay en la red y ninguno me funciona. cuando imprime por el puerto serie los grados me dan un valor pero se queda inmovil y no varia ni girando el sensor. Fuera a aparte me e dado cuenta que me aparece un error muy raro al compilar y viene relacionado con la librería. El error es el siguiente:

"C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp: In member function 'uint8_t* HMC5883L::Read(int, int)':

C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:124:11: warning: address of local variable 'buffer' returned [-Wreturn-local-addr]

  uint8_t buffer[length];

          ^

In file included from C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:24:0:

C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp: In member function 'char* HMC5883L::GetErrorText(int)':

C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.h:41:21: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

#define ErrorCode_1 "Entered scale was not valid, valid gauss values are: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1"

                    ^

C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:140:10: note: in expansion of macro 'ErrorCode_1'

  return ErrorCode_1;

         ^

C:\Users\javi\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:142:9: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

 return "Error not defined.";

        ^"

No entiendo nada de lo que le esta pasando, llevo varios días y muchos tutoriales y no consigo echar andar esto.
Si alguien lo ha conseguido por favor seria de mucha ayuda que pasara un linck o algo que nos ayude a esclarecer si es el chip que esta frito, si es la libreria o yo que se jaja.

El ultimo tutorial que he probado es este:

GY_271 ELECTRONIC COMPASS

Muchas gracias a todos y espero que podamos solucionar este embrollo.

muéstranos tu código y un esquema de tu circuito

me sucede lo mismo
conecto como se ve en los videos y no me funciona me vota solo un valor siempre

conexión es como esta

Conexion HMC5883L y Arduino.jpg

Conexion HMC5883L y Arduino.jpg

Conexion HMC5883L y Arduino.jpg

Hi,
Adjunto un sketch para que lo pruebes haber que te dice Este es de sparkfun.

/*
An Arduino code example for interfacing with the HMC5883

by: Jordan McConnell
 SparkFun Electronics
 created on: 6/30/11
 license: OSHW 1.0, http://freedomdefined.org/OSHW

Analog input 4 I2C SDA
Analog input 5 I2C SCL
*/

#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);
}

JUANDAVID10 y tauro0221, porque reviven ambos un hilo del 2017?
Hilo cerrado, JUANDAVID10, crea un hilo nuevo y plantéalo debidamente.
Lee las normas del foro