Contents

Interfacing Magnetic Switch (Reed Switch) with Arduino

What Is Reed Switch?

The Reed Switch is a magnetic switch that has two (on and off) switching modes, like a normal switch. The two pins are connected to each other by being in a magnetic field (for example, close to the magnet) and are disconnected by leaving that field.
These switches are used in open/close door detection sensors, seat belt sensors, collision detection sensors, etc.

Tip

Some magnetic switches are Normally Close. That is, when they are not in a magnetic field, the two pins are connected, and when they are in a magnetic field, the switch is disconnected and the two pins are separated.

In this tutorial, you will learn how to use a magnetic switch module with Arduino.
When Magnetic Switch Module is in the magnetic field, the OUT pin has a logical value of “0” and “1” otherwise

Pins

This module has 3 pins as follows:

  • VCC: Module power supply – 3.3 to 5 Volt
  • GND: Ground
  • OUT: Output

Required Materials

Hardware Components

Arduino UNO R3 × 1
Reed Switch Magnet Sensor × 1
Jumper Wire × 1

Interfacing Magnetic Switch with Arduino

Step One: Circuit

Connect the module to the Arduino according to the following circuit.

Step 2: Code

This code reads the magnetic switch output and if the module is in a magnetic field displays the message “I feel Magnetic field” in the serial monitor (for example, the magnet is close to the module).
/*   
Reed Switch  
modified on 31 Aug 2020 
by Mohammad Reza Akbari @ Electropeak 
Home
*/ int ledPin = 13; // LED connected to digital pin 13 int Sensor = 2; // Reed Switch int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(Sensor, INPUT); // sets the digital pin 7 as input Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { val = digitalRead(Sensor); // read the input pin if(val == LOW){ Serial.print("I feel Magnetic field :)\n"); // print on serial port digitalWrite(ledPin, HIGH); delay(1000); } else{ digitalWrite(ledPin, LOW); } }
Liked What You See?​
Get Updates And Learn From The Best​

Leave a Reply

Your email address will not be published. Required fields are marked *