Monday, May 11, 2015

Final Project Overview


This post will be a combined walk-through and reflection of my final project, an automated toilet flushing device.

Idea
Because the noise of a flushing toilet is so loud, children often get scared when they flush, or do not flush at all. To fix this problem, my partner and I aimed to create a device that, once a child has pressed a button indicating that they want the toilet to flush, will sense whether the child has left the stall or not. If the child has not left the stall, the flush will delay an appropriate amount of time to allow the child to leave. If our device senses that there is no child in the stall, the toilet will flush immediately.

Note: After talking to a director at the preschool, we determined that the appropriate delay time would be ten seconds.

How It Works
Our final piece, from the outside, was an opaque box that could be mounted on top of a toilet tank via suction cups, with only an ultrasonic sensor and a large yellow button visible. Once a child is ready to flush, she or he will push the button. Then our sensor, which is constantly detecting values, will determine whether a child is still in the stall based on a value that my partner and I have programmed into our code (detailed in post "Final Project Week 2"). If a child is detected in the stall, the program will delay for ten seconds and then signal to the motor to run in reverse for ten seconds then run forward for ten seconds. by doing this, a rod-type piece that is attached to the motor of the flushing device we purchased moves up and then down again, like the way that two gears might turn together. This up and down motion lifts a rod within the toilet that opens and then closes a valve, causing the toilet to flush. If no child is detected, the program will operate similarly just without the delay. The program then resets.

Our final piece from the outside.
Our final code.
Thoughts and Improvements: I would have liked to have built the flushing device by hand, and given more time we would have. We did have an original design for how we might do that (detailed in post "Final Project Week 1") but it required way too much force for the motors available to us. However, while we didn't build the device that actually flushes the toilet, it uses many things that we learned in class such as gear trains and converting circular motion to linear motion. I also would have liked to make the code more advanced, and I think that would be a good challenge for a future group to work on. Ideally, the code would be able to say that if a child was sensed, but the child leaves before the delay is finished, it is okay to flush before the end of the delay. Currently our code waits a fixed delay time if a child is sensed after the button is pushed. However, our code certainly still accomplishes everything we wanted our device to do and I'm pleased with the final outcome when we demonstrated our product in class (Unfortunately our prototype wasn't the most audience friendly for a demo because most of what visibly goes on is inside the tank).

Putting It All Together
This part of the process was the most fun for me because it was the most hands-on. To house all of our parts (Arduino and breadboard, sensor, button and battery pack) we started out with a clear plastic box. It was important to us that the box be opaque so that the children wouldn't be tempted to go inside and potentially hurt themselves or mess up our device. This is why we spray-painted our box silver (most people thought it was metal from far away, which I thought was neat). Further, we cut holes in the box to house the sensor and the button, which need to be visible from the outside (detailed in post "Final Project Week 3"). Also, because the lid of the box stuck out over the edge, our box sat tilted on an angle when placed on its side. We thought that this might affect the sensor value readings, so to remedy that we glued a thick piece of Delrin to the side of the box, creating a level surface. Then we stuck suction cups on so that an instructor could easily remove the device from the toilet if necessary (we also made it easy to change the batteries). Everything inside the box required a lot of soldering (and re-soldering) to reinforce the bonds between the Arduino and the ultrasonic sensor, button and battery pack. From there we secured all of our parts inside the box and hooked up the flushing device to the toilet tank.

Thoughts and Improvements: Looking back I would have liked to use a box that looked cleaner cut and possibly more compact, just for the purpose of aesthetics. However our design was not messy fro the outside whatsoever and I do not think it would be difficult to install or look out of place in a bathroom. I also wish, although this might be minor, that we had found a way to make the holes in the box look cleaner, but sanding then down was the best we could think of to achieve this.

The inside of our device.
Final Thoughts
I felt that our final design looks simple and is unobtrusive enough to be used in any school — or home, for that matter. The director of the preschool had very positive comments about our product, saying that it could be sold in stores, which is an encouraging response. During the demonstration our product worked exactly as it should and even though is was difficult for the audience to see this, I'm actually pleased that the motor is so quiet, as this is an added feature of the product. Other than the improvements I suggested above, I am very pleased with the outcome of our project and am only sad that there isn't more time to continue improving upon it.

Olivia and me with our project.


1 comment:

  1. I liked how discreet the flushing of the toilet was. A good way to not scare the children. Great job!

    ReplyDelete