Stap 3: De Code!
We gebruikten de Adafruit Sensor bibliotheek en de Sensor van de HMC5883 bibliotheek voor de kompas-sensor en de TinyGPS ++ bibliotheek voor de GPS-Module van de NEO - 6 m.
We zullen niet kopiƫren en plak de code in de instructies, omdat we het broncodedossier hebben gehecht, maar gaan we over een paar van de meer interessante lijnen binnen de code.
Aangezien de tx/rx van de GPS-Module moet worden omgekeerd wanneer aangesloten op de Arduino, verklaren wij die pinnen in lijn 14. Dus in wezen de TX-draad van de GPS naar de RX-pin op de Arduino en de RX-draad van de GPS moet gaan naar de TX pin op de Arduino.
static const int RXPin = 8, TXPin = 9;
De standaard-BaudRate voor de NEO - 6m-Module is 9600. We hebben dus zeker verklaren dit in lijn 15.
static const uint32_t GPSBaud = 9600;
Het magnetisch kompas Module moet worden gekalibreerd voor uw locatie!
Ik heb ook meer gedetailleerde instructies over hoe dat te doen in de commentaar bij de code.
// Once you have your heading, you must then add your 'Declination Angle', which is the 'Error' of the magnetic field in your location.<br> // Find yours here: <a href="http://www.magnetic-declination.com/"> http://www.magnetic-declination.com/ </a> // Now convert your degrees/minutes/seconds to decimal form. // then convert the decimal form to radians. // Mine is: 3* 18' E, which is +3.3 Degrees, or (which we need) 0.0575959 radians // If you cannot find your Declination, comment out these two lines, your compass will be slightly off. float declinationAngle = 0.0575959; heading += declinationAngle;
Te vinden van uw magnetische declinatie u goto op de link in de code hierboven.
Als u eenmaal uw magnetische declinatie in graden en minuten moet u die omzetten in decimale vorm. Die kan je hier: http://www.rapidtables.com/convert/number/degrees-...
Nu dat je uw magnetische declinatie hebt kunt u die converteren naar radialen die is wat de bibliotheek Adafruit, vereist. Dit kan gemakkelijk worden gedaan door google: https://www.google.com/webhp?q=1%20degrees%20to%20...
Zorg ervoor dat u lijn 140 naar de juiste declinatie in radialen voor uw locatie!
We hebben ervoor gezorgd om commentaar in dat de code het beste kan om te helpen u alles instellen en aanpassen van uw installatie.
Ik stel hoogst voor dat u een kijkje nemen op de stap van de verwijzing van dit Instructable en lees meer over de locatie en de TinyGPS ++ bibliotheek rubriek!