Laserempfänger – ESP32 Tutorial

 


 

Einleitung

In diesem Artikel zeigen wir dir Schritt für Schritt, wie du einen Laserempfänger mit einem ESP32 verbindest und in der Arduino IDE programmierst. Du lernst, welche Komponenten du dafür benötigst, wie der Schaltungsaufbau aussieht, erhältst eine detaillierte Code-Erklärung und siehst, wie du die Anwendung umsetzt. Am Ende dieses Tutorials bist du in der Lage, deinen eigenen Laserempfänger erfolgreich mit dem ESP32 zu nutzen.

 

 

Verschaltung

Teile

1x ESP32
1x Laserempfänger
3x Verbindungskabel

Bibliotheken

Code

 

 



 

Übersicht – Laserempfänger + ESP32

Für dieses Projekt benötigst du nicht viel. Hier ist eine kleine Einkaufsliste, damit du direkt loslegen kannst:
1x ESP32
1x Laserempfänger
3x Verbindungskabel (Dupont-Kabel)
Mit diesen wenigen Komponenten hast du schon alles beisammen, um den Laserempfänger erfolgreich mit deinem ESP32 zu verbinden und erste Messungen durchzuführen. Es ist ein großartiges Einsteigerprojekt, um die Grundlagen der Mikrocontroller-Programmierung zu lernen und zu verstehen, wie du externe Sensoren auslesen kannst.

 



 

Pinout – Laserempfänger

Dein Laserempfänger ist super einfach anzuschließen, da er nur über drei grundlegende Pins verfügt. Diese Pins sind entscheidend für die Stromversorgung und die Ausgabe des Sensorsignals an deinen ESP32.
Hier ist eine kurze Übersicht der Pins deines Laserempfängers:

GND: Dies ist der Masseanschluss, den du mit GND am ESP32 verbindest.
OUT: Über diesen Pin erhältst du das Signal des Laserempfängers. Er wird mit einem digitalen Eingangspin des ESP32 verbunden.
VCC: Dies ist der Versorgungsspannungsanschluss, der mit 3.3V oder 5V am ESP32 verbunden wird, je nachdem, welche Spannung dein Laserempfänger benötigt.

Die rote LED signalisiert die Spannungsversorgung des Moduls. Zudem befinden sich auf dem Modul ein Filterkondensator, ein Pull-Up Widerstand und ein Vorwiderstand für die LED.

 



 

Hardware Aufbau / Verkabelung / Schaltungsaufbau

Der Aufbau der Schaltung ist unkompliziert und schnell erledigt. Verbinde den GND-Pin deines ESP32 mit dem GND-Pin des Laserempfängers. Anschließend schließt du den OUT-Pin des Laserempfängers an den D15-Pin des ESP32 an. Zuletzt verbindest du den 3,3V-Pin deines ESP32 mit dem VCC-Pin des Laserempfängers, um diesen mit Strom zu versorgen.

ESP32 GND → Laserempfänger GND-Pin

ESP32 D15 → Laserempfänger OUT-Pin

ESP32 3,3V → Laserempfänger VCC-Pin

Eine sorgfältige und korrekte Verdrahtung ist entscheidend, damit der ESP32 die Signale deines Laserempfängers ordnungsgemäß erfassen kann. Wenn du diese Verbindungen erfolgreich hergestellt hast, bist du bereit, mit der Programmierung fortzufahren. Im nächsten Abschnitt werden wir ausführlich darauf eingehen, wie du die Bibliothek einbindest und den Code für deinen Laserempfänger programmierst.

 

Software Programmierung

Sobald der Hardware-Aufbau erfolgreich abgeschlossen ist, widmen wir uns der Arduino-Programmierung. In diesem Abschnitt behandeln wir ausführlich die essenziellen Schritte zur Codeerstellung und erläutern die Schlüsselfunktionen, die du verwenden wirst.

 

Schritt 1: IDE Projekt
Beginne damit, die Arduino-IDE zu öffnen und ein neues Projekt zu erstellen. Falls du die Arduino-IDE noch nicht installiert hast, findest du unter folgendem Link eine Anleitung dazu:
>
Nachdem die Arduino-IDE geöffnet ist, erstellst du ein neues Projekt, indem du auf „Datei“ und dann auf „Neu“ klickst. Dies öffnet ein neues Sketch-Fenster, in das du deinen Code eingeben kannst.


// Hier kommt dein Code
void setup(){
  // Initialisierung
}

void loop(){
  // Schleife
}

 

Schritt 2: Bibliothek einbinden
Für dieses spezielle Projekt ist keine separate Bibliothek erforderlich, da wir direkt auf die digitalen Pins zugreifen. Normalerweise würdest du unter „Sketch“, „Bibliothek einbinden“ und dann „Bibliotheken verwalten…“ nach Bibliotheken suchen. Nur so erhältst du die erforderlichen Funktionen, um Sensordaten zu erfassen und auszulesen.

 

