Arduino mit Ultraschallsensor
// Dieses Programm programmiert den Arduino Ultraschallsensor. Mit diesem kann man Entfernungen messen:
//Wenn sich ein Gegenstand dem Ultraschallsensor nähert, wird ein Alarmton angeschaltet
int triggerPin=9; // Der Triggerpin des Sensors verläuft zu Pin 9
int echoPin=8; // Der Echopin des Sensors verläuft zu Pin 8
long messung=0; // Hier wird die Zeitdauer abgespeichert, welche die Ultraschallwelle benötigt
int entfernung=0; // Hier wird die Entfernung vom Hindernis abgespeichert
int buzzer=10;// Der Buzzerpin (Lautsprecher) verläuft zu Pin 10
void setup() {
Serial.begin(9600); // Kommunikation starten, um Werte am Monitor ablesen zu können
pinMode(triggerPin, OUTPUT); // Triggerpin als Ausgang definieren
pinMode(echoPin, INPUT); // Echopin als Eingang definieren
pinMode (buzzer, OUTPUT); //Buzzer als Output definieren
}
void loop() {
digitalWrite(triggerPin, LOW); // Strom beim Triggerpin abschalten, um ein rauschfreies Signal senden zu können
delayMicroseconds(2); // 2 Mikrosekunden warten
digitalWrite(triggerPin, HIGH); // Strom beim Triggerpin anschalten, um das Senden abzuschließen
delay(10); // 10 Millisekunden warten
digitalWrite(triggerPin, LOW); // Strom ausschalten, um den Vorgang abzuschließen
messung = pulseIn(echoPin, HIGH); // Die Zeit messen, bis die Ultraschallwelle zurückkommt
entfernung = (messung/2) / 29; // Die Zeit in den Weg umrechnen (in cm)
Serial.println (entfernung); //Gibt im seriellen Monitor die Entfernung an
delay (60); // Warte 60 Millisekunden
{
if (entfernung <= 100) // Wenn die Entfernung kleiner/gleich 100cm ist:
{
// Schalte Alarmton an
digitalWrite (buzzer, HIGH); // Ton an
delay(150); // Warte 150 Millisekunden
digitalWrite (buzzer, LOW); // Ton aus
}
else // Wenn Entferung größer als 100cm ist:
{
noTone(buzzer); // Kein Alarmton
}
}
}