28

Magnetschalter

[Seeed Studio Grove – Magnet Switch]

Der Magnetschalter funktioniert wie ein normaler Schalter und kann als Eingabe für einen Mikrocontroller verwendet werden. Der Sensor ermittelt, ob sich ein Magnet in seiner unmittelbaren Nähe befindet und gibt ein digitales Signal aus, sobald er sich in einem Magnetfeld befindet. Er kann direkt oder mithilfe des Grove Shields an einen Arduino oder Raspberry Pi angeschlossen werden. Der Schalter benötigt nur einen digitalen Pin.

Ein solcher Magnetschalter kommt beispielsweise in jedem Laptop zum Einsatz, um zu erkennen, ob dieser zugeklappt wird. Weiterhin kann der Sensor eingesetzt werden, um Systeme oder Geräte berührungslos nur mithilfe eines Magnets an- oder auszuschalten (oder andere Befehle per Magnet übertragen).

Alle weiteren Hintergrundinformationen sowie ein Beispielaufbau und alle notwendigen Programmbibliotheken sind auf dem offiziellen Wiki (bisher nur in englischer Sprache) von Seeed Studio zusammengefasst. Zusätzlich findet man über alle gängigen Suchmaschinen durch die Eingabe der genauen Komponentenbezeichnung entsprechende Projektbeispiele und Tutorials.

/*******************************************************************************/

/*macro definitions of magnetic pin and LED pin*/
#define MAGNECTIC_SWITCH 2
#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);
}

 

Wichtige Links für die ersten Schritte:

Projektbeispiele:

Weiterführende Hintergrundinformationen:

ZU ALLEN MATERIALIEN