Ultraschallsensor schaltet LED an
Ziel: Der Ultraschallsensor soll eine LED an- und wieder ausschalten.
Material:
- 1 Arduino UNO
- 1 Breadboard
- 2 LED- Lampen
- 1 Ultraschallsensor
- 2 Widerstände (220 Ohmen)
- mehrere Kabel
Der Aufbau:
Das Programm (mit Erläuterungen):
int trigger=9; //Der Anschluss TRIG am Ultraschallsensor geht an Pin 9
int echo=11;//Der Anschluss ECHO am Ultaschallsensor geht an Pin 11
long dauer=0;// dauer = Variable unter der die Zeit gespeichert wird
long entfernung=0;//entfernung = Variable under der die Entfernung gespeichert wird
// long ist ein Befehl wie int. Er hat den Vorteil, dass eine höhere Zahl gespeichert wird, benötigt aber mehr Speicherplatz
int ledpin=12;//Der Anschluss der Arlarm - LED geht am Pin 12
int ledpin2=8;//Der Anschluss der Status - LED geht an Pin 8
int echo=11;//Der Anschluss ECHO am Ultaschallsensor geht an Pin 11
long dauer=0;// dauer = Variable unter der die Zeit gespeichert wird
long entfernung=0;//entfernung = Variable under der die Entfernung gespeichert wird
// long ist ein Befehl wie int. Er hat den Vorteil, dass eine höhere Zahl gespeichert wird, benötigt aber mehr Speicherplatz
int ledpin=12;//Der Anschluss der Arlarm - LED geht am Pin 12
int ledpin2=8;//Der Anschluss der Status - LED geht an Pin 8
void setup() {
pinMode(trigger, OUTPUT); //trigger ist ein Ausgang
pinMode(echo, INPUT); //echo ist ein Eingang
pinMode(ledpin,OUTPUT); //ledpin ist ein Ausgang
pinMode(ledpin2,OUTPUT); //ledpin2 ist ein Ausgang
digitalWrite(ledpin,HIGH);//Schalte die Status LED an
pinMode(trigger, OUTPUT); //trigger ist ein Ausgang
pinMode(echo, INPUT); //echo ist ein Eingang
pinMode(ledpin,OUTPUT); //ledpin ist ein Ausgang
pinMode(ledpin2,OUTPUT); //ledpin2 ist ein Ausgang
digitalWrite(ledpin,HIGH);//Schalte die Status LED an
}
void loop() {
digitalWrite(trigger,LOW); //Der Strom wird vom Ultraschallsen genommen
delay(5); //Es wird 5 Millisekunden gewartet
digitalWrite(trigger,HIGH); //Es geht Strom an den Ultraschallsensor
delay(10); //Es wird 10 Millisekunden gewartet
digitalWrite(trigger,LOW); //Der Strom wird vom Ultraschallsensor weggenommen
dauer=pulseIn(echo,HIGH); //Der Ton hält 10 Millisekunden an
entfernung = (dauer/2) / 29.1; //Der Ton wird abgeschaltet
if (entfernung >= 500 || entfernung <= 0) //Wenn die Entfernung kleiner, als 500 und größer, als 0 ist,...
digitalWrite(trigger,LOW); //Der Strom wird vom Ultraschallsen genommen
delay(5); //Es wird 5 Millisekunden gewartet
digitalWrite(trigger,HIGH); //Es geht Strom an den Ultraschallsensor
delay(10); //Es wird 10 Millisekunden gewartet
digitalWrite(trigger,LOW); //Der Strom wird vom Ultraschallsensor weggenommen
dauer=pulseIn(echo,HIGH); //Der Ton hält 10 Millisekunden an
entfernung = (dauer/2) / 29.1; //Der Ton wird abgeschaltet
if (entfernung >= 500 || entfernung <= 0) //Wenn die Entfernung kleiner, als 500 und größer, als 0 ist,...
{
digitalWrite(ledpin,HIGH); //...schalte die Alarm-LED an...
delay(500); //...warte 500 Millisekunden...
digitalWrite(ledpin,LOW); //...schalte die Alarm-LED aus...
delay(500); //...warte 500 Millisekunden.
}
delay(500); //...warte 500 Millisekunden...
digitalWrite(ledpin,LOW); //...schalte die Alarm-LED aus...
delay(500); //...warte 500 Millisekunden.
}
else //ansonsten...
{
digitalWrite(ledpin,LOW); //...schalte die Alarm-LED aus.
}
delay(1000); //Warte 1000 Millisekunden,bevor du die loop() neu startest.
}
}
Erstellt: Sebastian Grüttner (08.11.2016)
Letzte Änderung: Jannis Engemann (28.06.2017)