Required Equipments
How it works?
Block Diagram
Algorithm
Detailed Circuit Diagram
Problems Faced
Group Members Information
Course Teacher
In this Project we have designed an embedded system which is used for tracking movement of people along with the feature of detecting faces.
Whenever a person is close to the camera or moving around the camera, the camera moves automatically to the position where people is and adjusts itself to
focus on the face of the person on the screen.
Arduino Uno
Five PIR Sensors
Lipo Battery 7.4V
Continuous rotation Servo
180 Servo
Capacitors
Resistors
Web camera
LED
In this project we used the Arduino Uno microcontroller for interfacing the various hardwares we needed to make the embedded system come to life. The PIR sensors came in handy to detect the motion of person. We had compartmentalized the whole system into 5 sectors and understandably, we put each PIR sensor to each of the compartments. Whenever it detects motion in any one of the compartments the camera rotates to that compartment and brings in view anyone who is present in that position. We implemented this by the aid of a continuous rotation servo which enabled us to have a 360 degree rotation range. We also had 5 LEDs interfaced to the Arduino Uno where each LED corresponds to each of the 5 compartments. The second task that was hand was the task of face detection and adjusting the camera to bring the face in the display. So, we used a flexible software sketchbook named Processing 3.2.3 and included the OPENCV library to enable the feature of detecting faces. We handled the face detecting ability and correspoding actions to be taken in the Processing IDE and then via the serial port we sent it to the Arduino. As per the Processing guided the Arduino, we took action in our Arduino code to tilt the Tilt Servo accordingly to adjust the camera to focus our face and bring it into clear view.
fig.1 Block Diagram
1.Start
2.Setup
3.Setup each PIR pin for input
4.Setup both servo pin for output
5.Setup Serial Port
6.loop
7.For each PIR
8.If PIR is High
9.Move pan Servo to that PIR
10.ENDFOR
11.command=Serial.read()
12.if(command=="top")
13.move tilt servo to top.
12.if(command=="bottom")
13.move tilt servo to bottom.
14.FaceDetect
15.Faces=detect.faces()
17.For each Faces:
18.If Faces[i].y +Faces[i].height> toplimit
19.send signal 'bottom' to Arduino
20.IF Faces[i].y < bottomlimit
19.send signal 'top' to Arduino
21.ENDFOR
22.End
fig.3 Pin diagram of the circuit