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.
Alguien que me pueda orientar? se lo voy a agradecer mucho!

El código que he escrito es el siguiente:
Alguien que me pueda orientar? se lo voy a agradecer mucho!
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);
}