Group 8 – Backend Cleaning Inspectors
Our project is to make a device to improve security and responsibility in the laundry room.
Links to previous projects
Task 1: Current User Locking the Machine
Task 2.1: Waiting User Sending Alert During Wash Cycle
-If the waiting user sends an alert during the current wash cycle, the alert will queue until the cycle is done. When the cycle is done, the current washing user will immediately receive a waiting user alert in addition to the wash cycle complete notification. The grace period will begin immediately after the wash cycle ends.
Task 2.2: Waiting User Sending Alert When Wash Cycle Complete
-If the waiting user sends an alert after the current wash cycle is complete, the current washing user will immediately receive a waiting user alert and the grace period will begin.
Task 3: Current User Unlocking Machine to Retrieve Laundry
Changes made since the working prototype used in P6
Improved our instructions that are displayed on the lcd screen for each task yet again in order to enhance usability based on the feedback we received from the test users
How and why your goals and/or design evolved
Since the beginning, we knew pretty much what our final prototype was going to look like. Along the way though we have evolved it little by little according to feedback we’ve received from the user studies. One important thing we have developed over the semester is the manner in which our locking mechanism physically locks the machine. We thought of a lot of creative ideas at the beginning, but eventually narrowed it down to using a simple servo motor inside a carved piece of balsa wood that rotates the lock closed when the user locks the machine. This made the most sense; however it would have to be improved if the product were to be commercially produced and sold in the future, as it would not be that hard to break the lock and thus gain access to the clothes within. Another important feature that we have improved along the way is the set of directions that are displayed on the LCD screen as the user attempts each of the three tasks. The instructions and information displayed have grown from the bare minimum in the beginning to become significantly helpful now with timers, error recognition, and more.
The most significant development in terms of our overall goals was that, as we implemented our system and received feedback from our test users, we shifted our focus more from the security of the laundry itself to the responsibility of the interacting users. In the beginning, our priority was mainly to keep the current laundry in the machine from being tampered with, even at the expense of the waiting next user. However, we began to realize that our target audience preferred that we focus more on responsibility between users. This resulted in shorter grace periods for current laundry users, as our testers generally expressed that they would be fine with their laundry being opened if they had warnings that they failed to heed. They expressed that, from the standpoint of the waiting user, it was more fair that they waited less time for the machine to unlock, given that the responsibility lay with the late current user.
Critical evaluation of our project
Overall, we view our project as a definite success. For such a short period of time, we have developed a working prototype that accurately resembles the system we envisioned in the first planning stages, complete with improvements and minor revisions along the way. With further iteration and development this could definitely be made into a useful real-world system. The only parts that are lacking in terms of production viability is an improvement of the physical locking mechanism that would guarantee the machine remained locked, as well as a more robust backend setup that would coordinate user interactions (through email servers, etc.) more effectively. Once these components have been implemented, our code would take care of the rest, and the product would be close to being complete for commercial use with a few more user tests along the way.
We have learned that our original idea was actually a very good one. The application space definitely exists, as there is a high demand for security and responsibility in the laundry room. We have observed many emails on the residential college list serves about lost/stolen/moved laundry problems, and this is the exact problem our system sets out to solve. Our test users have also expressed enthusiasm and support for our project, and at one point we were even offered an interview by the Daily Princetonian. Our system seems pretty intuitive from the user tests, and we think we have designed a pretty good prototype for a system that serves the purpose it was set out to accomplish: protecting students’ laundry from irresponsible users and giving users peace of mind.
Future plans given more time
The most important implementation challenge for production to be faced before the product will be close to commercially viable is the physical locking mechanism. Right now it is currently just a weak servo motor encased in a block of balsa wood. This would need to be improved or changed entirely, for example by using an industrial electromagnetic lock. Upon finding an appropriate production lock, we would also need to find a secure, minimally-invasive way to mount the system to existing laundry machines.
Another component that we would improve would be our backend setup. We are currently hosting our email warning system on a Django server hosted on a free Heroku trial server. This system currently only sends warnings to a few hard-coded email address, as we do not yet have access to the school’s database of current student account numbers and their corresponding NetID’s.
List of third-party code used in our project
Keypad: to control our keypad (http://playground.arduino.cc/Code/Keypad)
LiquidCrystal: to control our LCD screen. It comes with Arduino
Servo: to control our servo motor used in the locking mechanism. Included in Arduino
WiFly Shield: to control our WiFi shield. https://github.com/sparkfun/WiFly-Shield
Django: to send out emails to users upon requests from Arduino. https://www.djangoproject.com/
Heroku: to host our email server. https://www.heroku.com/
Links to PDF versions of all printed materials for demo