Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1. #include <Servo.h>   //servo library
  2. Servo servo;    
  3. int trigPin = 5;    
  4. int echoPin = 6;  
  5. int servoPin = 7;
  6. int led= 10;
  7. long duration, dist, average;  
  8. long aver[3];   //array for average
  9.  
  10.  
  11. void setup() {      
  12.     Serial.begin(9600);
  13.     servo.attach(servoPin);  //mangatur posiso servo
  14.     pinMode(trigPin, OUTPUT);  
  15.     pinMode(echoPin, INPUT);  
  16.     servo.write(0);         //close cap on power on
  17.     delay(100);
  18.     servo.detach();
  19. }
  20.  
  21. void measure() {  
  22.  digitalWrite(10,HIGH);
  23. digitalWrite(trigPin, LOW); // treigerpinnya dipastikan mati
  24. delayMicroseconds(5);
  25. digitalWrite(trigPin, HIGH); //terus dinyalain
  26. delayMicroseconds(15);
  27. digitalWrite(trigPin, LOW);
  28. pinMode(echoPin, INPUT);
  29. duration = pulseIn(echoPin, HIGH); //pulse in mengatur waktu yang dibutuhkan echopin untuk menyala
  30. dist = (duration/2) / 29.1;    //obtain distance //jarak gelombang suara dari trigger dan kembali ke echo
  31. //dist (duration/2) / suhu
  32. }
  33. void loop() {
  34.   for (int i=0;i<=2;i++) {   //average distance
  35.     measure();              
  36.    aver[i]=dist;            
  37.     delay(10);              //delay between measurements
  38.   }
  39.  dist=(aver[0]+aver[1]+aver[2])/3;    
  40.  
  41. if ( dist<50 ) {
  42. //Change distance as per your need
  43.  servo.attach(servoPin);
  44.   delay(1);
  45.  servo.write(0);  
  46.  delay(3000);      
  47.  servo.write(150);    
  48.  delay(1000);
  49.  servo.detach();      
  50. }
  51. Serial.print(dist);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement