Étape 3: Compas de parallaxe
Télécharger le code suivant sur l’Arduino. Il imprime la brute x, y et z données de la puce de boussole (les instructions sont indiquées sur la puce dans la figure 4). Si vous avez tout câblé correctement, vous devriez voir les données brutes imprimées sur votre serial monitor (contrôle / commande + Maj + m) dans l’IDE Arduino. J’ai trouvé ce code sur le site Web de parallaxe.
#include <Wire.h> #define Addr 0x1E // 7-bit address of HMC5883 compass void setup() { Serial.begin(9600); delay(100); // Power up delay Wire.begin(); // Set operating mode to continuous Wire.beginTransmission(Addr); Wire.write(byte(0x02)); Wire.write(byte(0x00)); Wire.endTransmission(); } void loop() { int x, y, z; // Initiate communications with compass Wire.beginTransmission(Addr); Wire.write(byte(0x03)); // Send request to X MSB register Wire.endTransmission(); Wire.requestFrom(Addr, 6); // Request 6 bytes; 2 bytes per axis if(Wire.available() <=6) { // If 6 bytes available x = Wire.read() << 8 | Wire.read(); z = Wire.read() << 8 | Wire.read(); y = Wire.read() << 8 | Wire.read(); } // Print raw values Serial.print("X="); Serial.print(x); Serial.print(", Y="); Serial.print(y); Serial.print(", Z="); Serial.println(z); delay(500); }