zurück zur Übersicht...

Hall-Sensor

Hall-Sensor 49E
Abb.: Hall-Sensor 49E

Der Hall-Sensor oder auch Hall-Effekt-Sensor (von engl. Edwin Hall) kann magnetische Felder messen, und damit können wir den Arduino speisen, um somit z.B. einen berührungslosen Schalter zu realisieren.
Man unterscheidet verschiedene Funktionsweisen:
Latching Hall-Sensoren merken sich den zuletzt erkannten Zustand, behalten diesen auch bei Entfernung des Magneten bei und benötigen ein Magnetfeld in der entgegengesetzten Richtung, um den Zustand zu wechseln
Non-Latching Hall-Sensoren wechseln und während der Anwesenheit eines Magnetfelds den Zustand und fallen bei Entfernung des Magneten wieder in den Ausgangszustand. Diese Sensoren gibt es unipolar (erkennen nur eine magnetische Polarität) und bipolar (erkennen beiden Polaritäten)
In folgenden Beispiel wird ein latching Hall-Sensor von Typ 49E verwendet.

Video: Live-Demonstration

Verwendete Bauteile

Aufbau

Pinout vom Hall-Sensor 49E
Abb.: Pinout vom Hall-Sensor 49E

Wichtig in der Schaltung ist zu beachten, dass es eine Verbindung von Ausgang (Out) des Hall-Sensors zum GND-Anschluss des Arduinos mittels eines 10kΩ Pulldown-Widerstandes.
Andere Sensoren wie z.B. der US1881 verfügen über einen Open-Collector Signalausgang und benötigen zusätzlich einen 10kΩ Widerstand zwischen +5V und dem Signalpin, um korrekt zu funktionieren (oder den internen Pullup Widerstand des Arduino-Pins).

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Der folgende Sketch liest den aktuellen Wert vom Hall-Sensor ein und schaltet entsprechend dazu eine LED ein oder aus.

#define PIN_HALL_SENSOR 4
#define PIN_LED         8

void setup()
{
    pinMode(PIN_HALL_SENSOR, INPUT);
    pinMode(PIN_LED, OUTPUT);
}

void loop()
{
    digitalWrite(PIN_LED, digitalRead(PIN_HALL_SENSOR));
}