Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. #define trigPin1 11
  2. #define echoPin1 13
  3. #define trigPin2 8 //CHECK CHECK CHECK
  4. #define echoPin2 9
  5.  
  6. #define LEDPin 6
  7.  
  8. int hit1 = 0, hit2 = 0;
  9. int numEntries = 0, numExits = 0;
  10. int personCounter = 0;
  11.  
  12. void setup() {
  13. Serial.begin(9600);
  14. //sensors
  15. pinMode(trigPin1, OUTPUT);
  16. pinMode(echoPin1, INPUT);
  17. pinMode(trigPin2, OUTPUT);
  18. pinMode(echoPin2, INPUT);
  19. pinMode(LEDPin, OUTPUT);
  20.  
  21. }
  22.  
  23. void loop() {
  24. //check sensor1
  25. int duration, distance;
  26. digitalWrite(trigPin1, LOW);
  27. delayMicroseconds (2);
  28. digitalWrite (trigPin1, HIGH);
  29. delayMicroseconds (5);
  30. digitalWrite (trigPin1, LOW);
  31. duration = pulseIn (echoPin1, HIGH);
  32. distance = (duration/2) / 29.1;
  33.  
  34. if(distance < 60){
  35. Serial.println("Entering...");
  36. hit1 = 1;
  37. }
  38.  
  39. //check sensor2
  40. int duration2, distance2;
  41. digitalWrite(trigPin2, LOW);
  42. delayMicroseconds (2);
  43. digitalWrite (trigPin2, HIGH);
  44. delayMicroseconds (5);
  45. digitalWrite (trigPin2, LOW);
  46.  
  47. duration2 = pulseIn (echoPin2, HIGH);
  48. distance2 = (duration2 / 2) / 29.1;
  49.  
  50. if(distance2 < 60){
  51. Serial.println("Exitting...");
  52. hit2 = 1;
  53. }
  54.  
  55. //entry was triggered, scan exit until exit is hit
  56. while(hit1 == 1 && hit2 == 0){
  57. //check sensor2
  58. int dur, dist;
  59. digitalWrite(trigPin2, LOW);
  60. delayMicroseconds (2);
  61. digitalWrite (trigPin2, HIGH);
  62. delayMicroseconds (5);
  63. digitalWrite (trigPin2, LOW);
  64.  
  65. dur = pulseIn (echoPin2, HIGH);
  66. dist = (dur / 2) / 29.1;
  67.  
  68. if(dist < 60){
  69. //reset the two values
  70. hit1 = 0;
  71. hit2 = 0;
  72. numEntries++;
  73. personCounter++;
  74. Serial.println("\tENTERED");
  75. delay(250);
  76. break;
  77. }
  78. }
  79.  
  80. //exit was triggered, scan entry until entry is hit
  81. while(hit1 == 0 && hit2 == 1){
  82. //check sensor2
  83. int dur, dist;
  84. digitalWrite(trigPin1, LOW);
  85. delayMicroseconds (2);
  86. digitalWrite (trigPin1, HIGH);
  87. delayMicroseconds (5);
  88. digitalWrite (trigPin1, LOW);
  89.  
  90. dur = pulseIn (echoPin1, HIGH);
  91. dist = (dur / 2) / 29.1;
  92.  
  93. if(dist < 60){
  94. //reset the two values
  95. hit1 = 0;
  96. hit2 = 0;
  97. numExits++;
  98. personCounter--;
  99. Serial.println("\tEXITED");
  100. delay(250);
  101. break;
  102. }
  103. }
  104.  
  105. if(personCounter > 0) {
  106. digitalWrite(LEDPin, HIGH);
  107. }
  108. else(personCounter <=0)
  109. {
  110. digitalWrite(LEDPin, LOW);
  111. }
  112.  
  113. /* DEBUGGING
  114. Serial.print(distance);
  115. Serial.print("-----");
  116. Serial.print(distance2);
  117. Serial.println();
  118. */
  119. delay(500);
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement