INFORMACIÓN
El HMC5883L Módulo es un Magnetómetro de tres ejes (X, Y y Z) de cinco pines, que trabaja con protocolo de comunicación I2C y un rango de medición desde ± 1.3 hasta 8 gauss, cuenta con dos modos de medición (continua y única), se alimenta con voltaje de 3.3 o 5V.
El HMC5883L Módulo es útil en proyectos de robótica, drones, juegos, simuladores y en general para determinar la dirección en la que se está moviendo un dispositivo o vehículo. Para consultar otros modelos de sensores de movimiento puedes dar clic aquí.
Nota: Este sensor es compatible con las funciones del QMC5883L, solo es necesario cambiar la librería.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Tipo: Sensor de Magnetómetro
- Matricula: HMC5883L
- Voltaje de alimentación: 3.3 o 5 VDC
- Corriente de operación: 100 µA
- Tasa de salida:
- Modo Continuo: 75 Hz
- Modo único: 160 Hz
- Rango de medición: ± 1.3 hasta 8 gauss
- Protocolo de comunicación: I2C
- Dimensiones: 18.3 x 13.7 x 1.4 mm
- Peso: 1.04g
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Para comprobar el funcionamiento de tu módulo puedes utilizar el siguiente circuito:

Una vez que hayas realizado las conexiones, descarga e instala las librerías:
Carga el siguiente código para observar las lecturas del módulo en el monitor Serial del IDE de Arduino.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>
//Asignación de un ID único al sensor
Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);
void displaySensorDetails(void)
{
//Datos de la Datasheet
sensor_t sensor;
mag.getSensor(&sensor);
Serial.println("------------------------------------");
Serial.print ("Sensor: "); Serial.println(sensor.name); //Nombre del sensor
Serial.print ("Driver Ver: "); Serial.println(sensor.version); //Version del Sensor
Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); //ID del sensor
Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" uT"); //Rango máximo del Sensor
Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" uT"); //Rango mínimo del Sensor
Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" uT"); //Resolución del Sensor
Serial.println("------------------------------------");
Serial.println("");
delay(500);
}
void setup(void)
{
//Inicio del monitor serial
Serial.begin(9600);
Serial.println("HMC5883 Magnetometer Test"); Serial.println("");
//inicialización del sensor
if(!mag.begin())
{
//Si no se detecta el sensor se obtiene el siguiente mensaje
Serial.println("Ooops, no se ha detectado un sensor HMC5883... Revisa tu conexión");
while(1);
}
//Se muestran los datos del Datasheet del Sensor
displaySensorDetails();
}
void loop(void)
{
//Se obtiene un nuevo Evento del sensor
sensors_event_t event;
mag.getEvent(&event);
// Se muetsran los resultados en Micro Tesla (uT)
Serial.print("X: "); Serial.print(event.magnetic.x); Serial.print(" ");
Serial.print("Y: "); Serial.print(event.magnetic.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.magnetic.z); Serial.print(" ");Serial.println("uT");
//Sostén el módulo con Z apuntando hacia arriba de manera que se pueda medir la trayectoria de X y Y
//Calcula la trayectoria cuando el sensor este nivelado y luego corrige los signos del eje.
float heading = atan2(event.magnetic.y, event.magnetic.x);
//Una vez que tengas la trayectoria agrega tu ángulo de declinación, que es el error del sensor en tu ubicación.
//Si no conoces tu ángulo de declinación puedes encontrarlo aquí: http://www.magnetic-declination.com/
//Debes convertir el ángulo en radianes para poder colocar el valor en las siguientes líneas.
//Si no logras encontrar tu ángulo de declinación, comenta las siguientes dos líneas, tu brújula estará ligeramente desviada.
float declinationAngle = 0.06;
heading += declinationAngle;
//Corrige si los signos están invertidos
if(heading < 0)
heading += 2*PI;
//Comprueba si hay wrap debido a la adición de declinación.
if(heading > 2*PI)
heading -= 2*PI;
//Convierta radianes a grados para facilitar la lectura
float headingDegrees = heading * 180/M_PI;
Serial.print("Heading (degrees): "); Serial.println(headingDegrees);
delay(500);
}

Sensor Ultrasónico HC-SR04
Sensor Infrarrojo Sharp GP2Y0A21YK0F de 10-80cm
Sensor Ultrasonico US-100 Compensacion de Temperatura
RM098 Multímetro Digital Autorango RICHMETERS
Kit Carrito 4WD Robot Educacional con Accesorios
Kit de Separadores de Latón M3 120 Piezas
RDM6300 Modulo lector RFID 125Khz
ESP32 Lolin32 Lite CH340 con Carga de Batería
SN-01BM Prensa para Terminales XH2.54 PH2.0
Arduino Starter Kit 15 Practicas en Español
ATMEGA8-16PU Microcontrolador DIP-28
Lector De Tarjetas ID RFID 125KHz USB Control de Asistencia EM4100
Punta de Prueba SMD para Multímetro
Limpiador Dieléctrico para Circuitos y Tarjetas Electrónicas 454 ml COMPUKLIN
Sensor de Gestos y Detección de Rostros con AI SEN0626
MCP2515 Can Bus SPI TJA1050
Kit Carrito Robot Seguidor Lineas Con Accesorios
Puntas para Multímetro de 1000V 10A





















Valoraciones
No hay valoraciones aún.