top of page
Writer's pictureSanskruti Ashtikar

Building a Magnetic Field Sensor with TinkerCAD and Arduino

Introduction


A Magnetic Field Sensor is a device that measures the strength and direction of magnetic fields. This project will guide you through creating a magnetic field sensor using an Arduino and a magnetic field sensor module, such as the HMC5883L, which is a commonly used 3-axis magnetometer. This project will help you understand how to measure and interpret magnetic field data and can be useful for applications like electronic compasses, navigation systems, or detecting magnetic anomalies.


Materials Needed


For this project, you will need:

  • Arduino Uno

  • Breadboard

  • HMC5883L Magnetometer Module (3-axis magnetic field sensor)

  • Jumper Wires

  • Power Source (e.g., USB cable for Arduino)


Step 1: Setting Up the Components


  1. Arduino and Breadboard: Open TinkerCAD and create a new circuit project. Drag and drop an Arduino Uno and a breadboard onto the workspace.

  2. HMC5883L Magnetometer Module: This module measures magnetic fields along three axes.

    • VCC: Connect to the 5V pin on the Arduino.

    • GND: Connect to GND on the Arduino.

    • SDA: Connect to the SDA pin on the Arduino (A4 on most boards).

    • SCL: Connect to the SCL pin on the Arduino (A5 on most boards).


Step 2: Wiring Diagram


Ensure your wiring follows these connections:

  • HMC5883L Magnetometer Module:

    • VCC → 5V on Arduino

    • GND → GND on Arduino

    • SDA → SDA (A4 on Arduino)

    • SCL → SCL (A5 on Arduino)


Step 3: Installing the Libraries


To interface with the HMC5883L module, you'll need the Wire library for I2C communication and the Adafruit_Sensor library. In TinkerCAD, you can add these libraries directly in the code editor. For real-world implementation, you would need to download and install these libraries from the Arduino Library Manager.


#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>
// Create an instance of the sensor
Adafruit_HMC5883_Unified magnetometer = Adafruit_HMC5883_Unified(12345);
void setup() {
  Serial.begin(9600); // Initialize serial communication
  if (!magnetometer.begin()) { // Initialize the magnetometer
    Serial.println("Couldn't find HMC5883L sensor");
    while (1);
  }
}
void loop() {
  sensors_event_t event;
  magnetometer.getEvent(&event); // Get magnetic field data
  
  Serial.print("X: ");
  Serial.print(event.magnetic.x);
  Serial.print(" uT, Y: ");
  Serial.print(event.magnetic.y);
  Serial.print(" uT, Z: ");
  Serial.print(event.magnetic.z);
  Serial.println(" uT");
  delay(500); // Update every 500 milliseconds
}

Step 4: Simulating the Circuit


  1. After entering the code, click the "Start Simulation" button in TinkerCAD.

  2. Monitor the Serial Monitor for magnetic field readings. The readings will display the magnetic field strength along the X, Y, and Z axes in microteslas (µT).


Step 5: Understanding the Code


  • Library Initialization: The Wire library is used for I2C communication, and the Adafruit_HMC5883_U library provides an interface for the HMC5883L sensor.

  • Reading Data: The magnetometer.getEvent(&event) function reads magnetic field data, which is then accessed through the event.magnetic structure.

  • Displaying Data: The X, Y, and Z values are printed to the Serial Monitor to show the strength of the magnetic field along each axis.


Step 6: Enhancing the System


You can enhance the basic Magnetic Field Sensor project with additional features:

  • Data Visualization: Integrate with a graphical interface or plotting software to visualize magnetic field data in real-time.

  • Calibration: Implement calibration routines to improve accuracy and account for environmental magnetic interference.

  • Additional Sensors: Combine the magnetometer with other sensors (e.g., accelerometers) for more advanced applications like 3D orientation sensing or navigation.


Conclusion


You have successfully built a Magnetic Field Sensor using TinkerCAD and Arduino. This project introduces you to magnetic field measurement and provides a foundation for more advanced applications involving magnetic field data.


Want us to guide you through your project or make the project for you ?






Create Various Projects

Check out our Free Arduino Projects Playlist - Arduino Projects 

Check out our Free Raspberry Pi Projects Playlist - Raspberry Pi Projects 

Check out our Free TinkerCAD Projects Playlist - TinkerCAD Projects 

Check out our Free IoT Projects Playlist - IoT Projects 

Check out our Free Home Automation Projects Playlist - Home Automation Projects 

Check out our Free NodeMCu Projects Playlist - NodeMCu Projects 


0 views0 comments

Related Posts

See All

Comentarios


bottom of page