Paso 3: El código!
Utilizamos la biblioteca de Adafruit Sensor y Sensor HMC5883 biblioteca para el sensor de la brújula y la TinyGPS ++ biblioteca para el módulo de GPS NEO - 6 m.
No copie y pegue el código en las instrucciones porque hemos unido el archivo de código fuente, pero vamos a ir durante un par de las líneas más interesantes dentro del código.
Puesto que el tx/rx del módulo GPS necesita revertirse cuando conectado al Arduino, declaramos los pernos en la línea 14. Esencialmente que el cable TX del GPS tiene que ir a la RX del perno en el Arduino y el cable RX desde el GPS debe ir al pin TX en el Arduino.
static const int RXPin = 8, TXPin = 9;
El defecto de velocidad en baudios para el módulo NEO - 6m es 9600. Así nos aseguramos declarar esto en la línea 15.
static const uint32_t GPSBaud = 9600;
El módulo de brújula debe ser calibrada para su ubicación!!!!
He incluido instrucciones más detalladas sobre cómo hacerlo en los comentarios de código.
// 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;
Para encontrar su declinación magnética goto el enlace en el código anterior.
Una vez que su declinación magnética en grados y minutos que necesita para convertir en forma decimal. Lo que puede hacer aquí: http://www.rapidtables.com/convert/number/degrees-...
Ahora que tiene su declinación magnética puede convertir en radianes que es lo que requiere la biblioteca de Adafruit. Esto puede hacerse fácilmente por google: https://www.google.com/webhp?q=1%20degrees%20to%20...
Asegúrese de que cambia línea 140 a la declinación correcta en radianes para su ubicación.
Nos hemos asegurado a comentar que el código lo mejor podía para ayudarle a configurar todo y personalizar la configuración de su.
Te sugiero altamente que echa un vistazo a la medida de referencia de este Instructable y leer más sobre hacia el lugar y la biblioteca TinyGPS ++!