Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

Sie befinden sich in: Unterrichtsangebote Fächer Fachbereich III Informatik Arduino Sensorik Ultraschallsensor schaltet LED an

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
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
}
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(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.
}
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)