Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int triggerPin = 6;
- int echoPin = 7;
- int speakerPin = 11;
- int startPin = 10;
- int ledPin = 13;
- boolean running = false;
- boolean lastButtonState = false;
- long time = 0;
- long distance = 0;
- int loud = 0;
- void setup()
- {
- Serial.begin(9600);
- pinMode(triggerPin, OUTPUT);
- pinMode(echoPin, INPUT);
- pinMode(speakerPin, OUTPUT);
- pinMode(startPin, INPUT);
- pinMode(ledPin, OUTPUT);
- digitalWrite(ledPin, LOW);
- }
- boolean debounce(boolean last)
- {
- boolean current = digitalRead(startPin);
- if(last != current)
- {
- delay(5);
- current = digitalRead(startPin);
- }
- return current;
- }
- void loop()
- {
- bool currentButtonState = debounce(lastButtonState);
- if(lastButtonState == LOW && currentButtonState == HIGH)
- {
- Serial.println("SWITCHED");
- running = !running;
- digitalWrite(ledPin, running);
- }
- delay(50);
- if(running)
- {
- digitalWrite(triggerPin, LOW);
- delay(5);
- digitalWrite(triggerPin, HIGH);
- delay(10);
- digitalWrite(triggerPin, LOW);
- time = pulseIn(echoPin, HIGH);
- distance = (time/2) / 29.1;
- if(distance >= 500 || distance <= 0)
- {
- Serial.println("Kein Messwert");
- loud = 0;
- }
- else
- {
- loud = map(distance, 1,499,255,0);
- Serial.print(distance);
- Serial.print(" cm");
- }
- analogWrite(speakerPin, loud);
- delay(100);
- }
- else
- {
- analogWrite(speakerPin, 0);
- digitalWrite(ledPin, LOW);
- }
- lastButtonState = currentButtonState;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement