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.
Model:COM11335P
| 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 |
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:
/*******************************************************************************/
/*macro definitions of magnetic pin and LED pin*/
#define MAGNECTIC_SWITCH 9
#define LED 13//the on board LED of the Arduino or Seeeduino
void setup()
{
pinsInit();
}
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 ture, */
/*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 ture
}
else
{
return false;//no,return false
}
}
void turnOnLED()
{
digitalWrite(LED,HIGH);
}
void turnOffLED()
{
digitalWrite(LED,LOW);
}
1.You should have got a raspberry pi and a grovepi or grovepi+.
2.You should have completed configuring the development enviroment, otherwise follow here.
3.Connection
4.Navigate to the demos' directory:
cd yourpath/GrovePi/Software/Python/
nano grovepi_tilt_switch.py # "Ctrl+x" to exit #
import time
import grovepi
# Connect the Grove Tilt Switch to digital port D3
# SIG,NC,VCC,GND
tilt_switch = 3
grovepi.pinMode(tilt_switch,"INPUT")
while True:
try:
print grovepi.digitalRead(tilt_switch)
time.sleep(.5)
except IOError:
print "Error"
5.Run the demo.
sudo python grove_tilt_switch.py
6.Result
Put a magnet upon the sensor, the SIG pin will output HIGH.
| Revision | Descriptions | Release |
|---|---|---|
| Grove - Magnetic Switch v1.0 | Initial public release designed for Grove module | Jan 12, 2011 |
If you have questions or other better design ideas, you can go to our forum or wish to discuss.
Copyright (c) 2008-2016 Seeed Development Limited (www.seeedstudio.com / www.seeed.cc)