Laundry Alert Page
- 1 Our Product
- 2 Design and Solutions
- 2.1 Raspberry Pi Zero
- 2.2 Twilio
- 2.3 ngrok
- 2.4 Design of Case
- 2.5 Que
- 2.6 Final Product
The Laundry Alert Device!
Don't you just hate it when you walk all the way down to the laundry room to find every single machine in use? Our 'Laundry Alert Device' idea will bring a solution to this problem. Our idea consists of a device that will alert, through text message, a washing machine's user that his or her laundry is done. We believe our device will cut the waiting time by a significant amount. To meet this goal, we will be creating a device using a raspberry pi 0 and vibration sensors. First the user will text the number attached to the device "Start" to notify it that they have started their laundry load. The pi will use the vibration sensor to determine when the laundry machine has finished the load. When the load is finished, using Twilio API, the pi will send a text message to the user telling them that their laundry has been finished.
Link to weekly log Link to Tutorial: Link to Project Proposal Presentation.
Project Proposal Presentation
- Ezra Blair
- Young Wang
- Billy Gilbert Habimana Cyusa
- Ellen Dai (TA)
- Jim Feher (Instructor)
*Vibration sensors to determine completion of a washing cycle *Need Battery for power source *Case (preferably 3D Printed) for enclosure, protection, and presentation of device
*Distinguish between vibration and no motion *Get program to successfully send sms messages *Use ngrock to establish communication from twilio to Pi *Recognize texts received from user and store its phone number *Get program to send messages based on user response *Get a waitlist set-up for users who are waiting for a machine to be open
- Deciding Interface: one of the issues that we anticipate to encounter is choosing between using a website or a Self Contained Server.
- Connectivity to private networks
- Finding out the vibration pattern and level of the washing machine and making the Pi recognize it
- Figuring how to integrate Twilio into the interface: Considering that none of our team members has any experience with the Twilio API, we expect managing to integrate it into our interface to be difficult.
- Figuring out how to exclude the vibration noise of other washing machines or other vibrating objects nearby.
- Finding a way to demonstrate the project: we do not want to have to carry an entire washing machine for the demonstration so we will have to find a less challenging way to demonstrate our project
- Raspberry Pi Zero W (provided)
- Twilio API $20
- | A/D converter (provided)
- | Analog Vibration Sensor $13.45
- | sw-420 vibration sensor $4.45
- | ngrok $10.00
- Magnets (provided by Washington University Bookstore) $6
- | Battery $32.84
Total Cost: $86.74
Design and Solutions
- Precursor Steps
Our project required a lot of knowledge in areas that all team members were unfamiliar with, so we spent the first few weeks learning the tools that we would need for this project. The main three things to learn were how to use the raspberry pi, how to program in java, and how to use Twilio API. At the end of this stage, we were able to make the raspberry pi to send us an email with its ip address everytime on boot, program a java program that would read the values of a potentiometer and A/D converter using the GPIO pins of the raspberry pi, and program simple programs using the Twilio API to first send out a text, and then send a text as a response to recieving a text.
link to final code
Raspberry Pi Zero
This is how we set-up the pi / refer to code
This is how we wired the pi / add Pics of wiring* - possible diagram we can refer to
This is how we set-up vibration sensors / refer to code
This is how we set-up the battery
Overview of twilio
this is how we set-up twilio / refer to tutorial / refer to code
this is how we successfully got consistent communication / refer to code
this is how we incorporated user input / refer to code
this is the purpose of our flask app / refer to code
this is how it was used
this is why it was needed for communication
Design of Case
After finishing most of the softwares for our device, a solid cover was then needed to enclose everything. This was necessary in order to prevent loose cords and wires from being exposed, for protection against drops and or damage, to be easily handled by a user, and of course for better device presentation. So the practicalities of having a good case was an obvious step we couldn't overlook.
3D Design Drafts
pics of drafts along the way and reasons for optimizations
Unfortunately, due to time and circumstance we weren't able to get our 3D designs printed. After news of the printers not working, we had to improvise. We ended up building a decent replacement case from the tools we had around us. We had ordered a battery and when it came in the mail it was much bigger then expected, even bigger then the pi. So we started with the cardboard box that the battery came in and went from there. We adjusted the size and made some cuts to the box to be optimized to fit the pi. Much of this done by trial and error, we cut holes into the box for the port holes and found good spots within the box to fit everything to go inside of it. First we attached the battery to the inner corner using duct tape. Then we screwed in the pi to the bottom using the holes in the corner of the zero with very small screws. Then we laid our breadboard and A-D converter along the inner wall of the box to prevent stuffing the box too much. The vibration sensor being attached to the pi, we stuck it out the box and attached it to the bottom so that the sensor can get good reads and direct contact to a laundry machine. Our final touch was to add the magnets to the bottom of the case. After taking apart the store-bought magnets we proceeded to hot glue the medal part on to the bottom of our device. The magnets were used to give it better attaching to a laundry machine.
reason for it
reference code through pics or link
how we implemented it with Twilio and the pi refer to final code
pic of final product and basic overview of functions
how we optimized our device for demo day and pic of final poster :)