Cykel norr indikator (3 / 10 steg)
Steg 3: Parallax kompass
Ladda upp följande kod på Arduino. Det ut rå x, y och z data från kompass chip (anvisningarna anges på chip i figur 4). Om du har fast allt korrekt bör du se raw-data skrivs ut på bildskärmen följetong (kontroll / kommando + SKIFT + m) i Arduino IDE. Jag hittade denna kod på parallax hemsida.
#include < Wire.h >
#define Addr 0x1E / / 7-bitars adress HMC5883 compass
void setup() {
Serial.BEGIN(9600);
Delay(100); Power upp förseningen
Wire.BEGIN();
Ställ in läge för kontinuerlig
Wire.beginTransmission(Addr);
Wire.write(byte(0x02));
Wire.write(byte(0x00));
Wire.endTransmission();
}
void loop() {
int x, y, z;
Initiera kommunikation med kompass
Wire.beginTransmission(Addr);
Wire.write(byte(0x03)); Skicka förfrågan till X MSB register
Wire.endTransmission();
Wire.requestFrom (Addr, 6); Begäran 6 byte. 2 byte per axel
IF(Wire.available() < = 6) {/ / om 6 byte tillgängligt
x = Wire.read() << 8 | Wire.Read();
z = Wire.read() << 8 | Wire.Read();
y = Wire.read() << 8 | Wire.Read();
}
Skriva ut rå värden
Serial.Print("X=");
Serial.Print(x);
Serial.Print (", Y =");
Serial.Print(y);
Serial.Print (", Z =");
Serial.println(z);
Delay(500);
}