Robo-Hero
12.05.2012, 21:28
Hallo Zusammen,
ich habe mir vor kurzen ein Kompas Modul bestellt und vor einigen Tagen erhalten. Nun versuche ich zu verstehen, warum ich immer nur den selben Wert erhalte. Und zwar 255. Aus der relativ kurzen Beschreibung zu dem Artikel geht hervor, das ich über den I²C, die Adresse 0xe2. Bis da hin scheint dies auch zu funktionieren. Für das auslesen des Winkels wird die Adresse 0x31 verwendet, leider kommt da immer wieder das selbe dabei heraus. Ich habe es auch mit kalibieren versucht, so wie es in der Anleitung steht, leider ohne Erfolg.
Manual zu GY-26
http://www.elechouse.com/elechouse/images/product/GY-26-USART Digital Compass/gy-26 manual.pdf
Wire.beginTransmission((byte)0xe2);
Wire.write((byte)0x00);
Wire.write((byte)0x31);
Wire.endTransmission();
delay(10);
Wire.requestFrom((byte)0xe2, 2);
byte headingData[2];
for(int i = 0; i < 2;i++)
{
headingData[i] = Wire.read();
Serial.print(headingData[i], DEC);
Serial.print(" ");
}
Ich habe bereits in anderen Foren gesucht und keine Antwort gefunden. Lediglich mit den selben Schwierigkeiten vor denen ich auch stehe. Vielleicht kennt jemand von euch eine Lösung zu diesem Thema, bzw. auch vergleichbares.
Grüße
ich habe mir vor kurzen ein Kompas Modul bestellt und vor einigen Tagen erhalten. Nun versuche ich zu verstehen, warum ich immer nur den selben Wert erhalte. Und zwar 255. Aus der relativ kurzen Beschreibung zu dem Artikel geht hervor, das ich über den I²C, die Adresse 0xe2. Bis da hin scheint dies auch zu funktionieren. Für das auslesen des Winkels wird die Adresse 0x31 verwendet, leider kommt da immer wieder das selbe dabei heraus. Ich habe es auch mit kalibieren versucht, so wie es in der Anleitung steht, leider ohne Erfolg.
Manual zu GY-26
http://www.elechouse.com/elechouse/images/product/GY-26-USART Digital Compass/gy-26 manual.pdf
Wire.beginTransmission((byte)0xe2);
Wire.write((byte)0x00);
Wire.write((byte)0x31);
Wire.endTransmission();
delay(10);
Wire.requestFrom((byte)0xe2, 2);
byte headingData[2];
for(int i = 0; i < 2;i++)
{
headingData[i] = Wire.read();
Serial.print(headingData[i], DEC);
Serial.print(" ");
}
Ich habe bereits in anderen Foren gesucht und keine Antwort gefunden. Lediglich mit den selben Schwierigkeiten vor denen ich auch stehe. Vielleicht kennt jemand von euch eine Lösung zu diesem Thema, bzw. auch vergleichbares.
Grüße