Arduino-Code und Video: 4-Kanal-Infrarot-Hindernissensor für Arduino Smart Car

Arduino-Code und Video: 4-Kanal-Infrarot-Hindernissensor für Arduino Smart Car

In diesem Tutorial werden wir erkunden, wie man ein 4-Kanal-Infrarot-Hindernisvermeidungs-Sensormodul verwendet, um ein intelligentes Fahrzeug zu bauen. Dieses Modul besteht aus vier Infrarotsensoren, die Hindernisse in verschiedenen Richtungen erkennen können, sodass Ihr Roboterfahrzeug entsprechend reagiert. Jeder Sensor liefert Rückmeldungen zur Nähe und ermöglicht es Ihnen, Reaktionen basierend auf den erkannten Hindernissen zu programmieren.

Im Verlauf dieses Projekts stellen wir die Hardwarekomponenten, die Verdrahtungsanleitungen und den Code vor, die erforderlich sind, um die Sensoren effektiv zu betreiben. Weitere Erläuterungen finden Sie im Video (im Video bei 00:00).

Hardware erklärt

Die Hauptkomponente dieses Projekts ist das 4-Kanal-Infrarot-Hindernisvermeidungsmodul, das den LM339-Vierfach-Differentialkomparator verwendet. Dieser IC kann im Bereich von 2 bis 36 Volt betrieben werden, aber in unserem Fall verwenden wir 5 Volt, um mit dem Arduino kompatibel zu sein. Jeder Sensor im Modul verfügt über einen invertierenden und einen nicht-invertierenden Eingang, sodass er das von Hindernissen reflektierte Infrarotlicht vergleichen und entsprechend ein Signal ausgeben kann.

Das Modul ist mit Pull-up-Widerständen ausgestattet, die den Ausgang auf HIGH halten, wenn kein Hindernis erkannt wird. Wenn ein Objekt erkannt wird, geht der Ausgang auf LOW und liefert ein klares Signal an den Arduino. Zusätzlich verfügt das Modul über LEDs, die das Erkennen eines Hindernisses anzeigen und so die Rückmeldung für den Benutzer während des Betriebs verbessern.

Datenblatt-Details

HerstellerUnbekannt
Teilenummer4-Kanal-Infrarot-Hindernisvermeidung
Logik-/I/O-Spannung5 V
Versorgungsspannung2–36 V
Ausgangsstrom (pro Kanal)10 mA (typ.)
Spitzenstrom (je Kanal)20 mA (max.)
Hinweise zur PWM-FrequenzNicht zutreffend
Eingangslogik-SchwellwerteNIEDRIG < 0,8 V, HOCH > 2,0 V
Spannungsabfall / RDS(eingeschaltet)/ Sättigung0,2 V (typ.)
Thermische GrenzwerteBetriebstemperatur: -40 bis 125 °C
PaketModul
Notizen / VariantenBeinhaltet 4 Sensoren mit einstellbarer Empfindlichkeit.

  • Verwenden Sie eine gemeinsame Masse für alle Komponenten, um schwebende Eingänge zu vermeiden.
  • Stellen Sie das Empfindlichkeits-Potentiometer für einen optimalen Erfassungsbereich ein.
  • Achten Sie auf die richtige Versorgungsspannung, um Schäden an den Sensoren zu vermeiden.
  • Überprüfen Sie die Kabelverbindungen, um Fehlablesungen der Sensoren zu verhindern.
  • Verwenden Sie Entkopplungskondensatoren, um die Versorgungsspannung der Sensoren zu stabilisieren.
  • Testen Sie jeden Sensor einzeln, bevor Sie ihn in das Hauptsystem integrieren.

Verdrahtungsanleitung

Um das 4-Kanal-Infrarot-Hindernisvermeidungsmodul mit dem Arduino zu verkabeln, beginnen Sie damit, die Stromversorgung und die Masse anzuschließen. Verbinden Sie den VCC-Pin des Sensormoduls mit dem 5V-Ausgang am Arduino. Verbinden Sie dann den GND-Pin des Moduls mit der Masse (GND) am Arduino. Dadurch erhalten die Sensoren die notwendige Stromversorgung, um zu funktionieren.

