Go Down

Topic: Problema con el modulo hmc5883 gy-271 (compas magentico). (Read 569 times) previous topic - next topic

Pacomer93

Aug 16, 2017, 01:42 pm Last Edit: Aug 17, 2017, 02:33 pm by surbyte Reason: Errores o códigos con etiqueta de códigos </>. Enlaces tmb
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:

Code: [Select]
"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.

sebas3124

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

JUANDAVID10

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

JUANDAVID10


tauro0221

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

Code: [Select]
/*
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);
}

surbyte

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

Go Up