Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

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

Ultraschallsensor schaltet Melodie an

Materialien:

 

Das Programm:

int ledpin1 = 8; //Pin 8 heißt jetzt ledpin1
int ledpin2 = 12; //Pin 9 heißt jetzt ledpin2
int ledpin3 = 4; //Pin 4 heißt jetzt ledpin3
int ledpin4 = 7; //Pin7 heißt jetzt ledpin4
int BUZZ = 2; //Pin 2 heißt jetzt BUZZ
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
void setup()
{
  pinMode(ledpin1, OUTPUT); //ledpin1 ist ein ausgang
  pinMode(ledpin2, OUTPUT);//ledpin2 ist ein Ausgang
  pinMode(ledpin3, OUTPUT); //ledpin3 ist ein Ausgang
  pinMode(ledpin4, OUTPUT); //ledpin4 ist ein Ausgang
  pinMode(BUZZ, OUTPUT); //BUZZ ist ein Ausgang
  pinMode(trigger, OUTPUT); //trigger ist ein Ausgang
  pinMode(echo, INPUT); //echo ist ein Eingang
}
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, dann ...
    tone(BUZZ, 200); // gib einen Ton aus
    digitalWrite(ledpin1, HIGH); //...schalte die 1.LED an ...
    delay(200); //...warte 200 Millisekunden...
    digitalWrite(ledpin1, LOW); // ... schalte die 1. LED aus...
    noTone(BUZZ);//schalte den Ton ab
    delay(100); //warte 100 Millisekunden
    tone(BUZZ, 200);
    digitalWrite(ledpin2, HIGH); //...schalte die 2. LED an...
    delay(200);//... warte 200 Millisekunden...
    digitalWrite(ledpin2, LOW);//...schalte die 2. LED aus...
    noTone(BUZZ); // schalte den Ton ab
    delay(100); // warte 100 Millisekunden
    tone(BUZZ, 200); // gib einen Ton aus
    digitalWrite(ledpin3, HIGH);//...schalte die 3.LED an...
    delay(200);//...warte 200 Millisekunden...
    digitalWrite(ledpin3, LOW);//...schalte die 3. LED aus...
    noTone(BUZZ); // schalte den Ton ab
    delay(500); // warte 500 Millisekunden
    tone(BUZZ, 200); // gib einen Ton aus
    digitalWrite(ledpin4, HIGH);///... schalte die 4. LED an...
    delay(200); //...Warte 200 Millisekunden...
    digitalWrite(ledpin4, LOW);//...schalte die 4. LED aus..
    noTone(BUZZ);
    delay(100);
    tone(BUZZ, 200);
    delay(200);
    noTone(BUZZ);
    delay(100);
    tone(BUZZ, 200);
    delay(200);
    noTone(BUZZ);
    delay(500);//...warte 500 Millisekunden...
    tone(BUZZ, 200);
    digitalWrite(ledpin4, HIGH);//schalte die 4. LED an
    digitalWrite(ledpin3, HIGH);//schalte die 3.LED an
    digitalWrite(ledpin2, HIGH);//schalte die 2.LED an
    digitalWrite(ledpin1, HIGH);//schalte die 1.LED an
    delay(200);
    noTone(BUZZ);
    delay(100); //warte 100 Millisekunden
    tone(BUZZ, 600);
    digitalWrite(ledpin4, LOW);//schalte die 4. LED aus
    digitalWrite(ledpin3, LOW);//schalte die 3.LED aus
    digitalWrite(ledpin2, LOW);//schalte die 2. LED aus
    digitalWrite(ledpin1, LOW);//schalte die 1.LED aus
    delay(200);//warte 200 Millisekunden
    noTone(BUZZ);
    delay(100);
    tone(BUZZ, 100);
    digitalWrite(ledpin4, HIGH); //...schalte die 4.LED an ...
    delay(200); //...warte 200 Millisekunden...
    digitalWrite(ledpin4, LOW); // ... schalte die 4. LED aus...
    noTone(BUZZ);
    delay(100);
    tone(BUZZ, 150);
    digitalWrite(ledpin3, HIGH); //...schalte die 3. LED an...
    delay(200);//... warte 200 Millisekunden...
    digitalWrite(ledpin3, LOW);//...schalte die 3. LED aus...
    noTone(BUZZ);
    delay(100);
    tone(BUZZ, 200);
    digitalWrite(ledpin2, HIGH);//...schalte die 2.LED an...
    delay(300);//...warte 200 Millisekunden...
    digitalWrite(ledpin2, LOW);//...schalte die 2. LED aus...
    noTone(BUZZ);
    digitalWrite(ledpin1, HIGH);///... schalte die 1. LED an...
    delay(500); //...Warte 500 Millisekunden...
    digitalWrite(ledpin1, LOW);//schalte die 1. LED aus
  }
  else {
    digitalWrite(ledpin1, LOW);//schalte die 1.LED aus
    digitalWrite(ledpin2, LOW);//schalte die 2.LED aus
    digitalWrite(ledpin3, LOW);//schalte die 3.LED aus
    digitalWrite(ledpin4, LOW);//schalte die 4.LED aus
  }
}

 

Erstellt: Sebastian Grüttner (10.01.2017) Letzte Änderung: Sebastian Grüttner (10.01.2017)