Grove - Magnetic switch

From Wiki
Jump to: navigation, search


This is a Grove interface compatible Magnetic switch module. It is based on encapsulated dry reed switch CT10. CT10 is single-pole, single throw (SPST) type, having normally open ruthenium contacts. The sensor is a double-ended type and may be actuated with an electromagnet, a permanent magnet or a combination of both. The magnetic switch is a wonderful tool for designers who would like to turn a circuit on and off based on proximity.

Magnetic Switch.jpg


Grove compatible interface 2.0cm x 2.0cm Grove module Minimum external parts 10W rating Rugged encapsulation Application Ideas

Proximity Sensor Security Alarm Sensor Level Sensor Flow Sensor Pulse Counter


Items Min Norm Max Unit Working Voltage 4.75 5.0 5.25 V Switched Power 10 W Switched Voltage AC,RMS value(max) < 140 V Switched Current DC < 500 mA Carry Current DC < 0.5 A Contact Resistance <200 mΩ Insulation Resistance >106 MΩ Operating Temperature -40 - 125 ℃ Operate Range 10 - 40 AT Usage

The SIG pin of the module output LOW normally. When a magnet approaches the switch, the magnetic switch close and the SIG pin output HIGH.

The following sketch demonstrates a simple application of using the Magnetic switch to control the led. When you put a magnet that has enough magnetic power close to the module, the switch is closed .Then the SIG pin out put a high voltage. You can use this to control the led.

As the picture on the below indicates, the Magnetic switch is connected to digital port 9 of the Grove - Basic Shield and the LED is connected to digital port 13. When there is Magnetic approaches the switch, the SIG pin output a High voltage. Then the LED light. The hardware installation is as follows: Grove-Magnetic Switch.jpg Copy and paste code below to a new Arduino sketch. /*******************************************************************************/

/*macro definitions of magnetic pin and LED pin*/

  1. define MAGNECTIC_SWITCH 9
  2. define LED 13//the on board LED of the Arduino or

void setup() {



void loop() { if(isNearMagnet())//if the magnetic switch is near the magnet? { turnOnLED(); } else { turnOffLED(); } } void pinsInit() { pinMode(MAGNECTIC_SWITCH, INPUT); pinMode(LED,OUTPUT); }

/*If the magnetic switch is near the magnet, it will return true, */ /*otherwise it will return false */ boolean isNearMagnet() { int sensorValue = digitalRead(MAGNECTIC_SWITCH); if(sensorValue == HIGH)//if the sensor value is HIGH? { return true;//yes,return true } else { return false;//no,return false } } void turnOnLED() { digitalWrite(LED,HIGH); } void turnOffLED() { digitalWrite(LED,LOW); }

Upload the code, Please click here if you do not know how to upload. Then the LED light when there is Magnetic approaches the switch. Have a try! Version Tracker

Revision Descriptions Release Grove - Magnetic Switch v1.0 Initial public release designed for Grove module Jan 12, 2011