Compass Digital GY-26 y Arduino

M

matiasxt

Hola a todos! soy nuevo aquí y este es mi primer post. Si me lo permiten quiero hacer una consulta que es la siguiente, estoy tratando de hacer funcionar un compas digital GY-26 pero el resultado que obtengo es un angulo de 3.7 grados, y aunque gire el compas no logro obtener otro resultado.:rolleyes:

Alguien que me pueda orientar? se lo voy a agradecer mucho!
:D

El código que he escrito es el siguiente:

Código:
#include <Wire.h>
int compassAddress = 0xe0;
int slaveAddress;
int ledPin = 13;
boolean ledState = false;
byte headingData[2];
int i, headingValue;

void setup(){
slaveAddress = compassAddress >> 1; 
Serial.begin(9600);
pinMode(ledPin, OUTPUT); 
Wire.begin();
//calibrate_compass();
}

void loop(){
ledState = !ledState;
if (ledState) {
digitalWrite(ledPin,HIGH);
} else {
digitalWrite(ledPin,LOW);
}

Wire.beginTransmission(slaveAddress);
Wire.send(0x31); 
Wire.endTransmission();
delay(10); 
Wire.requestFrom(slaveAddress, 2); 

i = 0;
while(Wire.available() && i < 2) { 
headingData[i] = Wire.receive();
i++;
}

headingValue = headingData[0]*256 + headingData[1]; 

Serial.print("Current heading: ");
Serial.print(int (headingValue / 10)); 
Serial.print(".");
Serial.print(int (headingValue % 10)); 
Serial.println(" degrees");

delay(500);
}
 
Atrás
Arriba