Brújula Digital de Grove 3 ejes (4 / 4 paso)

Paso 4: código

El código es bastante sencillo y todo lo que hace es Lee las lecturas de la brújula y se imprime en un monitor de la serie. La brújula se calibra para que unos segundos cuando se ejecuta el código hace que no gire o perturbar la brújula y esto sucede después de que termina deben recibir un buen flujo de datos del sensor.

 <p>// Reference the I2C Library<br>#include <wire.h> // Reference the HMC5883L Compass Library #include <hmc5883l.h></hmc5883l.h></wire.h></p><p>// Store our compass as a variable. HMC5883L compass; // Record any errors that may occur in the compass. int error = 0;</p><p>// Out setup routine, here we will configure the microcontroller and compass. void setup() { // Initialize the serial port. Serial.begin(9600);</p><p> Serial.println("Starting the I2C interface."); Wire.begin(); // Start the I2C interface.</p><p> Serial.println("Constructing new HMC5883L"); Serial.println("Setting scale to +/- 1.3 Ga"); error = compass.setScale(1.3); // Set the scale of the compass. if(error != 0) // If there is an error, print it out. Serial.println(compass.getErrorText(error)); Serial.println("Setting measurement mode to continous."); error = compass.setMeasurementMode(MEASUREMENT_CONTINUOUS); // Set the measurement mode to Continuous if(error != 0) // If there is an error, print it out. Serial.println(compass.getErrorText(error)); }</p><p>// Our main program loop. void loop() { // Retrive the raw values from the compass (not scaled). MagnetometerRaw raw = compass.readRawAxis(); // Retrived the scaled values from the compass (scaled to the configured scale). MagnetometerScaled scaled = compass.readScaledAxis(); // Values are accessed like so: int MilliGauss_OnThe_XAxis = scaled.XAxis;// (or YAxis, or ZAxis)</p><p> // Calculate heading when the magnetometer is level, then correct for signs of axis. float heading = atan2(scaled.YAxis, scaled.XAxis); // Once you have your heading, you must then add your 'Declination Angle', which is the 'Error' of the magnetic field in your location. // Find yours here: http://www.magnetic-declination.com/ // Mine is: -2��37' which is -2.617 Degrees, or (which we need) -0.0456752665 radians, I will use -0.0457 // If you cannot find your Declination, comment out these two lines, your compass will be slightly off. float declinationAngle = -0.0457; heading += declinationAngle; // Correct for when signs are reversed. if(heading < 0) heading += 2*PI; // Check for wrap due to addition of declination. if(heading > 2*PI) heading -= 2*PI; // Convert radians to degrees for readability. float headingDegrees = heading * 180/M_PI; </p><p> // Output the data via the serial port. Output(raw, scaled, heading, headingDegrees);</p><p> // Normally we would delay the application by 66ms to allow the loop // to run at 15Hz (default bandwidth for the HMC5883L). // However since we have a long serial out (104ms at 9600) we will let // it run at its natural speed. delay(66);//of course it can be delayed longer. }</p><p>// Output the data down the serial port. void Output(MagnetometerRaw raw, MagnetometerScaled scaled, float heading, float headingDegrees) { Serial.print("Raw:\t"); Serial.print(raw.XAxis); Serial.print(" "); Serial.print(raw.YAxis); Serial.print(" "); Serial.print(raw.ZAxis); Serial.print(" \tScaled:\t"); Serial.print(scaled.XAxis); Serial.print(" "); Serial.print(scaled.YAxis); Serial.print(" "); Serial.print(scaled.ZAxis);</p><p> Serial.print(" \tHeading:\t"); Serial.print(heading); Serial.print(" Radians \t"); Serial.print(headingDegrees); Serial.println(" Degrees \t"); }</p> 

Artículos Relacionados

Brújula Digital DIY (para tu coche)

Brújula Digital DIY (para tu coche)

Me sorprende que algunos coches no tienen una brújula digital siempre visible. Tampoco tienes que lanzar la aplicación de navegación cada vez que puede incluso desaparecer cuando usted ajusta la radio. En este proyecto, a crear una brújula digital qu
Brújula Digital de Arduino (HMC5883L - 2 modos de visualización)

Brújula Digital de Arduino (HMC5883L - 2 modos de visualización)

