ESP32 und 2 Reed Sensoren

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 Modul
  • GPIO Jumper Kabel
  • ein Kabel zum Anschließen des ESP32 an den PC (Micro-USB)
  • (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);
}

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. 4oder 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);
}

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

Jan

Jan

Ich bin Jan und ich freue mich, dass Du meinen Blog gefunden hast. Ich blogge in meiner Freizeit über Smart Home, 3D Druck und Technik und versuche, Dir mit meinen Beiträgen möglichst gut zu helfen.

Alle Beiträge ansehen von Jan →

Schreibe einen Kommentar

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