#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: