Process & Challenges
After brainstorming the concept and design, we each worked on wiring and initiating 1 of the 3 outputs: vibrators, DC motor, and LED ring. Once each piece was working individually, it was assembled together.
While assembling the circuit hardware, we faced four barriers: The volume of the cube, the rigorous vibration caused by the motor, the possible collision of the DC motor with internal components, the power draw from the DC motor and a poorly performing capacitive sensor. After assembling the acrylic cube, we realized we had set a space constraint for ourselves. While we desired to make the cube an unobtrusive size, we still needed to fit electronics in it. In addition to all the vibrators, the LED ring and DC motor, we had to fit a battery pack to power the entire system. This space constraint was one reason we decided not to use a breadboard in our prototype. The other reason we could not use a breadboard was because of the rigorous vibration our DC motor (intentionally) caused the entire cube to experience. Given the poor connections often experienced in breadboards, the vibration would inevitably cause a few wires to jump out of the board. Due to the vibration and the space constraints, we decided to solder the photon directly to a board and the required components.
The space constraints also raised a concern on potential collisions inside the device involving the DC motor spinner and everything else in the device. If the device is not assembled correctly, the DC motor will entangle any nearby components. Finally, the voltage and current draw required by the motor has the potential to disrupt the use of the button. Due to the way we have the system wired, the button is supplied with less current/voltage when the DC motor is first starting. In future revisions of this device, we would change our button from an analog to a digital input. On the subject of buttons, we initially attempted to use a capacitive sensor instead of a mechanical button. Due to the way we had the copper strip oriented, the sensor was not reliable. We solved this problem by moving to the more reliable mechanical button.
When assembling together the pieces of code, we created an IFTTT trigger from gmail, and then used that to create an unread email counter. This counter then triggered the different states of the box, with different colors and motor configurations. Surprisingly, the button was the most difficult part of the code.
Outcome
The following video showcases the capabilities of the FreakOut Box. With new emails, the box increments up to each new stress level - yellow, orange, and red. When the user is ready to sit down and check email, they can reset with the button on top. The button is also able to flip on and off the LED when not in use.
Notes of the video: to test the box, we are using an email testing service and manually triggering IFTTT in the background due to its slow output speed. The trigger levels are each set at 1 increasing email, so each email sends the box to a new stress level.