Arduino Lektion 18: Magnetischer Hall Sensor

In diesem Tutorial möchte ich den Magnetischen Hall Sensor beschreiben und eine kleine Schaltung mit diesem aufbauen.

Magnetischer Hall Sensor.
Magnetischer Hall Sensor.

(Dieser Sensor ist extrem klein daher bitte ich für die Pixel zu entschuldigen.)

Der Magnetische Hall Sensor reagiert auf ein Magnetfeld und je nachdem wie dieses gepolt ist (+ / -) reagiert der Sensor.

Dieser Sensor kann bei Amazon.de oder aber auch bei ebay.de günstig erworben werden.

Technische Daten

  • Betriebsspannung:  5V
  • Stromaufnahme im Ruhezustand 3mA
  • Stromaufnahme bei ausgelöstem Signal 8mA

Leider konnte ich keine weiteren Technisches Daten zu diesem Sensor finden.

Der Schaltplan

Der Magnetische Hall Sensor arbeitet wie ein Schalter und daher gibt es „nur“ 3 PINs welche wie folgt belegt werden müssen:

  • G – GND
  • R – 5V
  • Y – digitaler PIN 10

In der folgenden Schaltung habe ich zusätzlich eine LED integriert damit der zustand des Sensors besser zu erkennen ist.

Einfache Schaltung mit einem Magnetischen Hall Sensor und einer LED.
Einfache Schaltung mit einem Magnetischen Hall Sensor und einer LED.

Der Quellcode

Da wie schon angesprochen der Sensor quasi als Schalter dient haben wir nur die beiden Zustände „LOW“ bzw. „HIGH“ abzufragen.

 

Das Ergebnis

Ich habe hier nun ein kleines Video welches demonstriert wie der oben dargestellte Code funktioniert. Es ist gut zu erkennen das der Sensor erst reagiert wenn der Magnet direkt davor ist. Je nachdem wie stark der Magnet ist variiert der Abstand zwischen Sensor und Magnet.

Der Download

Den Quellcode zum Download möchte ich hier anbieten.

Verwandte Beiträge

2 Gedanken zu „Arduino Lektion 18: Magnetischer Hall Sensor

  • April 12, 2018 um 10:46
    Permalink

    Guten tag Herr Draeger.
    Ich soll im Rahmen meiner Ausbildung einen KY-024 über „C“ programmieren. Leider bin ich völlig überfordert. Haben Sie zufällig für „C“ ebenfalls einen Quellcode, respektive ein Tutorial. Es dankt, ein Verzweifelter!

    Antwort
    • April 13, 2018 um 13:54
      Permalink

      Hallo,

      also von 0 auf 100 in C ist schon etwas schwierig.
      Da kann ich mir gut vorstellen das man da an einigen Stellen verzweifelt.
      Zuerst sollte man bedenken das ein Arduino nicht komplett in C geschrieben wird sondern immer etwas C++ dialekt vorhanden ist. Daher muss man immer prüfen ob bestimmte Funktionalitäten unterstützt werden.
      Jetzt zu dem Sensor KY-024, leider habe ich diesen nicht auf Lager, nach einer kurzen Suche im Internet habe ich aber herausgefunden das dieser über einen digitalen sowie analogen Ausgang verfügt. Daher würde ich diesen mit dem Board wiefolgt verbinden :
      – VCC – 5V
      – GND – GND
      – A0 – analoger PIN A0
      Also Board empfehle ich den Arduino UNO.
      Im Sketch würde dann „nur“ über analogRead(A0); der Wert ausgelesen. Diesen gelesenen Wert kann man nun auf der seriellen Konsole über
      Serial.begin(9600);
      Serial.println(analogRead(A0));
      ausgeben.
      Ein „delay(2500);“ zusätzlich, würde dafür sorgen das die Ausgabe nur alle 2,5 Sekunden erfolgt.

      Gruß,
      Stefan

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.