Hall Sensor KY-024 manual

Arduino mit Hallsensor KY-024

Ein Hall Sensor kann Magnetfelder detektieren und eignet sich daher sehr gut im Bastelbereich um Bewegungen zu erkennen. Häufig findet man im Internet Videos bei denen ein Hall Sensor als Drehzahlmesser dient.

Wir haben bereits kleinere Arduino Projekte in Angriff genommen. Als nächstes möchten wir eine Gebetsmühle bauen, die anfängt zu Leuchten, wenn sie gedreht wird. Hierfür werden wir einen Hall Sensor brauchen.

Das könnte dich auch interessieren: Wie programmiert man eine Arduino Lüfter Steuerung.

In diesem Beitrag wird an einem ganz einfachen Beispiel erklärt wie man einen Hall Sensor mit einem Arduino verbindet und so programmiert, dass eine LED anfängt zu leuchten, sobald der Hall Sensor KY024 ein Magnetfeld detektiert.

Liste der Bauteile

Wie funktioniert ein Hallsensor bzw. der Halleffekt?

Wenn sich ein Stromdurchflossener elektrischer Leiter in einem Magnetfeld befindet, baut sich ein elektrisches Feld auf. Dieses ist senkrecht zur Stromrichtung und zum Magnetfeld und kompensiert die Lorentzkraft, welche auf die Elektronen wirkt.

Ein Hall-Sensor liefert auch ein Signal, wenn das Magnetfeld, in dem er sich befindet, konstant ist. Dies ist der Vorteil im Vergleich zu einer einfachen Spule, die nur die Ableitung des Magnetfeldes nach der Zeit feststellen kann.

Der Hallsensor KY-024

Hall sensor KY024 KY-024 KY 024 arduino code

Der lineare magnetische Hallsensor KY-024 kann Magnetfelder detektieren und reagiert daher sobald man sich ihm mit einem Magnet nähert. Er verfügt über ein Potentiometer mit dem man die Empfindlichkeit des Sensors einstellt. Der KY-024 Hallsensor bietet sowohl einen analogen als auch einen digitalen Ausgang.

Der digitale Ausgang fungiert als Schalter, der ein- und ausgeschaltet wird, wenn sich ein Magnet in der Nähe befindet. Der Analogausgang dagegen kann die Polarität und relative Stärke des Magnetfelds messen.

KY-024 Arduino Verkabelung

Wiring the KY024 hall sensor to an arduino

Es handelt sich um einen sehr einfachen Aufbau, der nur dafür dient die Funktionsweise des KY-024 Hallsensors zu verdeutlichen. Bitte auf die Vorwärtsrichtung der LED achten, das abgeknickte Ende wird mit einem Arduino Pin verbunden und das gerade Ende mit GND. Korrekterweise braucht die LED einen 220 Ohm Vorschaltwiderstand. Dieser kann aber für die kurze Anwendungsdauer auch vernachlässigt werden.

Ansonsten analog zur Fritzing Skizze GND des KY-024 mit GND des Arduino verbinden. Den analogen Ausgang A0 des KY-024 mit A0 des Arduino Mega verbinden. Das + des KY-024 mit 5V des Arduino verbinden und den digitalen Ausgang D0 des KY-024 mit Pin 9 des Arduino verbinden. Das war auch schon der komplette Aufbau.

Hall Sensor KY-024 Arduino Code

int LED = 53 ; // LED
int digitalPin = 9; // Hall magnetic sensor input 1 (high) or 0 (low)
int analogPin = A0; // analog Pin also available, but not necessary
int digitalInputValue ; // digital readings
int analogInputValue; // analog readings

void setup ()
{
  pinMode (LED, OUTPUT); 
  pinMode (digitalPin, INPUT); 
  pinMode(analogPin, INPUT); //not necessary, but it is interesting to see the analog values
  Serial.begin(9600);
}

void loop ()
{
  
  digitalInputValue = digitalRead(digitalPin) ; 
  if (digitalInputValue == HIGH) // When magnet is present, digitalInputValue gets 1 (HIGH) and turns LED on
  {
    digitalWrite (LED, HIGH);
    
  }
  else
  {
    
    digitalWrite (LED, LOW);
  }
  
  //Here you can see the analog values of the sensor
  analogInputValue = analogRead(analogPin);
  Serial.println(analogInputValue); // print analog value

  delay(100);
}

Wir definieren zunächst die Belegung der LED (hier Pin 53), den digitalen (Pin 9) und den analogen Pin (Pin A0) und zwei Variablen um die digitalen und analogen Sensordaten auszulesen. Für unseren Zweck, die LED zum Leuchten zu bringen reicht der digitale Pin.

Der analoge Pin kann eigentlich vernachlässigt werden. Da es aber für dieses Tutorial nützlich ist auch die analogen Werte zu zeigen wurde der analoge Pin trotzdem im Code berücksichtigt.

Im Setup wird der jeweilige PinMode definiert und in der Loop Funktion wird der digitale Sensor Wert des KY 024 eingelesen und je nach Wert erhält die LED das Kommando zu leuchten oder eben nicht. Der digitale Sensorwert ist entweder 0 oder 1. Wenn man nun möchte kann man sich mit den vorletzten 2 Zeilen die zugehörigen analogen Werte anzeigen lassen.

hallsensor Ky024 arduino code analog data

Download Dateien

Schreibe einen Kommentar

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

Cookie Consent mit Real Cookie Banner