Reed Sensor Modul am ESP32

In diesem Artikel zeige ich dir, wie du einen Reed-Magnetsensor am ESP32 anschließen und verwenden kannst. Als kleines Beispielprojekt zeige ich dir, wie du eine LED leuchten lassen kannst, wenn der Kontakt unterbrochen wurde.

Reed Sensoren sind Schalter, welche bei Kontakt mit einem Magneten entweder geschlossen oder geöffnet sind. In diesem Beitrag werde ich solche benutzen, die bei Kontakt geschlossen sind, grundsätzlich funktionieren aber beide Arten gleich.

Was du dafür benötigst:

  • einen ESP32
  • ein Breadboard
  • einen Reed Sensor
  • GPIO Jumper Kabel
  • ein Micro USB Kabel
  • (einen PC)

Für den Nachbau des Beispielprojektes brauchst du eventuell noch:

  • eine LED
  • einen passenden Vorwiderstand

Sensor anschließen

Es gibt zwei verschiedene Sensor-Module. Bei dieser Anleitung ist egal, welche du benutzt. Achte lediglich darauf, dass wenn du den großen roten Sensor, wie unten auf dem Bild zu sehen, benutzt, du den digitalen Output-Pin benutzt, nicht den analogen.

Der Sensor hat 3 GPIO Pins: VCC, Data (oder Signal) und GND. Schließe nun VCC an 5V, Data (oder Signal) an z.B. GPIO 4 oder GPIO 5 an und verbinde GND mit GND, wie in den Bildern unten zu sehen ist.

Testaufbau für den Sensor

Damit ist der Sensor am ESP32 angeschlossen und du kannst mit der Software fortfahren.

Software

Um den Sensor zu verwenden, brauchst du das passende Skript. Zum erstellen und Hochladen auf den ESP32 empfehle ich dir die Arduino-IDE. Lade diese herunter und installiere sie. Erstelle jetzt ein neues Skript. Füge zum Testen folgenden Code ein:

int reedPin = 5;
 
void setup() {
 Serial.begin(115200);
 pinMode(reedPin, INPUT);
}
 
void loop() {
 int s = digitalRead(reedPin);
 Serial.print(s);
}
Code-Sprache: Arduino (arduino)

Die Nummer des Pins (ganz oben) musst du selbstverständlich noch ändern, wenn du einen anderen verwendest also z.B. “int pirPin = 4;“. Öffne nun den Seriellen Monitor mit der Baudrate 115200. 

Schließe jetzt den ESP32, mit dem angeschlossenen Sensor, an den PC an. Du kannst das Skript jetzt auf den Mikrocontroller hochladen.

Arduino IDE zum Hochladen des Sketches

Jetzt schreibt der serielle Monitor eine 1, wenn der Sensor unterbrochen wurde und eine 0, wenn nicht.

Beispielprojekt

Um das ein bisschen besser zu visualisieren, kannst du eine LED an den ESP32 anschließen, welche dann leuchten soll, wenn der Magnet entfernt wurde.

Schließe die LED dafür an einen freien GPIO Pin an, z.B. 4 oder 5.

Jetzt der Code:

int reedPin = 5;
int ledPin = 4;
 
void setup() {
 Serial.begin(115200);
 pinMode(reedPin, INPUT);
 pinMode(ledPin, OUTPUT);
}
 
void loop() {
 int s = digitalRead(reedPin);
 digitalWrite(ledPin, s);
 Serial.print(s);
}
Code-Sprache: Arduino (arduino)

Ich hoffe, dass ich dir mit diesem Artikel weiterhelfen konnte. Schreibe gerne deine Projekte mit einem Reed-Kontakt in die Kommentare ;-).

Hinweis: Mit Sternchen (*) markierte Links auf dieser Seite sind Werbelinks. Beim Kauf darüber erhalte ich eine kleine Provision, der Preis bleibt für dich aber gleich. Damit unterstützt du mich, sodass ich weiterhin kostenlosen Inhalt auf diesem Blog anbieten kann ;-).

Hast du Fragen, Anregungen oder einen einfachen Kommentar dazu? Dann poste es hier!

Bitte bedenke, dass alle Kommentare manuell freigeschaltet werden müssen. Das kann teilweise ein bisschen dauern, du kannst dich aber mit der unten aufgeführten Funktion benachrichtigen lassen, wenn er beantwortet wurde. Das heißt auch, dass Beleidigungen, Spam oder pure Werbung keine Chance haben, auf die Website zu kommen. Deine Email-Adresse wird selbstverständlich nicht veröffentlicht. Erforderliche Felder sind mit * oder (erforderlich) markiert.