Melo­dien spielen

# define SENDEN 9
# define ECHO 8
# define LAUTSPRECHER 7

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

void setup() 
{ 
  Serial.begin(9600); 

  // auf serielle Verbindung warten
  while (!Serial) {;}

  pinMode(SENDEN, OUTPUT); 
  pinMode(ECHO, INPUT); 
} 

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;   

  if (Entfernung < 20) 
  {  
    // Ausgabe auf dem Seriellen Monitor 
    Serial.print ("Entfernung: ");     
    Serial.print(Entfernung); 
    Serial.println(" cm"); 
    delay(500);  
    tone(LAUTSPRECHER, map(Entfernung, 1, 20, 200, 1000), 500);
  }
}

Letzte Aktualisierung: 25. Jul 2023 @ 18:21