Project

# Title Team Members TA Documents Sponsor
21 ShowerSync
Edward Xiong
Keshav Dandu
Reet Tiwary
Nikhil Arora design_document2.pdf
final_paper1.pdf
photo1.png
photo2.jpg
presentation1.pdf
proposal2.pdf
video
# Title: ShowerSync

Team Members:

- Edward Xiong (exiong2)
- Keshav Dandu (kdandu2)
- Reet Tiwary (rtiwary2)

# Problem

Imagine running late for something. You are not only scrambling to finish last minute work, but you also still need to shower. Now you have to wait on your water getting just to the right temperature, but also waste a ton of water in the process of it all, altogether causing you to just show up late and increasing your water bill.

With this type of situation, there are already products in the market that can adjust temperatures beforehand and have it as a preset. For example, smart showers are nice in that way because users can have a chance to control their desired water temperature, allowing time for the water to reach the desired preference all through a mobile application with Bluetooth included. But not everyone can afford a smart shower as it is expensive and requires a whole shower/bath renovation process.

With this in mind, there should be a cost-effective and environmental-friendly solution where users can send their desired temperature request to the shower’s faucet system in advance, allowing the shower knob/lever to adjust depending on how hot or cold the water is before the showering process whilst also not having to waste so much water. Additionally, we should have a solution that can be simply installed, preventing any serious bathroom renovation processes that have additional costs. Finally, a way to save and reuse the water that wasn’t at the desired temperature.

# Solution

In our project, we aim to create a convenient and efficient self-adjusting shower knob/pin system with a compartment to store and reuse any water outside of the desired temperature.

The system comprises a temperature sensor, a motorized pulley mechanism that can be easily attached to various shower knobs and faucet pins using a two-piece design, and finally a removable container located near the faucet which stores any water outside of the desired temperature through a tubing system into the container to be reused. When the sensor is able to detect the correct temperature through the faucet, the faucet pin is pulled through the pulley system, allowing the accurate water temperature to be dispersed through the shower nozzle and saving the user’s time as well as their showering process.

The temperature sensor accurately gauges the water temperature passing through the faucet system, while the motorized pulley system ensures that the shower knob is adjusted to match a predefined temperature setting and that the faucet pin is pulled when the desired temperature is reached, indicating to the user that the shower is ready. When the desired temperature has not been reached, the faucet has a tubing system that stores any water outside of the desired temperature into a container which can be removed and reused for other household purposes.

The entire system is controlled by a microcontroller, and to enhance user experience, we plan to incorporate wireless communication using a Bluetooth module. This wireless capability allows users to remotely adjust the shower temperature without the need to physically interact with the knob and pin, so the shower is ready to go.

The self-adjusting shower knob/pin system and the faucet tubing system provide comfort and convenience but also minimizes water wastage by precisely regulating the desired water temperature and saves any water outside of temperature regulation into a usable container for alternative purposes.

Additional features, such as a user-friendly mobile app interface and real-time temperature feedback, can be integrated for an enhanced and customizable showering experience while also being cost-effective.

# Solution Components

We split up our project into five different subsystems, the first is the shower knob subsystem which consists of all the physically moving components, and the sensors. Specifically the temperature sensor is located at the faucet, the motors that would control the rotation of the shower knob allowing the knob to adjust to the right temperature accordingly.

The second subsystem is the water-saving subsystem. Since the water is constantly being regulated pre-shower to achieve the user’s desired water temperature, we plan to set up a container near the water faucet that can be placed, removed and reused all whilst storing any water that was not at the right temperature. The faucet will contain a small tubing system which will pass any water with temperatures outside of the user's requirements into a container which can be removed, allowing the water to be reused in other household manners, preventing water wastage. Once the sensor is able to sense that the desired water temperature has been reached, the third subsystem will be enacted.

The third subsystem is the faucet-pin subsystem. Similar to the knob-pulley mechanism, the faucet-pin system will use motors to lift the faucet pin up and allow the desired water temperature that was already reached to be passed through the shower nozzle/head. We separated this system so the pin knows that it is ready to be used when temperature has been reached and the shower is ready for the user.

The fourth subsystem is the transmission subsystem. We currently plan to set up an application for a phone that would be able to connect and communicate with the system to set the temperature we would like the shower to be set to. We are calling this the transmission subsystem because we would like to keep room for flexibility if we decide to go with a different approach to communicate with the system down the line. Possibly the application can notify the user that their water temperature has been achieved and to allow the pin system to be enacted by the application, so user can go in with a shower that is ready to go

