I've seen how automated toilets work and wanted to turn my home's ordinary toilet into an automated toilet too. So I created a few contraptions using my NXT set to carry out some of the functions of an automated toilet.
The first contraption is the automatic toilet tissue dispenser. A motor drives two pairs of wheels, which act as rollers to pull the tissue through. The wheel has enough grip such that you can tear a piece of the tissue off without pulling the entire reel of paper out. There's also a light sensor mounted between the tissue outlet and a piece of black paper. I'll explain the programming later.
The second contraption is the flusher. The actual mechanism is the tall, tower-like structure; the partially-dismantled cases are just there to add some weight. I used a rack-and-pinion mechanism to drive a beam downwards, which flushes the toilet.
Everything is connected to the NXT, placed beside the flusher. A ultrasonic sensor is mounted to the NXT. The picture at the very top shows the entire project. The wire hanging down from the toilet tank is the programming wire, which leads to my laptop (not in the picture).
Here's the programming. The NXT will wait for the ultrasonic sensor to sense a person approaching, by comparing the distance between itself and the nearest object. Assuming that every person entering the toilet will use the toilet, the NXT will then patiently wait for you to do your business. If you're a male, and just taking a piss, then eventually you will walk off without needing any help from the tissue dispenser. So if the ultrasonic sensor senses that you've walked away, then it will return to its original state - waiting for people to enter. But if you've sat down, then the ultrasonic sensor will sense that the distance between itself and you have decreased below a certain threshold, then the NXT will wait for the touch sensor to be pressed. Once you've down your business, and if you need toilet paper, then you press the touch sensor to notify the NXT.
Once the touch sensor is bumped, the motor in the dispenser rotates a certain amount to pull a portion of the reel of tissue out of the outlet. You can then tear the tissue out and use it. Once the light sensor in the dispenser senses that you've torn out that portion, the motor then releases another portion. Once you're done, you will then walk off to wash your hands (assuming that you do, but the robot really doesn't care), then the ultrasonic sensor will sense that the distance has increased a lot. The motor in the dispenser will then retrieve the unused portion of the tissue. At the same time, the flusher will activate, flushing the toilet bowl. Then the NXT will return to its original state, waiting for people to approach, at which the cycle will repeat.
Like any other project, I've recorded a video of it functioning, but due to the complexity of the program, it's hard to show every aspect, so the video is rather unclear.