Ent­fer­nun­gen LCD

#include "LCDIC2.h"

// 4-zeiliges Display
LCDIC2 lcd(0x27, 20, 4);

// 2-zeiliges Display
// LCDIC2 lcd(0x3f, 16, 2);

// 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.begin();

  // Cursor "verstecken"
  lcd.setCursor(false);
}

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;   

  // 200 cm ist die maximal messbare Entfernung 
  if (Entfernung < 200) 
  {  
    /*
      2-zeiliges LCD
      lcd.setCursor(0, 0);
      lcd.print("Entfernung: ");
      lcd.print(String(Entfernung));
      lcd.print(" cm    ");
    */

    // 4-zeiliges LCD
    lcd.setCursor(0, 0);
    lcd.print("Entfernung messen");
    lcd.setCursor(0, 1);
    lcd.print("--------------------");
    lcd.setCursor(0, 2);
    lcd.print("Entfernung: ");
    lcd.print(String(Entfernung));
    lcd.print(" cm    ");
    delay(1000);
  }
}

Letzte Aktualisierung: 1. Aug 2023 @ 20:20