Difference between revisions of "Laundry Alert Page"

From ESE205 Wiki
Jump to navigation Jump to search
Line 19: Line 19:
 
*Need Battery for power source
 
*Need Battery for power source
 
*Case (preferably 3D Printed) for enclosure, protection, and presentation of device
 
*Case (preferably 3D Printed) for enclosure, protection, and presentation of device
 
+
[[File:205 raspberry pi schematic bb.jpg | thumb]]
 
===Software===
 
===Software===
 
*Distinguish between vibration and no motion
 
*Distinguish between vibration and no motion

Revision as of 03:37, 28 April 2018

Our Product

The Laundry Alert Device!

Overview

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, a vibration sensor. 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.

Project Proposal Presentation

https://docs.google.com/presentation/d/1_Z8Xa3uJgJewrvXhD7aH8ir0iT577_uLS-mbA0qntTQ/edit?usp=sharing

Team Members

  • Ezra Blair
  • Young Wang
  • Billy Gilbert Habimana Cyusa
  • Ellen Dai (TA)
  • Jim Feher (Instructor)

Objectives

Hardware

  • 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
205 raspberry pi schematic bb.jpg

Software

  • 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

Challenges

  • 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

Gantt Chart

Gantt chart 205 version 2.jpg

Budget


Link to weekly log

Design and Solutions

link to final code

Raspberry Pi Zero

Set-up

This is how we set-up the pi / refer to code

Wiring

This is how we wired the pi / add Pics of wiring* - possible diagram we can refer to

Vibration Sensors

This is how we set-up vibration sensors / refer to code

Battery

This is how we set-up the battery

Twilio

Overview of twilio

Set-up

this is how we set-up twilio / refer to tutorial / refer to code

Communication

this is how we successfully got consistent communication / refer to code

User Input

this is how we incorporated user input / refer to code

Flask app

this is the purpose of our flask app / refer to code

ngrok

this is how it was used

Communication

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

Improvisation

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.

Que

reason for it

Que Drafts

reference code through pics or link

Implementation

how we implemented it with Twilio and the pi refer to final code

Final Product

pic of final product and basic overview of functions

Demo Day

how we optimized our device for demo day and pic of final poster :)