Back to Parent

Outcome


Intention

I, as many others in the Greater Pittsburgh area live in an apartment where the washroom is on the bottom floor of my house. I am also very forgetful and leave my clothes in the washing machine often. As such, my friends often come all the way down 3 flights of stairs to discover that my clothes are still in the washer or dyer (sometimes both lol). It’s caused a bit of tension between my roommates and they often just throw my clothes on the floor beside the washer. I figured there has got to be a better way…

Context

Introducing Washready™, the retrofit solution to all washing machine related roommate tension. Washready™ uses an accelerometer to register the vibration of the washing machine and sends the user a text reading “The washing machine is done. Go get your clothes before your roommates throw it on the floor!”, ensuring that the only clothes a roommate takes out of the washer are his own. 

Process

There were four levels to completion of our project: Basic - Status Indicator, Intermediate - Sensor Feedback, Advanced - Visual Alerts and Expert - Connect to the cloud by a remote alert. 

For the basic status indicator my goal was to blink a light when the sensor was collecting data. This included just a LED, accelerometer, photon and pushbutton. A few comments were that the LED turned out to be more of a task than I expected because I had to learn how to blink the LED without delay because the delay messed up the sampling rate of the accelerometer. Also, calibrating the accelerometer took a lot trial and error. 

Next I added another LED to the system that adjusted the brightness based upon how high the accelerometer reading was. For this I had to characterize the accelerometer (I shook the accelerometer as much as possible to register a maximum value) and I used the map function to take the accelerometer data and turn it into numbers that I could register on the PWM range. 

For the advanced level, I added a light that blinked three times to indicate that the cycle was finished. This was the largest coding task as the logic to register when the washer was done had to be developed and because it's linked to the shaking of the accelerometer I had to account for the edge cases: the sensor getting tapped accidentally and a random drop in the amount of shaking while the washer was on. To handle the first edge case, I used a wrote a function for a simple low-pass filter to make the system less responsive to major changes. The filter required some tuning (i.e. determining the value of alpha [see code]). The value also became a float when used in the filter which prevented the sensor feedback light from working so I pass the int function to the result of the filter in every loop. The second edge case was covered in the regular loop using boolean values for “on” and “delay” to ensure that only significant changes were registered 

Finally , for the expert level I had the photon send me a text when it registered that the cycle was finished. I used “If this then that” to send a text message to my phone once the cycle was registered finish. Using “if this then that” required understanding how Particle.publish worked but once that was accomplished it was relatively easy to add into the rest of the code 

 


     

    Img 0516.jpg.thumb
    Show Advanced Options
    Img 0517.jpg.thumb
    Show Advanced Options

    Product

    Despite a few bugs the project was able to make it all the way to the expert round and demonstrate functionality. It can send a text after it has registered the equivalent of “being finished”. The functionality only served as a “proof of concept” because I could not bring a washing machine to class. The next stage would be to replace the button with a correlation to the actual systems within the washing machine (i.e. the on/off dial) to allow the user to not even think about the washer. This way, I would never forget to turn it on.   

    Img 0519.jpg.thumb
    Show Advanced Options
    Img 0520.png.thumb
    Show Advanced Options

    Reflection

    While my professor called this project a “low-hanging fruit” it turned out to be a difficult task because of all the different lessons I had to learn. I had to calibrate the sensor, research and create a low-pass filter and create the logic for on and off , etc… In this way, the project was a great learning experience and it taught me a lot. However, for my next projects, I am going to air on the side of increased complexity and difficulty because it made me realize that no matter what project you do, there will be a lot of work that has to be done. 

    Show Advanced Options
    Show Advanced Options
    Drop files here or click to select

    You can upload files of up to 20MB using this form.