Advertisement
Guest User

Untitled

a guest
May 27th, 2015
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.53 KB | None | 0 0
  1. int triggerPin = 6;
  2. int echoPin = 7;
  3. int speakerPin = 11;
  4. int startPin = 10;
  5. int ledPin = 13;
  6.  
  7. boolean running = false;
  8. boolean lastButtonState = false;
  9.  
  10. long time = 0;
  11. long distance = 0;
  12. int loud = 0;
  13.  
  14. void setup()
  15. {
  16.   Serial.begin(9600);
  17.  
  18.   pinMode(triggerPin, OUTPUT);
  19.   pinMode(echoPin, INPUT);
  20.   pinMode(speakerPin, OUTPUT);
  21.   pinMode(startPin, INPUT);
  22.   pinMode(ledPin, OUTPUT);
  23.   digitalWrite(ledPin, LOW);
  24. }
  25.  
  26. boolean debounce(boolean last)
  27. {
  28.    boolean current = digitalRead(startPin);
  29.    if(last != current)
  30.    {
  31.      delay(5);
  32.      current = digitalRead(startPin);
  33.    }
  34.    return current;
  35. }
  36.  
  37. void loop()
  38. {
  39.   bool currentButtonState = debounce(lastButtonState);
  40.   if(lastButtonState == LOW && currentButtonState == HIGH)
  41.   {
  42.     Serial.println("SWITCHED");
  43.     running = !running;  
  44.     digitalWrite(ledPin, running);
  45.   }
  46.   delay(50);
  47.  
  48.   if(running)
  49.   {
  50.     digitalWrite(triggerPin, LOW);
  51.     delay(5);
  52.     digitalWrite(triggerPin, HIGH);
  53.     delay(10);
  54.     digitalWrite(triggerPin, LOW);
  55.     time = pulseIn(echoPin, HIGH);
  56.    
  57.     distance = (time/2) / 29.1;
  58.    
  59.     if(distance >= 500 || distance <= 0)
  60.     {
  61.       Serial.println("Kein Messwert");
  62.       loud = 0;
  63.     }
  64.     else
  65.     {
  66.       loud = map(distance, 1,499,255,0);
  67.       Serial.print(distance);
  68.       Serial.print(" cm");
  69.     }
  70.     analogWrite(speakerPin, loud);
  71.     delay(100);
  72.   }
  73.   else
  74.   {
  75.     analogWrite(speakerPin, 0);
  76.     digitalWrite(ledPin, LOW);  
  77.   }
  78.  
  79.   lastButtonState = currentButtonState;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement