During sprint three, we redesigned the pan-tilt mechanism, refined the touchscreen input, and created a safety mechanism for the laser.
The new bulky laser was too heavy to be mounted on the pan-tilt, so we mounted a mirror on the pan-tilt, placed the laser underneath the pan-tilt, and used the mirror to direct the laser beam. This didn’t take too long because the pan-tilt itself stayed the same, we just replaced the laser with a mirror and put a hole in the pan-tilt for the laser beam.
Input and Code
We had learned from our first pass that the touchscreen input was messy. In order to make the user input image more accurate, we implemented a moving average filter to smooth the points. When the touchscreen was first tested with MATLAB last sprint, the input was spotty and inconsistent; unsurprisingly, as the touchscreen was very cheap. The moving average filter removed some of these abnormalities. Unfortunately, our touchscreen broke before we could do further testing.
With the working pan-tilt, we tested some of the motor control code, and discovered that the serial input to the second Arduino wasn't working properly. After many hours trying to iron out bugs, we finally gave up and decided to seek help next sprint.
We learned earlier that the laser was potentially unsafe. To address this, we iterated on a safety mechanism for the laser. We wanted a fail-safe that would turn off the laser when the sphere was lifted from the base, so the laser beam could never shine directly into a user’s eyes. We decided to do this by having the sphere complete the laser’s power circuit with the collar at its base. We initially wanted to use conductive pegs for this, but we realized fairly quickly that it would be easier to use copper tape that covered the entire collar.