This project is designed to display personal data in a public way. We chose to create a device that shows when something on the user's Amazon wish list goes on sale. The device uses the Amazon API to get data about the user's personal wish list and what is currently on sale at Amazon. This information is shown to the user by opening an old amazon box automatically through the use of servo motors.
We considered different methods of opening a box. As illustrated below, we thought about opening the box via a "sliding door" method, drawing a curtain, or using a front flap. Ultimately, we chose to open the box using the two top flaps of the box because it was simple, easy to implement with two Servo motors, and the most noticeable state change.
Once we decided on the method in which we were going to open the box, could then start wiring the physical components into the Particle Photon. Our wiring is shown below, and requires 7 jumper cables along with the two servo motors.
We started making the self opening box by poking two holes for the servo motor. We then threaded the wires through for the motor making sure to leave enough slack in the line to re position the motors. We first tried mounting the servos inside on the bottom surface of the box and ran thin wire outside of the box to "pull" the box open. Our hope was that we could hide the motors with a false bottom, so it would look like a more finished produce. After struggling to get this working, we changed the design by moving the motors higher.
The new design placed the motors centered directly below the "hinge" of the box flaps. The motors were held in place by duct tape and string, but this can be replaced by a stronger form of joining such as glue or screws. Since the included servo fin was not long enough to open the box entirely, we used two alligator clip heads to extend the length of the lever arm. The alligator clips sometimes fell out of place so we added duct tape to the connection point as well.
The code below is made to go on to the particle device, and does not need to be updated if the user wants to change the item they are tracking. The purpose of this code is to check for an update in the particle cloud for a push from the Amazon API code and to tell the two servo motors to open and disengage after a set amount of time.
This code works with the Amazon API to track a desired item on their website. A target price is set by the user to determine when they would like to be notified, and once that threshold is passed, a notification is sent through the particle cloud to tell the designated particle device to run the function to open the motors
If we were to make this concept into a product fit for market, we would need to add a way for the user know which item on their list was on sale. This could be done through a inside of the box, so the user would have to look inside to get the information. Currently our prototype follows one product, which is defined by putting the amazon item number in the code that accesses the Amazon API. We would also need to simplify this experience for the user, and one way this could be done is through a mobile application or even creating an IFTTT widget for what we produced through our code. I think we also would want to redesign the box so that the motors are hidden. This could be done through adding an inner box where the motor could sit in between the layers. This would also protect the motor from being broken when the user is reaching inside the box.
You can upload files of up to 20MB using this form.