Goal: Put loose change in context of things you care about.
Change You Can Believe In is a coin collector that represents your savings in tangible things. It automatically logs the change you drop in, everyday. And customized trinkets represent items you save for. Just place one on the device to check what you've saved.
Users have the choice of saving money for themselves or to donate to charity, or both.
Trinkets represent items for the person:
Or a common good:
Fabrication & Coding
Representational Items – 3D Printed Trinkets
Each trinket represents the real-world item you are saving for. When placed on the dollar sign, the coin collector tells you if you've saved enough money to buy or donate toward that item.
After searching around the city for good trinkets to represent the items and not having any success, I decided to fabricate them myself.
Thankfully, Thingiverse is an awesome repository of many pre-designed figures by other 3D printer users. I selected 3 personal items and 3 items that serve the common good. In the future, I would love to learn how to design my own models. This was my first time using the MakerBot and I had some difficulty making successful models at first.
Initially I prepared the objects using MakerWare, but I wasn't able to get the printer to recognize the files. [even after checking to make sure it was set to encode for the right printer, etc.] Eventually, I found a workaround: resizing the models in MakerWare and generating the toolpath & run the printwith ReplicatorG. Although the printer isn't exactly plug-and-play, I was able to figure out how to use after a few trial prints.
As 3D printing becomes more common (as it is available to consumers in the Netherlands at Staples) individuals could print new objects to represent new savings goals.
In the context of consumer products for kids, a physical object representation system like this could help teach how to save money & delayed gratification. An organization interested in soliciting donations or purchases could send users new trinkets. The video game Skylanders operates in a similar way. You purchase a starter pack with a "mystical Portal of Power [which] serves as a gateway between our world and the amazing world of Skylands." In reality, this is an RFID reader that scans different action figures. It's ingenious in the same way Pokemon or Pogs were. Rather than selling trinkets for the coin collector, they could be provided for 'free' as an incentive to make a desired item more tangible.
Laser Cut Enclosure
The final enclosure is made of matte black acrylic. It fits on a shelf and a user would just drop their coins off everyday when he/she gets home.
This was my first time working with acrylic and my first time raster etching. I prototyped the enclosure out of cardboard a couple times before cutting the acrylic. The cutting process for acrylic was a bit more difficult, and I accidentally broke a piece trying to break it out of the plastic. The enclosure seems very large, I would like to try to reduce the size of the entire device eventually.
The finger jointed box model was generated from boxmaker.rahulbotics.com and I made modifications in Adobe Illustrator.
On the Thursday before the final, Ben Light made an awesome drive-by presentation about making enclosures. While I don't have quite the same distain for finger joints, I would love to rebuild the enclosure with T-slot joints.
The LCD display I'm using doesn't have a very good viewing angle. Classmates suggested a triangle shaped acrlyic piece to place the LCD on an angle in front of the machine. This was a good solution, with the added benefit of making the NFC scanner better fit into the design.
Circuit & Functionality
Change You Can Believe In can:
- Count coins automatically
- Remember the saved amount even if power is disconnected
- Calculate & displays coin value based on items you choose
- Uploads data to the web for additional analytics
Limitations of Arduino & Coding
Apparently, a coin collector that connects to the internet, an RFID/NFC reader, 2 displays & a bunch of sensors has a lot of moving parts! Almost 1000 lines of code later [and an upgrade to a Arduino Mega due to memory & pin limitations] everything seems to be relatively stable.
After building this circuit, I believe this project is a good candidate for using the Raspberry Pi. I considered building this project on the Pi from the start, but it seemed risky to try to use a platform that I'm inexperienced with in the short timeframe. Visual displays & web accessibility appear to be better handled by the Pi.
Writing & Reading NFC tags was a challenge with Arduino as well. In this iteration, I decided to only read the tag ID after having difficulty reading and writing data to the tags. In the future, it would be better if the NFC tag stored the price, name and other information about the item.
[table id=1 /]
For my final project in CommLab Web, I'm working on a website companion for the Change You Can Believe In project. It won't be beautiful, but it will interpret data received from the Arduino, save it to a database and return statistics.
Establishing a connection to Sinatra remains one of the most difficult parts of this project. With part projects, I have used the ethernet shield to connect to Pachube/Cosm. Initially I was trying to format an HTTP POST request and wasn't having any luck. Rune suggested trying to send the params over an HTTP GET request.
Success! I'm able to tell the database the exact amount of each type of coin and will also upload when a tag is scanned. The problem I'm having now is that the connection is only intermittent. I will continue to work on this and will make an update as part of my CommLab Web final.
- The value of working as a team: problems are infinitely more complex when you don't have a second set of eyes handy & collaboration benefits everyone
- Understanding components & project scope: this became a bigger undertaking than I expected and the some of the Arduino limitations were apparent (displays/dynamic web)
- Fabrication is time consuming but worth it: this has been the most fabrication intense project yet, I'm now best friends with the Laser Cutter & MakerBot
- Get web working fully: or fail CommLab Web! :(
- Determine feasibility of Raspberry Pi: Use Arduino in conjunction or an ADC? How complex & what language to code in?
- Improve enclosure: T-slot joints?
- Build framework for users to add new trinkets / check trinket ID on web