Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

3.1 Rückfahrhilfe

Überblick

Mit der Entwicklung von Wissenschaft und Technologie wurden viele Hightech-Produkte in Autos eingebaut, darunter das Rückfahrassistenzsystem. Hier verwenden wir Ultraschallsensoren, LCD, LED und Summer, um ein einfaches Ultraschall-Rückfahrassistenzsystem herzustellen.

Erforderliche Komponenten

../_images/Part_three_1.png

Fritzing-Schaltung

In diesem Beispiel ist die Verdrahtung unten dargestellt.

../_images/image264.png

Schematische Darstellung

../_images/image265.png

Code

Bemerkung

  • Sie können die Datei 3.1_reversingAid.ino unter dem Pfad sunfounder_vincent_kit_for_arduino\code\3.1_reversingAid direkt öffnen.

  • Oder kopieren Sie diesen Code in Arduino IDE.

  • Die LiquidCrystal I2C-Bibliothek wird hier verwendet. Sie können sie über den Library Manager installieren.

    ../_images/lib_liquidcrystal_i2c.png

Code-Analyse

Dieser Code hilft uns, ein einfaches Distanzmessgerät zu erstellen, das die Entfernung zwischen Objekten messen kann und Feedback über ein LCD-Display und einen Summer gibt.

Die Funktion loop() enthält die Hauptlogik des Programms und läuft kontinuierlich. Werfen wir einen genaueren Blick auf die loop() Funktion.

  1. Schleife zur Distanzmessung und Aktualisierung der Parameter

    Innerhalb der loop liest der Code zuerst die vom Ultraschallmodul gemessene Entfernung und aktualisiert den Intervallparameter basierend auf dieser Entfernung.

    // Update the distance
    distance = readDistance();
    
    // Update intervals based on distance
    if (distance <= 10) {
        intervals = 300;
    } else if (distance <= 20) {
        intervals = 500;
    } else if (distance <= 50) {
        intervals = 1000;
    } else {
        intervals = 2000;
    }
    
  2. Überprüfen, ob es Zeit zum Piepen ist

    Der Code berechnet die Differenz zwischen der aktuellen Zeit und der letzten Piepzeit. Wenn die Differenz größer oder gleich der Intervallzeit ist, wird der Summer ausgelöst und die letzte Piepzeit aktualisiert.

    unsigned long currentMillis = millis();
    if (currentMillis - previousMillis >= intervals) {
        Serial.println("Piepen!");
        beep();
        previousMillis = currentMillis;
    }
    
  3. LCD-Display aktualisieren

    Der Code löscht das LCD-Display und zeigt dann „Dis:“ und die aktuelle Entfernung in Zentimetern in der ersten Zeile an.

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Dis: ");
    lcd.print(distance);
    lcd.print(" cm");
    
    delay(100);