Arduino Nano ESP32 - Hindernissensor

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano ESP32 mit dem Infrarot-Hinderniserkennungssensor verwenden, um das Vorhandensein des Hindernisses zu erkennen.

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×IR-Hinderniserkennungssensor
1×(Alternativ) TCRT5000 Obstacle Avoidance Sensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über IR-Hinderniserkennungssensor

Der IR-(Infrarot-)Hindernissensor dient dazu, festzustellen, ob sich vor dem Sensorsmodul ein Hindernis befindet, indem das IR-Signal genutzt wird. Der Erkennungsbereich liegt zwischen 2 cm und 30 cm und ist durch ein eingebautes Potentiometer verstellbar.

Pinbelegung

Ein IR-Hindernisvermeidungssensor hat drei Pins:

  • GND-Pin: Verbinde diesen Pin mit GND (0 V)
  • VCC-Pin: Verbinde diesen Pin mit VCC (5 V oder 3,3 V)
  • OUT-Pin: ist ein Ausgangspin: LOW, wenn ein Hindernis vorhanden ist, HIGH, wenn kein Hindernis vorhanden ist. Dieser Pin muss mit dem Eingangspin des ESP32 verbunden werden.
Pinbelegung des Infrarot-Hindernisvermeidungssensors

Wie es funktioniert

Ein Infrarot-Hinderniserkennungssensor-Modul besteht aus einem IR-Sender und einem IR-Empfänger. Der IR-Sender emittiert das IR-Signal, während der IR-Empfänger nach dem reflektierten IR-Signal sucht, um festzustellen, ob ein Objekt vorhanden ist oder nicht. Die Anwesenheit eines Hindernisses wird am OUT-Pin angezeigt:

  • Wenn das Hindernis vorhanden ist, ist der OUT-Pin des Sensors LOW
  • Wenn das Hindernis NICHT vorhanden ist, ist der OUT-Pin des Sensors HIGH

※ Notiz:

Während des Transports kann sich der Sensor verformen, was zu Fehlfunktionen führen kann. Wenn der Sensor nicht ordnungsgemäß funktioniert, justieren Sie den IR-Sender und den IR-Empfänger so, dass sie zueinander parallel ausgerichtet sind.

Verdrahtungsdiagramm

Arduino Nano ESP32 IR-Hindernisvermeidungssensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man einen IR-Hindernisvermeidungsensor programmiert

  • Initialisiert den Pin des Arduino Nano ESP32 auf den digitalen Eingangsmodus, indem die pinMode()-Funktion verwendet wird. Zum Beispiel Pin D2
pinMode(D2, INPUT_PULLUP);
  • Liest den Zustand des Arduino Nano ESP32-Pins mithilfe der Funktion digitalRead().
int state = digitalRead(D2);

Arduino Nano ESP32-Code

Es gibt zwei Anwendungsfälle zur Implementierung einer Hindernisvermeidungsanwendung:

  • Ergreife Maßnahmen, egal, ob das Hindernis vorhanden ist oder nicht.
  • Ergreife Maßnahmen, wenn das Hindernis erkannt wird oder beseitigt wird.

Arduino Nano ESP32-Code zur Überprüfung, ob ein Hindernis vorhanden ist

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano-esp32/arduino-nano-esp32-obstacle-sensor */ #define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to OUT pin of IR obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano ESP32 pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

Schnelle Schritte

  • Wenn Sie Arduino Nano ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet an.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren Sie den Code und laden Sie ihn auf das Arduino Nano ESP32-Board hoch, indem Sie in der Arduino IDE auf die Hochladen-Schaltfläche klicken.
  • Legen Sie für eine Weile ein Hindernis vor den Sensor und entfernen Sie es anschließend wieder.
  • Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht wie folgt aus:
COM6
Send
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino Nano ESP32-Code zur Hinderniserkennung

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano-esp32/arduino-nano-esp32-obstacle-sensor */ #define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to OUT pin of IR obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Schnelle Schritte

  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren Sie den Code und laden Sie ihn auf das Arduino Nano ESP32-Board hoch, indem Sie auf die Schaltfläche Hochladen in der Arduino IDE klicken.
  • Platzieren Sie für eine Weile ein Hindernis vor dem Sensor und entfernen Sie es anschließend wieder.
  • Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht wie folgt aus:
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!