¡ Hola!!!!!!Hoy voy a mostrar cómo hacer tu propia brújula de arduino usando el tablero de brújula digital MHC5883L 3 ejes.Antes de empezar, asegúrese de que usted tiene:Arduino unoTablero del sensor HMC5883LPantalla Nokia 5110 (versión de pcb)2 x bo
Configurar, leer datos y calibrar la brújula digital HMC5883L usando Python

Configurar, leer datos y calibrar la brújula digital HMC5883L usando Python

Como en otros blogs, éste también contiene información que puede encontrarse en otros lugares en la web. Yo sólo estructurado para que sea fácil de usar para principiantes aficionados a robot.Conexión de la brújula es muy sencilla. Cuando monte el se
Ayuda para la tercera edad! (Intel IoT)

Ayuda para la tercera edad! (Intel IoT)

El miedo a caerse o cambios en el funcionamiento del corazón tiene importantes consecuencias en el bienestar de las personas mayores. Esto puede disminuir su calidad de vida y degradan la capacidad de realizar las actividades cotidianas. El proyecto
Que un coche de juguete mini con Arduino

Que un coche de juguete mini con Arduino

Cada muchacho tiene el sueño de hacer un coche. Hace días hice un escarabajo nunca caída, es muy divertido y mucha gente dijo como él. Aquí hará otro coche de juguete, que es mucho más pequeño y es programable.No voy a usar escudo Bot otra vez, corté
Sistema de conducción ecológica inteligente

Sistema de conducción ecológica inteligente

Encantados de conocerte espectadores de Instructables + IoT aspirantes!!!!Bueno, hay un famoso refrán proverbial que pasa, "todo está bien que termina bien".Para pasar, desde mi punto de vista, antes de empezar a compartir mi esfuerzo de proyect
Coche Nº 05 cuarta etapa (versión fresa)

Coche Nº 05 cuarta etapa (versión fresa)

No.05 del coche es el proyecto con el objetivo de hacer un coche de conducción automático programado.En la primera etapa, he montado un menor radio de giro R/C chasis e hizo una tabla de relación entre valor de servo de dirección y radio de giro.En l
Intel IoT: Detector en caída

Intel IoT: Detector en caída

Desde que las caídas son un problema de salud pública importante entre las personas mayores, el número de sistemas destinados a detectarlas ha aumentado dramáticamente en los últimos años. Su objetivo es servir de referencia para los médicos y los in
Coche Termómetro Digital con brújula y

Coche Termómetro Digital con brújula y

no soy muy bueno encontrando lugares y dirección, pero al menos soy capaz de leer mapas y brújula. Hoy en día, sistemas de navegación GPS son cada vez más populares, probablemente que algunos dicen por qué necesito una brújula. Bueno, primero, me gus
Proyecto brújula Arduino Digital

Proyecto brújula Arduino Digital

¡ Hola! En este instructable, verá cómo puede hacer una brújula Digital utilizando un Arduino y el IDE de procesamiento. Esto es bastante simple pero interesante y fresco buscando proyecto de Arduino.Se puede ver el ejemplo de demostración de este tu
Interfaz Digital Compass (HMC5883L) con frambuesa Pi 2 con Python3

Interfaz Digital Compass (HMC5883L) con frambuesa Pi 2 con Python3

Inicialmente, estaba trabajando en un laberinto robot de problemas. En lugar de utilizar ultrasónica e infrarroja en el Arduino Mega para la siguiente pared igual mis amigos, trato de hacer algo diferente con la brújula digital y frambuesa Pi 2. Esta
Brújula de Steampunk

Brújula de Steampunk

haber construido unos caja del rompecabezas juegos recientemente y con algunos componentes sobran que pensé sería construir una brújula funcional de Steampunk.Basado en un Arduino Duemilanove es una construcción muy rápida y sencilla. Tomar la lectur
¿Cómo hacer un cinturón de brújula de retroalimentación táctil

¿Cómo hacer un cinturón de brújula de retroalimentación táctil

que siempre se pregunta cómo migratorias logran tener sentido increíble de la dirección a pesar de ser tan generalmente despistado? Puede sentir el campo magnético terrestre con lo que es básicamente una brújula en su cuerpo. ¿Sería genial para senti
Compañeros de entrenamiento: hacer ejercicio físico agradable para los niños

Compañeros de entrenamiento: hacer ejercicio físico agradable para los niños

Demo entrenamiento Video amigosEn esta guía detallaremos cómo hemos creado un ejercicio inteligente agente o robot, para la IoT de Intel Roadshow Amsterdam 2016. Nuestra idea era:Compañeros de entrenamiento involucra niños en ejercicio físico de form