- Erforderliche Materialien:
- Hall-Effekt-Sensoren:
- Schaltplan und Erklärung:
- Hall-Effekt-Sensor Arduino-Code:
- Arduino Hall Effect Sensor Funktioniert:
Sensoren waren schon immer ein wichtiger Bestandteil jedes Projekts. Dies sind diejenigen, die die Echtzeit-Umgebungsdaten in digitale / variable Daten umwandeln, damit sie von der Elektronik verarbeitet werden können. Es gibt viele verschiedene Arten von Sensoren auf dem Markt, und Sie können je nach Ihren Anforderungen einen auswählen. In diesem Projekt lernen wir, wie man einen Hallsensor, auch Hall-Effekt-Sensor genannt, mit Arduino verwendet. Dieser Sensor kann einen Magneten und auch den Pol des Magneten erfassen.
Warum einen Magneten erkennen?, Fragen Sie sich vielleicht. Nun, es gibt viele Anwendungen, die praktisch einen Hall-Effekt-Sensor verwenden, und wir haben sie möglicherweise nie bemerkt. Eine übliche Anwendung dieses Sensors ist die Messung der Geschwindigkeit in Fahrrädern oder rotierenden Maschinen. Dieser Sensor wird auch in BLDC-Motoren verwendet, um die Position von Rotormagneten zu erfassen und die Statorspulen entsprechend auszulösen. Die Anwendungen sind endlos. Lassen Sie uns also lernen, wie Sie den Interface Hall-Effektsensor Arduino verwenden, um ein weiteres Tool in unserem Arsenal hinzuzufügen. Hier einige Projekte mit Hallsensor:
- DIY Tachometer mit Arduino und Verarbeitung Android App
- Digitaler Tachometer und Kilometerzähler mit PIC-Mikrocontroller
- Virtuelle Realität mit Arduino und Verarbeitung
- Messung der Magnetfeldstärke mit Arduino
In diesem Tutorial verwenden wir die Interrupt-Funktion von Arduino, um den Magneten in der Nähe des Hallsensors zu erkennen und eine LED zu leuchten. Die meiste Zeit wird der Hallsensor nur mit Interrupts verwendet, da in diesen Anwendungen eine hohe Lese- und Ausführungsgeschwindigkeit erforderlich ist. Verwenden Sie daher auch Interrupts in unserem Lernprogramm.
Erforderliche Materialien:
- Hall-Effekt-Sensor (jede digitale Version)
- Arduino (Beliebige Version)
- 10 kOhm und 1 kOhm Widerstand
- LED
- Kabel anschließen
Hall-Effekt-Sensoren:
Bevor wir uns mit den Verbindungen befassen, sollten Sie einige wichtige Dinge über Hall-Effekt-Sensoren wissen. Es gibt tatsächlich zwei verschiedene Arten von Hallsensoren, einen digitalen Hallsensor und einen analogen Hallsensor. Der digitale Hallsensor kann nur erkennen, ob ein Magnet vorhanden ist oder nicht (0 oder 1), aber die Ausgabe eines analogen Hallsensors hängt vom Magnetfeld um den Magneten ab, dh er kann erkennen, wie stark oder wie weit der Magnet ist. In diesem Projekt werden nur die digitalen Hallsensoren zum Einsatz kommen, da diese am häufigsten verwendet werden.
Wie der Name schon sagt, arbeitet der Hall-Effekt-Sensor nach dem Prinzip des „Hall-Effekts“. Nach diesem Gesetz „konnte eine Spannung im rechten Winkel zum Strompfad gemessen werden, wenn ein Leiter oder Halbleiter mit in einer Richtung fließendem Strom senkrecht zu einem Magnetfeld eingeführt wurde“. Mit dieser Technik kann der Hallsensor das Vorhandensein eines Magneten in seiner Umgebung erkennen. Genug der Theorie, lasst uns in die Hardware einsteigen.
Schaltplan und Erklärung:
Das vollständige Schaltbild für die Verbindung des Hallsensors mit Arduino finden Sie unten.
Wie Sie sehen können, ist der Arduino-Schaltplan des Hall-Effekt-Sensors ziemlich einfach. Der Ort, an dem wir häufig Fehler machen, ist die Ermittlung der Pin-Nummern von Hallsensoren. Platzieren Sie die Messwerte in Ihre Richtung und der erste Stift auf Ihrer linken Seite ist der Vcc und dann Masse bzw. Signal.
Wir werden Interrupts verwenden, wie bereits erwähnt, daher ist der Ausgangspin des Hallsensors mit dem Pin 2 des Arduino verbunden. Der Pin ist mit einer LED verbunden, die aufleuchtet, wenn ein Magnet erkannt wird. Ich habe die Verbindungen einfach auf einem Steckbrett hergestellt und es sah nach Abschluss ungefähr so aus.
Hall-Effekt-Sensor Arduino-Code:
Der vollständige Arduino-Code besteht nur aus wenigen Zeilen und befindet sich am Ende dieser Seite, die direkt auf Ihr Arduino-Board hochgeladen werden kann. Wenn Sie wissen möchten, wie das Programm funktioniert, lesen Sie weiter.
Wir haben einen Eingang, der der Sensor ist, und einen Ausgang, der eine LED ist. Der Sensor muss als Interrupt-Eingang angeschlossen werden. In unserer Setup- Funktion initialisieren wir diese Pins und sorgen dafür, dass Pin 2 als Interrupt fungiert. Hier heißt Pin 2 Hall_sensor und Pin 3 heißt LED .
void setup () {pinMode (LED, OUTPUT); // LED ist ein Ausgangspin pinMode (Hall_sensor, INPUT_PULLUP); // Hallsensor ist Eingangspin attachInterrupt (digitalPinToInterrupt (Hall_sensor), umschalten, ÄNDERN); // Pin zwei ist ein Interrupt-Pin, der die Umschaltfunktion aufruft.}
Wenn ein Interrupt erkannt wird, wird die Umschaltfunktion wie in der obigen Zeile erwähnt aufgerufen. Es gibt viele Interrupt-Parameter wie Toggle , Change, Rise, Fall usw., aber in diesem Tutorial erkennen wir die Änderung der Ausgabe vom Hall-Sensor.
Jetzt in der Toggle - Funktion verwenden wir eine Variable mit dem Namen „ Zustand “, der gerade seinen Zustand 0, wenn bereits 1 und 1, wenn bereits Null ändert. Auf diese Weise können wir die LED ein- oder ausschalten.
void toggle () {state =! state; }}
Schließlich müssen wir innerhalb unserer Schleifenfunktion nur die LED steuern. Der variable Zustand wird jedes Mal geändert, wenn ein Magnet erkannt wird. Daher bestimmen wir damit, ob die LED an oder aus bleiben soll.
void loop () {digitalWrite (LED, Zustand); }}
Arduino Hall Effect Sensor Funktioniert:
Sobald Sie mit Ihrer Hardware und Ihrem Code fertig sind, laden Sie den Code einfach auf das Arduino hoch. Ich habe eine 9-V-Batterie verwendet, um das gesamte Setup mit Strom zu versorgen. Sie können jede bevorzugte Stromquelle verwenden. Bringen Sie nun den Magneten in die Nähe des Sensors und Ihre LED leuchtet und wenn Sie ihn wegnehmen, erlischt sie.
Hinweis: Der Hallsensor ist polempfindlich, dh eine Seite des Sensors kann entweder nur den Nordpol oder nur den Südpol und nicht beide erkennen. Wenn Sie also einen Südpol in die Nähe der Norderfassungsfläche bringen, leuchtet Ihre LED nicht.
Was tatsächlich im Inneren passiert, ist, wenn wir den Magneten in die Nähe des Sensors bringen, ändert der Sensor seinen Zustand. Diese Änderung wird vom Interrupt-Pin erfasst, der die Umschaltfunktion aufruft, in der wir die Variable „state“ von 0 auf 1 ändern. Daher leuchtet die LED auf. Wenn wir nun den Magneten vom Sensor wegbewegen, ändert sich wieder die Ausgabe des Sensors. Diese Änderung wird erneut von unserer Interrupt-Anweisung bemerkt und daher wird die Variable "state" von 1 auf 0 geändert. Somit wird die LED ausgeschaltet. Dies wird jedes Mal wiederholt, wenn Sie einen Magneten in die Nähe des Sensors bringen.
Das vollständige Arbeitsvideo des Projekts finden Sie unten. Ich hoffe, Sie haben das Projekt verstanden und es genossen, etwas Neues zu bauen. Wenn nicht, nutzen Sie bitte den Kommentarbereich unten oder die Foren, um Hilfe zu erhalten.