Schritt 3: Initialisierung
Vor dem void setup() Bereich definieren wir globale Variablen und Konstanten, die im gesamten Programm verwendet werden. In diesem Fall legen wir den Pin fest, an den der Laserempfänger angeschlossen ist. Die Variable value wird initialisiert, um den Zustand des Sensors zu speichern.


#define sensor 15 //Pin D15

bool value = 0;

 

Schritt 4: Void Setup
Im void setup() Block werden alle Initialisierungen vorgenommen, die nur einmal beim Start des ESP32 ausgeführt werden sollen. Hier starten wir die serielle Kommunikation, damit du die Ausgaben des ESP32 im seriellen Monitor sehen kannst. Außerdem definieren wir den Pin, an dem der Laserempfänger angeschlossen ist, als Eingang (INPUT), da er Daten an den ESP32 sendet.


void setup() {
  Serial.begin(9600); // Serielle Kommunikation initialisieren - 9600 bits pro Sekunde
  pinMode(sensor, INPUT); // Als Input definiert
}

 

Schritt 5: Loop Setup
Der void loop() Block enthält den Code, der sich kontinuierlich wiederholt, solange der ESP32 eingeschaltet ist. Hier lesen wir den Wert des Laserempfängers aus und speichern ihn in der value-Variablen. Anschließend überprüfen wir diesen Wert: Ist er LOW (0), bedeutet das, dass kein Laser detektiert wurde. Ist er HIGH (1), wurde ein Laser erfolgreich erkannt. Die entsprechenden Meldungen werden dann über den seriellen Monitor ausgegeben.


void loop() {
  value = digitalRead(sensor); // Wert des Sensors auslesen und in die Variable value eintragen

  if (value == 0) {
    Serial.println("LOW"); // Laser nicht detektiert
  } else {
    Serial.println("HIGH"); // Laser  detektiert
  }
}

 

Gesamter Code

Hier ist zur besseren Übersicht der gesamte Programmier-Code zusammengefasst:


#define sensor 15 //Pin D15

bool value = 0;

void setup() {
  Serial.begin(9600); // Serielle Kommunikation initialisieren - 9600 bits pro Sekunde
  pinMode(sensor, INPUT); // Als Input definiert
}

void loop() {
  value = digitalRead(sensor); // Wert des Sensors auslesen und in die Variable value eintragen

  if (value == 0) {
    Serial.println("LOW"); // Laser nicht detektiert
  } else {
    Serial.println("HIGH"); // Laser  detektiert
  }
}

 

Ausführung / Anwendung

Nachdem du den Code in die IDE eingegeben hast, muss dieser noch ausgeführt und auf den ESP32 übertragen werden.
Dazu gehst du wie folgt vor:

Schritt 1: Kompilieren
Klicke auf das Häkchen-Symbol (oder „Sketch“ > „Kompilieren/Verifizieren“) in der Arduino-IDE. Dieser Schritt prüft deinen Code auf Fehler.

Schritt 2: Hochladen
Nach erfolgreicher Kompilierung klickst du auf das Pfeil-Symbol (oder „Sketch“ > „Hochladen“). Dadurch wird der Code auf deinen ESP32 übertragen. Stelle sicher, dass der richtige Port und das richtige Board in den Tools ausgewählt sind.

Schritt 3: Serieller Monitor öffnen
Nachdem der Code erfolgreich hochgeladen wurde, öffne den seriellen Monitor in der Arduino-IDE (Lupe-Symbol oben rechts). Stelle sicher, dass die Baudrate auf 9600 eingestellt ist, wie im Code definiert.

Schritt 4: Beobachtung der Ausgabe
Auf dem seriellen Monitor wird dir nun der Status des Laserempfängers angezeigt. Wenn der Laser nicht detektiert wird, siehst du „LOW“. Sobald der Laser detektiert wird, erscheint „HIGH“.

 

Mögliche Fehler

Gegebenenfalls wird in der Ausgabe immer ein “High” ausgegeben. Unabhängig davon, ob der Laser auf den Detektor gerichtet wird oder nicht. Die Ursache dieses Fehlers ist möglicherweise, dass das Umgebungslicht zu hell ist und der Laserempfänger dieses als Laser interpretiert. Versuche den Raum abdunkeln und den Versuch zu wiederholen. Normalerweise sollte der Detektor bereits bei gedämmtem Umgebungslicht funktionieren (es muss nicht komplett dunkel sein).

 

Weitere Themen


Mikrocontroller - ESP32 - ESP - Arduino - Programmierung - Code  - Software - Programm -  - Laser-Modul KY-008 - ESP32 - Laser - empfänger - Laserempfänger - Receiver

Laser-Modul KY-008 – ESP32


Mikrocontroller - ESP32 - ESP - Arduino - Programmierung - Code  - Software - Programm -  - Ultraschallsensor - ESP32 - Laser - empfänger - Laserempfänger - Receiver

Ultraschallsensor – ESP32


Mikrocontroller - ESP32 - ESP - Arduino - Programmierung - Code  - Software - Programm -  - BME280 - ESP32 - Laser - empfänger - Laserempfänger - Receiver

BME280 – ESP32