#include <QMC5883LCompass.h>

QMC5883LCompass compass;

void setup() {
  Serial.begin(9600);
  compass.init();

  pinMode(3, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(12, OUTPUT);

  compass.setCalibration(-3652, 2612, -2468, 4847, -3315, 0);
}

void loop() {
  compass.read();
  
  byte a = compass.getAzimuth();

  char myArray[3];
  compass.getDirection(myArray, a);
  int dir = myArray[0];
  Serial.print(myArray[0]);
  Serial.println();

switch (dir) {

      case 'S':

        analogWrite(6, 255);
        break;

      case 'E':

        analogWrite(3, 255);
        break;

      case 'W':

        analogWrite(12, 255);

        break;
      
      default:

        // turn all the LEDs off:

    
        analogWrite(3, 0);
        analogWrite(6, 0);
        analogWrite(12, 0);

    }
}
