Hallo Leute, willkommen zu unserem heutigen Tutorial. Heute werden wir uns ansehen, wie man einen Hall-Effekt-Sensor mit Arduino verwendet.
Ein Hall-Effekt-Sensor ist ein Sensor, der seine Ausgabe basierend auf dem Vorhandensein oder Fehlen eines Magnetfeldes verändert. Das bedeutet, dass das von einem Hall-Effekt-Sensor erzeugte Ausgangssignal eine Funktion der Magnetfelddichte um ihn herum ist. Wenn die magnetische Flussdichte um ihn herum einen bestimmten voreingestellten Schwellenwert überschreitet, erkennt der Sensor dies und erzeugt eine Ausgangsspannung, die manchmal als Hall-Spannung bezeichnet wird, um das Vorhandensein des Magnetfelds anzuzeigen.
Hall-Sensoren sind aufgrund ihrer Vielseitigkeit sehr beliebt und werden in vielen verschiedenen Anwendungen eingesetzt. Eine der beliebtesten Anwendungen von Hall-Effekt-Sensoren ist der Einsatz in Kraftfahrzeugen, wo sie zur Erkennung der Position, zur Messung von Abstand und Geschwindigkeit verwendet werden. Sie kommen auch in modernen Geräten wie Smartphones und Computern zum Einsatz und werden in verschiedenen Arten von Schaltern verwendet, bei denen das Vorhandensein eines Magnetfeldes dazu genutzt wird, einen Schaltkreis zu aktivieren oder zu deaktivieren.
Hallsensoren erzeugen je nach Sensor entweder einen analogen oder einen digitalen Ausgang. Unabhängig vom Typ werden sie in der Regel in einem dreipoligen Gehäuse geliefert, wobei ein Pin für das Signal und die beiden anderen für die Stromversorgung des Sensors zuständig sind. Dies erleichtert den Anschluss an jeden Mikrocontroller.
Im heutigen Tutorial werden wir die Funktionsweise des Halleffektsensors demonstrieren, indem wir ihn zusammen mit einer LED an einen Arduino anschließen. Der Arduino wird so programmiert, dass die LED aufleuchtet, wenn ein Magnet in die Nähe des Hall-Effekt-Sensors gebracht wird, und dass sie erlischt, wenn der Magnet entfernt wird.
Erforderliche Komponenten
Die folgenden Komponenten sind für dieses Projekt erforderlich.
- Hall-Effekt-Sensor
- Cheap Arduino Uno
- Breadboard mini
- LED
- Drähte
- Magnete
Wie üblich können die genauen Komponenten, die für dieses Tutorial verwendet werden, über die Links gekauft werden, die zu jeder der oben aufgeführten Komponenten gehören.
Schaltplan
Der Schaltplan für dieses Projekt ist sehr einfach, da wir nur die drei Pins des Hall-Sensors und eine LED mit dem Arduino verbinden müssen. Schließe die Komponenten wie im folgenden Schaltplan an.
Der Anschluss wird weiter unten beschrieben, um ihn leicht nachvollziehbar zu machen.
Hallensensor – Arduino
VCC - 5VGND - GNDSIG - D2
Die LED kann direkt in den Arduino eingesteckt werden, wobei das positive Beinchen an Pin 13 des Arduinos und das andere Beinchen an den Masse-Pin ohne Widerstand angeschlossen wird, da der Arduino einen internen Widerstand an Pin 13 hat.
Nachdem der Schaltplan fertig ist, können wir mit dem Code für dieses Projekt fortfahren.
Code
Der Code für dieses Projekt ist wirklich einfach, alles, was wir tun wollen, ist, wie bereits erwähnt, zu überprüfen, ob ein Magnetfeld erkannt wird, und wenn ja, die LED einzuschalten, wenn nicht, schalten wir die LED aus.
Um den Code für dieses Projekt kurz zu erklären, deklarieren wir als erstes die Pins des Arduinos, an die unser Hall-Sensor und die LED angeschlossen sind, danach erstellen wir eine Variable „state“, die den Wert des Hall-Sensors speichern wird.
////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // Author: Nick Koumaris //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0;
Als Nächstes gehen wir zur void setup Funktion, wo wir den Pin-Modus für die Pins des Arduino deklarieren, an die die LED und der Hall-Sensor angeschlossen sind.
void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }
Als Nächstes kommt die void loop Funktion, die Aufgabe hier ist die gleiche, wie wenn wir einen Taster benutzen wollen, um eine LED mit einem Arduino dazwischen zu steuern. Wir lesen den Ausgang des Hall-Sensors und speichern ihn in einer Variablen namens state. Wenn der Wert LOW ist, schalten wir die LED auf HIGH und wenn der Wert High ist, schalten wir die LED auf Low. Die Konfiguration Ihres Hall-Sensors kann unterschiedlich sein, da der Sensor auf High schalten kann, wenn ein Magnetfeld erkannt wird. Dies sollte auf dem Datenblatt des Sensors bestätigt werden.
void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}
Der vollständige Code für dieses Projekt ist unten abgebildet und steht auch im Download-Bereich am Ende dieses Tutorials zur Verfügung.
////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}
Demo
Kopiere den Code und lade ihn auf dein Arduino-Board. Du solltest sehen, dass die LED schaltet, wenn ein Magnet in ihre Nähe gebracht wird, wie im Bild unten gezeigt.