Advertisement
cisco404

Program Sensor Parkir berbasis arduino dengan sensor HC-SR04

Feb 11th, 2024 (edited)
900
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | Source Code | 0 0
  1. // -------------------------------------------
  2. // Program Sensor Parkir Berbasis Arduino dengan Sensor HC-SR04
  3. // www.ardukode.blogspot.com
  4. // -------------------------------------------
  5.  
  6. #define pin_trig 13
  7. #define pin_echo 12
  8. #define pin_10cm 11
  9. #define pin_25cm 10
  10. #define pin_40cm 9
  11. #define pin_buz 8
  12.  
  13. void setup()
  14. {
  15. //Serial.begin (9600)
  16. pinMode(pin_trig, OUTPUT);
  17. pinMode(pin_echo, INPUT);
  18. pinMode(pin_10cm, OUTPUT);
  19. pinMode(pin_25cm, OUTPUT);
  20. pinMode(pin_40cm, OUTPUT);
  21. pinMode(pin_buz, OUTPUT);
  22. }
  23.  
  24. void loop()
  25. {
  26. //kirim gelombang kotak
  27. digitalWrite(pin_trig, HIGH);
  28. delayMicroseconds(10);
  29. digitalWrite(pin_trig, LOW);
  30.  
  31. // terima pantulan
  32. double times = pulseIn(pin_echo, HIGH);
  33.  
  34. // hitung jarak
  35. double range = 0.0343 * ( times / 2);
  36.  
  37. //Jika jarak lebih kurang sama dengan 10cm
  38. if (range <= 10 )
  39. {
  40. digitalWrite(pin_10cm, HIGH);
  41. digitalWrite(pin_buz, HIGH);
  42. Serial.print(range);
  43. delay(50);
  44. digitalWrite(pin_10cm, LOW);
  45. digitalWrite(pin_buz, LOW);
  46. delay(50);
  47. }
  48.  
  49. //Jika jarak lebih dari 10.5 cm dan kurang dari 25 cm
  50. if ((range >=10.5) && (range <= 25))
  51. {
  52. digitalWrite(pin_25cm, HIGH);
  53. digitalWrite(pin_buz, HIGH);
  54. Serial.println(range);
  55. delay(100);
  56. digitalWrite(pin_25cm, LOW);
  57. digitalWrite(pin_buz, LOW);
  58. delay(100);
  59. }
  60.  
  61. //ika jarak lebih dari 25.5 cm dan kurang dari 40 cm
  62. if ((range >=25.5) && (range <= 40))
  63. {
  64. digitalWrite(pin_40cm, HIGH);
  65. digitalWrite(pin_buz, HIGH);
  66. Serial.println(range);
  67. delay(200);
  68. digitalWrite(pin_40cm, LOW);
  69. digitalWrite(pin_buz, LOW);
  70. delay(200);
  71. }
  72.  
  73. else
  74. {
  75. digitalWrite(pin_10cm, LOW);
  76. digitalWrite(pin_25cm, LOW);
  77. digitalWrite(pin_40cm, LOW);
  78. digitalWrite(pin_buz, LOW);
  79. Serial.print(range);
  80. Serial.println(" CM");
  81. }
  82. delay(100); // delay 100ms
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement