Ent­fer­nun­gen LCD

# include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);

// Pins für Senden/Empfangen definieren
# define SENDEN 9
# define ECHO 8

// Variable für Zeit und Entfernung initialisieren 
long Zeit;
long Entfernung;

void setup() 
{ 
  pinMode(SENDEN, OUTPUT); 
  pinMode(ECHO, INPUT); 

  // LCD starten
  lcd.init();
  lcd.backlight();
}

void loop() 
{  
  // Sender kurz ausschalten um Störungen des Signals zu vermeiden   
  digitalWrite(SENDEN, LOW);
  delay(10); 

  // Signal für 10 Mikrosekunden senden 
  digitalWrite(SENDEN, HIGH); 
  delayMicroseconds(10);

  // Sender ausschalten
  digitalWrite(SENDEN, LOW); 

  // pulseIn -> Zeit messen, bis das Signal zurückkommt 
  Zeit = pulseIn(ECHO, HIGH);

  /*
    Entfernung in cm berechnen   
    Zeit/2 -> nur eine Strecke soll berechnet werden      
    Umrechnung in cm  
  */ 
  Entfernung = (Zeit / 2) * 0.03432;   

  // 400 cm ist die maximal messbare Entfernung 
  if (Entfernung < 400) 
  {  
    // Ausgabe auf dem LCD  
    lcd.setCursor(0, 0);
    lcd.print("Entfernung messen");
    lcd.setCursor(0, 1);
    lcd.print("--------------------");
    lcd.setCursor(0, 2);
    lcd.print("Entfernung: ");
    lcd.print(Entfernung);
    lcd.print(" cm   ");
    delay(1000);
  }
}

Letzte Aktualisierung: 30. Jan 2023 @ 11:29