Arduino‑Code und Video: Hallsensor‑Modul
In diesem Tutorial zeigen wir, wie man ein Hall-Sensor-Modul mit einem Arduino verwendet, um Magnetfelder zu erkennen. Der Hall-Sensor dient dazu, beim Auftreten eines Magnetfelds eine Aktion auszulösen, und wir geben die Ergebnisse im Serial Monitor aus. Das Ergebnis ist eine einfache, aber effektive Möglichkeit, Magnetsensorik in deine Projekte zu integrieren und bildet eine Grundlage, die du weiter ausbauen kannst. Für detailliertere Erklärungen solltest du dir unbedingt das Video ansehen (im Video bei 00:00).


Hardware erklärt
Das Hall-Sensor-Modul ist dazu entwickelt, Magnetfelder zu erkennen und wird häufig in verschiedenen Anwendungen eingesetzt, unter anderem zur Näherungserkennung und zur Geschwindigkeitsmessung. Wenn ein Magnetfeld vorhanden ist, gibt der Sensor ein Signal aus, das vom Arduino gelesen werden kann. Dadurch kann der Arduino feststellen, wenn sich ein Objekt mit einem Magnetfeld in der Nähe befindet.
In diesem Projekt verwenden wir außerdem einen Summer als Aktor. Wenn der Hallsensor ein Magnetfeld erkennt, aktiviert das Arduino-Board den Summer, um einen hörbaren Alarm zu geben. Die grundlegenden beteiligten Komponenten sind der Hallsensor, das Arduino-Board und der Summer.
Datenblatt-Details
| Hersteller | Honeywell |
|---|---|
| Teilenummer | SS495A1 |
| Logik-/I/O-Spannung | 4,5 - 10 V |
| Versorgungsspannung | 4.5 - 10 V |
| Ausgangsstrom (je Kanal) | 20 mA max |
| Spitzenstrom (pro Kanal) | max. 50 mA |
| Leitfaden zur PWM-Frequenz | nicht zutreffend |
| Eingangslogik-Schwellenwerte | 0,7 V (hoch), 0,3 V (niedrig) |
| Spannungsabfall / RDS(on)/ Sättigung | 0,4 V max. |
| Thermische Grenzwerte | -40 bis +85 °C |
| Paket | TO-92 |
| Notizen / Varianten | In verschiedenen Empfindlichkeiten erhältlich. |
- Stellen Sie eine ordnungsgemäße Stromversorgung innerhalb des angegebenen Spannungsbereichs sicher.
- Achten Sie auf die Grenzwerte des Ausgangsstroms, um das Modul nicht zu beschädigen.
- Verwenden Sie bei Bedarf einen Pull-up-Widerstand für stabile Messwerte.
- Halten Sie den Sensor von starken elektromagnetischen Feldern fern, die Störungen verursachen können.
- Kalibrieren Sie den Sensor entsprechend den spezifischen Anforderungen der Anwendung.
Verdrahtungsanleitung


Um das Hall-Sensor-Modul mit dem Arduino zu verkabeln, beginnen Sie damit, die Anschlüsse des Sensors zu verbinden.VCCPin an den Arduino5VStift für die Stromversorgung. Als Nächstes verbinden Sie dasGNDPin zum ArduinoGNDPin, um den Stromkreis zu schließen. Der Ausgangspin des Hallsensors, typischerweise gekennzeichnet alsOUT, sollte an einen digitalen Pin angeschlossen werden2Auf dem Arduino.
Für den Summer verbinden Sie den positiven Anschluss mit dem digitalen Pin.8am Arduino, und schließen Sie den Minuspol an denGND. Diese Konfiguration ermöglicht es dem Arduino, den Ausgang des Sensors auszulesen und den Summer zu aktivieren, wenn ein magnetisches Feld erkannt wird.
Codebeispiele & Schritt-für-Schritt-Anleitung
Der folgende Code initialisiert den Hallsensor und den Summer. Er definiert die Pins für den Sensor und die Aktion. Die Hauptschleife liest den Sensorstatus und aktiviert den Summer entsprechend.

#define DETECT 2 // pin 2 for sensor
#define ACTION 8 // pin 8 for action to do something
void setup() {
Serial.begin(9600);
pinMode(DETECT, INPUT); // define detect input pin
pinMode(ACTION, OUTPUT); // define ACTION output pin
}
In diesem Code, derDETECTVariable ist einem Pin zugewiesen.2, das zum Auslesen des Sensors verwendet wird. DasACTIONDie Variable wird einem Pin zugewiesen.8, wo der Summer angeschlossen ist. Die setup-Funktion initialisiert die serielle Kommunikation und setzt die Pin-Modi.
void loop() {
int detected = digitalRead(DETECT); // read Hall sensor
if (detected == LOW) {
digitalWrite(ACTION, HIGH); // set the buzzer ON
Serial.println("Detected!");
} else {
digitalWrite(ACTION, LOW); // Set the buzzer OFF
Serial.println("Nothing");
}
delay(200);
}
Dieser Teil des Codes überprüft kontinuierlich den Status des Hallsensors. Wenn der Sensor ein Magnetfeld erkennt (wenndetectedistLOW), schaltet den Summer EIN und gibt "Erkannt!" im seriellen Monitor aus. Wenn kein Feld erkannt wird, schaltet er den Summer AUS und gibt "Nichts" aus.


Demonstration / Was Sie erwartet
Wenn Sie den Code ausführen, überwacht das Arduino ständig den Hallsensor auf ein Magnetfeld. Wird ein Magnetfeld erkannt, ertönt der Summer und im Serial Monitor wird "Detected!" ausgegeben. Ist kein Magnetfeld vorhanden, bleibt der Summer aus und "Nothing" wird angezeigt. Seien Sie beim Verdrahten vorsichtig, um verpolte Verbindungen zu vermeiden, da dies zu einem Ausfall der Erkennung führen kann (im Video bei 06:15).
Video-Zeitstempel
- 00:00- Einführung in das Hallsensor-Modul
- 02:30- Erläuterung der Verkabelung
- 05:00- Code-Durchgang
- 08:15- Demonstration
/*
* This is the Arduino code for a Hall Sensor module for Arduino.
// Written for Robojax.com video
* A Hall sensor switch will detect the magnetic field, and the module is used to trigger something.
* Watch the video for details: https://youtu.be/QH1Lw9BwTJI
* Code is available at: http://robojax.com/learn/arduino
*
Written by Ahmad Nejrabi for Robojax.com
on January 28, 2018 at 19:41 in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*/
/*
*/
// Hall Sensor code for Robojax.com
#define DETECT 2 // pin 2 for sensor
#define ACTION 8 // pin 8 for action to do something
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com Hall Module Test");
pinMode(DETECT, INPUT);//define detect input pin
pinMode(ACTION, OUTPUT);//define ACTION output pin
// Flame sensor code for Robojax.com
}
void loop() {
// Hall Sensor code for Robojax.com
int detected = digitalRead(DETECT);// read Hall sensor
int detectedAn = analogRead(A0);// read flame analog value
if( detected == LOW)
{
digitalWrite(ACTION,HIGH);// set the buzzer ON
Serial.println("Detected!");
// Serial.println(detectedAn);// print analog value
}else{
digitalWrite(ACTION,LOW); // Set the buzzer OFF
Serial.println("Nothing");
// Hall Sensor code for Robojax.com
}
delay(200);
}
Dinge, die Sie vielleicht brauchen
-
Amazon
Ressourcen & Referenzen
-
ExternHall-Sensor-Datenblatt (PDF)elecrow.com
Dateien📁
Keine Dateien verfügbar.