The first project, given as a challenge, in my Cornerstone Engineering class was the light-sensitive robot. We were to work in a team to design, program and build a small, motorized buggy that could detect and track down a set light source in a dark room. We tested our final project and gave a presentation on the journey to our class.
Our first task was to write out our objectives and constraints. This gave us a place to always go back to in case we find ourselves deviating as the project went on.
To promote an inclusive and idea-accepting environment, every group member proposed a design idea for the robot.
The Future Car
The Pancake
The Hummer (not copyright)
We created a decision matrix to decide what was most important in our project and determine which design best aligned with our goals. We gave weight factors based on what was important to us, with aesthetics most important to set us apart from the competition. We gave a score out of 10 in each category and totaled the scores. Our group decided to carry on with the Hummer robot.
As the most experienced coder of the group, I was in charge of the coding for our project. Below is the pseudocode of my Arduino program.
Obstacle Avoidance
Drive forward as default
When obstacle is detected within a certain distance
Drive backwards and turn until avoided
Resume
Light Detection
Drive forward when front photoresistor detects more light than side photoresistor
When side photoresistor detects more light
Turn until front photoresistor detects more light
When light sensitivity reaches threshold
Stop moving. You have arrived.
Remote Controlled LED
Constantly check for IR code
After IR code is received
Turn LED On or Off
We recognized our strengths and utilized them well, as we concluded with great results. Our hard-work was rewarded by witnessing our robot flawlessly accomplish the objective, while simultaneously being one of the best projects to do so. This was a great first engineering project to start my college career. I learned a lot of soft skills--teamwork, managing deadlines, communication--as well as technical skills--C++, AutoCad, Arduino.