Als Nächstes verbinden Sie die Ausgangspins der Sensoren mit den digitalen Eingangspins am Arduino. Zum Beispiel verbinden Sie den Ausgang des vorderen linken Sensors (bezeichnet alsN1) an digitalen Pin 2, der vordere rechte Sensor (N2) an Pin 3, der hintere linke Sensor (N3) an Pin 4 und der hintere rechte Sensor (N4) an Pin 5 anschließen. Zusätzlich können Sie den Bremsausgang an Pin 8, die vordere Hindernisanzeige an Pin 9 und die hintere Hindernisanzeige an Pin 10 anschließen. Stellen Sie sicher, dass alle Verbindungen sicher sind, um einen zuverlässigen Betrieb zu gewährleisten.

Codebeispiele und Schritt-für-Schritt-Anleitung

Der Arduino-Code beginnt damit, Konstanten für jeden Sensor-Pin zu definieren, um im gesamten Programm einfacher auf sie verweisen zu können. Zum Beispiel,FRONT_LEFTist als Pin 2 definiert, wodurch klar wird, welcher Sensor welchem Pin entspricht.

#define FRONT_LEFT 2 // pin 2 for front-left sensor
#define FRONT_RIGHT 3 // pin 3 for front-right sensor
#define REAR_LEFT 4 // pin 4 for rear-left sensor
#define REAR_RIGHT 5 // pin 5 for rear-right sensor

In demsetup()Funktion, jeder Sensor-Pin wird als Eingang mithilfe vonpinMode(). Dieser Aufbau ermöglicht dem Arduino, die Zustände der Sensoren während des Betriebs auszulesen.

void setup() {
  Serial.begin(9600);
  pinMode(FRONT_LEFT, INPUT);
  pinMode(FRONT_RIGHT, INPUT);
  pinMode(REAR_LEFT, INPUT);
  pinMode(REAR_RIGHT, INPUT);
}

In der Hauptschleife wird der Zustand jedes Sensors mithilfe vondigitalRead(). Wenn ein Hindernis erkannt wird (angezeigt durch ein LOW-Signal), wird die entsprechende Hindernis-LED aktiviert und eine Nachricht an den seriellen Monitor ausgegeben.

void loop() {
  int FR = digitalRead(FRONT_RIGHT);
  int FL = digitalRead(FRONT_LEFT);
  
  if( FR == LOW || FL == LOW) {
    digitalWrite(FRONT_OB,HIGH);
    Serial.println("Front obstacle");
  } else {
    digitalWrite(FRONT_OB,LOW);
  }
}

Diese Code-Struktur ermöglicht eine einfache Erweiterung und Modifikation und erlaubt es Ihnen, die Antworten an die spezifischen Bedürfnisse Ihrer Anwendung anzupassen. Den vollständigen Code finden Sie im folgenden Abschnitt zum Laden.

Demonstration / Was Sie erwartet

Sobald alles verkabelt ist und der Code hochgeladen wurde, sollten die LEDs am Modul aufleuchten, wann immer ein Hindernis von einem der Sensoren erkannt wird. Der serielle Monitor zeigt außerdem Meldungen an, die das Vorhandensein von Hindernissen vorne oder hinten anzeigen. Wenn die Sensoren richtig positioniert sind, reagiert das Smartcar wie programmiert, indem es anhält oder die Richtung ändert (im Video bei 02:30).

Zu den häufigen Fallstricken zählen fehlerhafte Verdrahtungen, die zu offenen Eingängen oder Fehlablesungen führen können. Stellen Sie sicher, dass die Sensoren richtig kalibriert sind und das Potentiometer auf die gewünschte Empfindlichkeit eingestellt ist. Das unabhängige Testen jedes Sensors kann helfen, Probleme vor der vollständigen Integration zu erkennen.

Video-Zeitstempel

  • 00:00- Einführung in das Projekt
  • 01:30- Erklärung der Hardware
  • 02:30- Code-Durchsicht
  • 03:45- Verdrahtungsanleitung
  • 04:50- Live-Demonstration

Bilder

4 channel infrared sensor module-6
4 channel infrared sensor module-6
4 channel infrared sensor module-1
4 channel infrared sensor module-1
4 channel infrared sensor module-3
4 channel infrared sensor module-3
4 channel infrared sensor module-
4 channel infrared sensor module-4
4 channel infrared sensor module-
4 channel infrared sensor module-5
60-This is the Arduino code for a 4-channel infrared obstacle sensor.
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.