Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define trigPin1 11
- #define echoPin1 13
- #define trigPin2 8 //CHECK CHECK CHECK
- #define echoPin2 9
- #define LEDPin 6
- int hit1 = 0, hit2 = 0;
- int numEntries = 0, numExits = 0;
- int personCounter = 0;
- void setup() {
- Serial.begin(9600);
- //sensors
- pinMode(trigPin1, OUTPUT);
- pinMode(echoPin1, INPUT);
- pinMode(trigPin2, OUTPUT);
- pinMode(echoPin2, INPUT);
- pinMode(LEDPin, OUTPUT);
- }
- void loop() {
- //check sensor1
- int duration, distance;
- digitalWrite(trigPin1, LOW);
- delayMicroseconds (2);
- digitalWrite (trigPin1, HIGH);
- delayMicroseconds (5);
- digitalWrite (trigPin1, LOW);
- duration = pulseIn (echoPin1, HIGH);
- distance = (duration/2) / 29.1;
- if(distance < 60){
- Serial.println("Entering...");
- hit1 = 1;
- }
- //check sensor2
- int duration2, distance2;
- digitalWrite(trigPin2, LOW);
- delayMicroseconds (2);
- digitalWrite (trigPin2, HIGH);
- delayMicroseconds (5);
- digitalWrite (trigPin2, LOW);
- duration2 = pulseIn (echoPin2, HIGH);
- distance2 = (duration2 / 2) / 29.1;
- if(distance2 < 60){
- Serial.println("Exitting...");
- hit2 = 1;
- }
- //entry was triggered, scan exit until exit is hit
- while(hit1 == 1 && hit2 == 0){
- //check sensor2
- int dur, dist;
- digitalWrite(trigPin2, LOW);
- delayMicroseconds (2);
- digitalWrite (trigPin2, HIGH);
- delayMicroseconds (5);
- digitalWrite (trigPin2, LOW);
- dur = pulseIn (echoPin2, HIGH);
- dist = (dur / 2) / 29.1;
- if(dist < 60){
- //reset the two values
- hit1 = 0;
- hit2 = 0;
- numEntries++;
- personCounter++;
- Serial.println("\tENTERED");
- delay(250);
- break;
- }
- }
- //exit was triggered, scan entry until entry is hit
- while(hit1 == 0 && hit2 == 1){
- //check sensor2
- int dur, dist;
- digitalWrite(trigPin1, LOW);
- delayMicroseconds (2);
- digitalWrite (trigPin1, HIGH);
- delayMicroseconds (5);
- digitalWrite (trigPin1, LOW);
- dur = pulseIn (echoPin1, HIGH);
- dist = (dur / 2) / 29.1;
- if(dist < 60){
- //reset the two values
- hit1 = 0;
- hit2 = 0;
- numExits++;
- personCounter--;
- Serial.println("\tEXITED");
- delay(250);
- break;
- }
- }
- if(personCounter > 0) {
- digitalWrite(LEDPin, HIGH);
- }
- else(personCounter <=0)
- {
- digitalWrite(LEDPin, LOW);
- }
- /* DEBUGGING
- Serial.print(distance);
- Serial.print("-----");
- Serial.print(distance2);
- Serial.println();
- */
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement