Arduino Nano - Hindernissensor

Dieses Tutorial erklärt dir, wie man den Arduino Nano mit dem Infrarot-Hindernisvermeidungssensor verwendet. Im Detail werden wir lernen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×IR-Hinderniserkennungssensor
1×(Alternativ) TCRT5000 Obstacle Avoidance Sensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 Infrarot-Hinderniserkennungssensor

Der Infrarot-Hindernissensor wird verwendet, um das Vorhandensein jeglicher Barriere vor dem Modul mittels des Infrarotsignals zu erkennen. Sein Erkennungsbereich liegt zwischen 2 cm und 30 cm und kann mit einem eingebauten Potentiometer eingestellt werden.

Die Pinbelegung des Infrarot-Hinderniserkennungssensors

Der Infrarot-Hinderniserkennungssensor hat drei Pins:

  • GND-Pin: muss mit GND (0 V) verbunden werden
  • VCC-Pin: muss mit VCC (5 V oder 3,3 V) verbunden werden
  • OUT-Pin: ist ein Ausgabepin – es wird LOW sein, wenn ein Hindernis erkannt wird und HIGH, wenn kein Hindernis vorhanden ist. Dieser Pin muss mit einem Eingangspin des Arduino Nano verbunden werden.
IR-Hinderniserkennungssensor Pinbelegung

Wie es funktioniert

Das Infrarot-Hindernis-Sensor-Modul enthält einen IR-Sender und einen IR-Empfänger. Der Sender emittiert das IR-Signal. Der Empfänger sucht nach dem reflektierten IR-Signal, um festzustellen, ob ein Objekt vorhanden ist oder nicht. Der Ausgangspin des Sensors zeigt das Vorhandensein eines Hindernisses an:

  • Wenn sich ein Hindernis vor dem Sensor befindet, wird der OUT-Pin auf LOW gesetzt
  • Wenn sich kein Hindernis vor dem Sensor befindet, wird der OUT-Pin auf HIGH gesetzt

※ Notiz:

Der Sensor kann während des Versands verformt werden, was zu Fehlfunktionen führen kann. Wenn der Sensor nicht ordnungsgemäß funktioniert, justieren Sie den Infrarot-Sender und den Infrarot-Empfänger, damit sie zueinander parallel ausgerichtet sind.

Verdrahtungsdiagramm

Arduino Nano IR-Hindernisvermeidungssensor Verdrahtungsdiagramm

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

So programmieren Sie einen IR-Hindernisvermeidungssensor

  • Initialisiert den Pin des Arduino Nano in den digitalen Eingangsmodus, indem die pinMode() Funktion verwendet wird. Beispielsweise D2:
pinMode(2, INPUT_PULLUP);
  • Verwendet die digitalRead() Funktion, um den Zustand des Arduino Nano-Pins zu lesen.
int state = digitalRead(2);

Arduino Nano Code

Für die Programmierung einer Hindernisvermeidungsanwendung gibt es zwei Methoden:

  • Maßnahmen ergreifen oder nicht, wenn ein Hindernis vorhanden ist oder fehlt
  • Maßnahmen ergreifen oder nicht, wenn ein Hindernis erkannt wird oder entfernt wird

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

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano 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

  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code an den Arduino Nano zu senden.
  • Platzieren Sie für eine bestimmte Zeit ein Hindernis vor dem Sensor und nehmen Sie es danach wieder weg.
  • Überprüfen Sie das Ergebnis im seriellen Monitor.
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-Code zur Hinderniserkennung

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of 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 Arduino Nano 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

  • Kopiere den Code und öffne ihn mit der Arduino IDE.
  • Klicke auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Platziere eine Barriere vor dem Sensor für eine Weile, dann entferne sie.
  • Schau dir das Ergebnis im Serial Monitor an.
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.

Funktionsreferenzen

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!