Explosives Detection using Magnetometer and Arudino
Explosives Detection using Magnetometer and Arudino
1. Baseline Calibration:
• Device measures the ambient magnetic field and establishes a baseline for "normal" conditions
2. Continuous Monitoring:
• The HMC5883L magnetometer constantly measures magnetic field strength in the X, Y, and Z axes
3. Magnetic Field Disturbance:
• Ferromagnetic materials in explosive devices distort Earth's magnetic field
• Creates measurable deviations from the baseline
4. Data Processing:
• Arduino compares real-time measurements to the baseline
• Calculates the magnitude of deviation
5. Threshold Detection:
• If deviation exceeds a predefined threshold, it triggers an alert
• Threshold determined through testing and calibration
6. Alert System:
• Significant deviations activate LED and buzzer
Three-Axis
Digital
Compass IC
HMC5883L
The Honeywell HMC5883L is a
surface-mount, multi-chip
module designed for low-field Features- Benefits
magnetic sensing with a digital Three-Axis Magnetoresistive Small Size for Highly
interface for applications such Sensors and ASIC in a
as low cost compassing and Integrated Products.
3.0x3.0x0.9mm LCC Surface Mount Enables 1° to 2° Degree
magnetometry. The HMC5883L
utilizes Honeywell’s Anisotropic Package
12-Bit ADC Coupled with Low
Compass Heading Accuracy
Magnetoresistive (AMR) Enables Low-Cost
technology that provides Noise AMR Sensors Achieves 5
advantages over other milli-gauss Resolution in ±8 Gauss Functionality Test after
magnetic sensor technologies. Fields Assembly in Production
These anisotropic, directional Built-In Self Test Popular Two-Wire Serial
sensors feature precision in- Low Voltage Operations (2.16 to Data Interface for
axis sensitivity and linearity. 3.6V) and Low Power Consumption Consumer Electronicc
(100 μA)
Magnetoresistive Effect (Core
Principle)
The HMC5883L uses the magnetoresistive effect to detect magnetic fields. The
magnetoresistive effect refers to the change in the electrical resistance of a material
when exposed to a magnetic field. The sensor has small resistive elements that
change their resistance when the external magnetic field changes.
•Step 2: These changes in the magnetic field are converted into voltage changes due to the
magnetoresistive effect.
•Step 3: The sensor's internal ADC converts the analog voltage changes into digital values (16-bit signed
integers).
•Step 4:Calibration is performed to adjust for any sensor offsets or errors, ensuring accurate magnetic
field readings.
•Step 5: The calculated magnetic field strength is compared with the baseline value to detect changes or
disturbances.
•Step 6: If the change exceeds the threshold, metal or another magnetic disturbance is detected.
Block Diagram
Interfacing HMC5883L with Arduino
Control of this device is carried
out via the I2C bus. This device
will be connected to this bus as a
slave device under the control of
a master device, here, the
Arudino. This allows the sensor
to send its magnetic field data to
the Arduino using just two
communication lines: SCL (Serial
Clock Line) and SDA (Serial Data
Access).
What is I2C Communication?
I2C (Inter-Integrated Circuit) is a simple, two-wire communication protocol that allows multiple devices
(sensors, controllers, etc.) to communicate with a microcontroller like the Arduino. It’s widely used for
interfacing low-speed peripherals such as the HMC5883L magnetometer.
2. Visual feedback-
If a magnetic field variation is detected:
The LED connected to pin 10 is turned on.
A message, “METAL DETECTED: Significant magnetic field Variation”, is displayed on the
serial monitor
Otherwise the LED remains off.
Reading the Magnetometer Compass Values
Serial.println("Put your sensor on flat surface");
delay(3000); compass.read();
st_x=compass.getX();
st_y=compass.getY();
st_z=compass.getZ();}