The last subsystem is the microcontroller subsystem which would be the connecting piece between the parts of the shower subsystem along with the transmission subsystem. This would likely hold the PCB and be the brains of our project which would be the bulk of our work.

# Shower Knob Pulley Subsystem:

- DS18b20 temperature sensor: [https://www.adafruit.com/product/381](url)
- SG51R: Servo motor: [https://www.adafruit.com/product/2201](url)
- Waterproof wiring: [https://www.adafruit.com/product/744](url)
- Waterproof Silicon encasing/3d print

The DS18b20 temperature sensor is a sensor that is specifically designed to be used for reading water temperature. We chose this sensor due to it being designed specifically with similar applications in mind and since it is cost-effective. The SG51R servo motor is the motor we plan to use to rotate the shower knob. It would be configured to do a pushing or pulling motion based on the temperature reading. Due to our system being in a shower and likely having water get all over it, we have begun looking into ways to waterproof the system beginning with the electrical components. We found waterproof wiring that we would likely use between the sensor to the PCB and the PCB to the motor. We also have to consider water getting onto pieces such as the motor so we are also looking into the possibility of a 3D printing material that would be waterproof so that we could create perfect structures to encase the motor and other delicate components in. If this is not feasible the next option we would consider is waterproof encasing that are premade and are made of a material similar to silicon.

# Faucet-Pin Subsystem:

This contains any similar pulley motor mechanisms for the shower knob pulley system as well below are the potential plastic fasteners/plastic arm materials:

- Waterproof Command Mounting Strips: [https://www.amazon.com/Command-Water-Resistant-Refill-Strips-4-Strip/dp/B000WSNM9Q#:~:text= Can%20you%20hang%20Command%20 Bath,hold%20strongly%20in%20humid%20environments.](url)

- Knob/Arm Connection: [https://www.homedepot.com/p/Everbilt-3-4-in-Side-Release-Buckle-822641/204804336](url)

- Faucet Pin: using a pulley system to lift it up or let it at rest when temperature is ready and user is ready to shower, and at rest when shower is complete. Pulley system will communicate with the app so the user can press ready and the pin will be moved up with the pulley system and the user can press done to let the pin go to rest and shower/knob goes back to rest as well.

- Supporting Structure: [https://www.amazon.com/30pcs-Acrylic-Dowel-Sticks-Plastic/dp/B09TFWFZBW/ref=sr_1_2?crid=9IYPIDJ49IVS&keywords=thick+plastic+sticks&qid=1706145912& sprefix=thick+plastic+sticks+%2Caps%2C98&sr=8-2](url)

Above are components we would connect with our motor system to be able to grab the shower knob/handle, turning it as we would like to as well as being able to move the pin of the faucet up to allow water to pass through the shower head/nozzle. The first item which is mounting strips would be used to hold various pieces in place such as the waterproof wiring from different parts of the system. The next piece is similar to a buckle which the user could adjust the handle to fit around. We would then have this move with the motor to adjust the shower knob as we like. The last piece is clear rods which we anticipate to use in parts connecting to the motor as necessary to create a firm connection with the shower knob.

# Water-Saving Subsystem:

- Water Container/ Storage: [https://www.amazon.com/Reliance-Products-Desert-Patrol-Container/dp/B0002IW6IY/ref=sr_1_2?crid=JGWJWRY3QZFI&keywords=6.30%2Binches%2Bby%2B14.80%2Binches&qid=
1706314521&sprefix=6.30%2Binches%2Bby%2B14.80%2Binches%2Caps%2C85&sr=8-2&th=1&psc=1](url)

- Faucet Tube (we do not need to sprayer, we can cut and customize it to fit into the water storage container): [https://www.amazon.com/Rinseroo-Tub-Faucet-Hose-Sprayer/dp/B0BJGX7P7K?th=1](url)

- Waterproof Command Mounting Strips (if needed): [https://www.amazon.com/Command-Water-Resistant-Refill-Strips-4-Strip/dp/B000WSNM9Q#:~:text= Can%20you%20hang%20Command%20 Bath,hold%20strongly%20in%20humid%20environments.](url)

- Water Container Holder (to move container in and out of): [https://www.amazon.com/mDesign-Plastic-Stacking-Organizers-Containers/dp/B01AO1Q1KC/ref=sr_1_11_sspa?crid=1YZA923WSGGF9&keywords=14.75%2Bby%2B6.25%2Bstorage%2Bbox&qid=1706314828&sprefix
=14.75%2Bby%2B6.25%2Bstorage%2Bbox%2Caps%2C106&sr=8-11-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY&th=1](url)

Above would be the components we would connect to the faucet of the shower altogether. The faucet tube is adaptable and can be adjusted from our side to keep the water flowing into the water container/storage which can be held on the bathroom shower wall beneath the faucet in a straight manner allowing the flow of the water to enter into the container. The mounting strips mount the container holder where we can place the water container in and users can move the container in and out of the holder easily and use it for other household purposes.

# Transmission Subsystem:

- HC-05 Wireless Bluetooth RF Transceiver: [https://www.amazon.com/HiLetgo-Wireless-Bluetooth-Transceiver-Arduino/dp/B071YJG8DR](url)

- ST7735R: LCD display (not yet confirmed since we need to find a way to waterproof this while being outside of encasing, there are waterproof LCDs though with current research) [https://www.adafruit.com/product/358](url)

The HC-05 transceiver is a very cost-effective receiver that would be compatible with our board. We currently are planning on using Bluetooth connectivity in our app to connect with our system or doing it over a WIFI network. In either case, the Transceiver would be able to do the job.

The ST7735R is a component in the case that we decide to pivot from the original idea of using a phone application and instead opt for a system where we would implement buttons or connect some kind of remote to control the temperature. It is unlikely that we choose to go in that direction but we have gone ahead and found this component as a starting point just in case.

# Microcontroller Subsystem:

- ESP32 Devkit V1: [https://www.amazon.com/ESP32-WROOM-32-Development-ESP-32S-Bluetooth-Arduino/dp/B084KWNMM4](url)

The board is very powerful with a dual-core processor and Bluetooth and WIFI connectivity which is specifically useful to make our transmission subsystem. It is also compatible with Arduino DOIT which could simplify work down the line. It is also very compact and has a very low power consumption while having a wide range of pins which would be useful in our case since we would want to make it as small as possible since it would make waterproofing or making a waterproof encasing easier.

# Criterion For Success

- The product must be able to accurately measure the temperature of the water through the faucet

- The product should be waterproof to prevent any damages this includes a casing for PCB, microcontroller components and more.

- Knob/Lever motor components must be able to recognize the temperature the user requests and will situate itself towards that specified temperature before showering process begins (a normal shower handle that moves from a variety of cold to hot can estimate where exactly a specified temperature may be area-wise).

- The product must be able to communicate with the user’s temperature request which will be through the transmission system (an application on the mobile device).

- The mobile application can allow the user to select the temperature preference at which they will want their shower to start at, the application should be able to deliver that user request to the shower knob pulley subsystem which will start regulating the temperature of the water.

- The product is able to sense any temperature that is not desired and pass the water through into the container.

- Once the product detects the correct temperature request, the user should be able to receive a notification about the temperature being ready and the user can press ready so that the faucet pin is pulled up and passes the correct temperature through the shower nozzle/head.

- When the shower is completed, the user can press done so that the shower knob goes back to rest, and the pin is dropped to rest, allowing the shower to stop altogether. At the end of the shower, user can use the container to take it out of the holder and use it for other purposes.

Dynamic Legged Robot

Joseph Byrnes, Kanyon Edvall, Ahsan Qureshi

Featured Project

We plan to create a dynamic robot with one to two legs stabilized in one or two dimensions in order to demonstrate jumping and forward/backward walking. This project will demonstrate the feasibility of inexpensive walking robots and provide the starting point for a novel quadrupedal robot. We will write a hybrid position-force task space controller for each leg. We will use a modified version of the ODrive open source motor controller to control the torque of the joints. The joints will be driven with high torque off-the-shelf brushless DC motors. We will use high precision magnetic encoders such as the AS5048A to read the angles of each joint. The inverse dynamics calculations and system controller will run on a TI F28335 processor.

We feel that this project appropriately brings together knowledge from our previous coursework as well as our extracurricular, research, and professional experiences. It allows each one of us to apply our strengths to an exciting and novel project. We plan to use the legs, software, and simulation that we develop in this class to create a fully functional quadruped in the future and release our work so that others can build off of our project. This project will be very time intensive but we are very passionate about this project and confident that we are up for the challenge.

While dynamically stable quadrupeds exist— Boston Dynamics’ Spot mini, Unitree’s Laikago, Ghost Robotics’ Vision, etc— all of these robots use custom motors and/or proprietary control algorithms which are not conducive to the increase of legged robotics development. With a well documented affordable quadruped platform we believe more engineers will be motivated and able to contribute to development of legged robotics.

More specifics detailed here:

https://courses.engr.illinois.edu/ece445/pace/view-topic.asp?id=30338

Project Videos