The goal for this sprint was to finish a very basic version of our final product. We assembled a cardboard structure that rotated a cardboard pointer around to follow a face, which we detected using a facial detection program with a Raspberry Pi and PiCamera.
For the mechanical side of Sprint 1, we built a simple sketch model out of cardboard with a rotating
PVC rod to mimic how our final product would pan around to follow a person's face. We started out using a servo to rotate the
cardboard finger mounted on top just to get proof of concept.
The sketch model also included spaces for storing electronic components near the base and a mounting spot near the
top of the rod for the PiCamera.
The Raspberry Pi ran a Haar Cascade classification program that could detect faces with the attached PiCamera. It calculated the distance from the center of the face from the center of the camera frame and sent that distance to the Arduino over Serial communication to control the servo. However, it only functioned if the user was facing the camera directly, and performed inconsistently on different subjects.
In this sprint, we needed to set up all the electronic parts and make sure they all worked as intended, at least on a very basic level. We found suitable power supplies for the Arduino and Raspberry Pi, and ensured they could communicate properly over Serial communication.
After verifying the setup, we programmed the Arduino to drive the servo towards the correct direction based off commands given from the Raspberry Pi about the position of the detected face.