Weekly Progress
1/2/23 - 1/8/23
We met this week before our first official meeting to talk about our schedules the direction we wanted to take during the proposal course. We came up with 9 ideas to pitch during our first meeting with Dr. Ejaz.
Week 1: 1/9/23 - 1/15/23
Kenneth - I created the Wix site for our project. I used previous students sites as a guideline to ensure we had all the proper information we need to add in future updates. If we didn't have the information yet, I add placeholder tabs. I also created a weekly spreadsheet to keep track of our meetings with Dr Ejaz. our project direction seems to be for the Smart Bath Tub.
​
Ruben - I created a basic hardware block diagram, software block diagram, and process flowchart for our Smart Bath Tub idea. They are all subject to change as the idea evolves based on our conversations with Dr. Ejaz and the components used in the project. All three are uploaded to the website under the diagrams/flowcharts tab.
Week 2: 1/16/23 - 1/22/23
Kenneth - Added more updates to the website and started to write some sample codes in C++ format. They aren't complete or 100% correct but I wanted to get some ideas out to control the hot and cold water solenoids as well as the drain solenoid. I am attaching the starting code below.
​
#include <iostream>
#include <chrono>
#include <thread>
#include <cstdlib>
#include <ctime>
const int TARGET_TEMP = 100; // target temperature
const int HOT_WATER_SOLENOID = 1; // solenoid number for hot water
const int COLD_WATER_SOLENOID = 2; // solenoid number for cold water
const int DRAIN_SOLENOID = 3; // solenoid number for drain
const int DESIRED_WATER_LEVEL = 10; // desired water level in litres
int readTemperature(); // function to read temperature from sensor
void openSolenoid(int solenoidNum); // function to open a solenoid
void closeSolenoid(int solenoidNum); // function to close a solenoid
int readWaterLevel(); // function to read water level
void turnOffSystem(); // function to turn off the system
int main()
{
openSolenoid(HOT_WATER_SOLENOID); // open hot water solenoid
openSolenoid(COLD_WATER_SOLENOID); // open cold water solenoid
std::chrono::seconds waitDuration(60); // wait 60 seconds
std::this_thread::sleep_for(waitDuration); // wait 60 seconds
closeSolenoid(HOT_WATER_SOLENOID); // close hot water solenoid
closeSolenoid(COLD_WATER_SOLENOID); // close cold water solenoid
openSolenoid(DRAIN_SOLENOID); // open drain solenoid
while (true)
{
int currentTemp = readTemperature(); // read the current temperature
int waterLevel = readWaterLevel(); // read the current water level
if (waterLevel >= DESIRED_WATER_LEVEL)
{
closeSolenoid(HOT_WATER_SOLENOID); // close hot water solenoid
closeSolenoid(COLD_WATER_SOLENOID); // close cold water solenoid
std::cout << "Water level reached desired level." << std::endl;
turnOffSystem(); // turn off the system
break;
}
else if (currentTemp < TARGET_TEMP)
{
closeSolenoid(COLD_WATER_SOLENOID); // close cold water solenoid
openSolenoid(HOT_WATER_SOLENOID); // open hot water solenoid
}
else if (currentTemp > TARGET_TEMP)
{
closeSolenoid(HOT_WATER_SOLENOID); // close hot water solenoid
openSolenoid(COLD_WATER_SOLENOID); // open cold water solenoid
}
else
{
closeSolenoid(HOT_WATER_SOLENOID); // close hot water solenoid
closeSolenoid(COLD_WATER_SOLENOID); // close cold water solenoid
}
}
return 0;
}
int readTemperature()
{
​
Ruben - I created both the budget and power budget based on the components we know are needed. I also began researching creating an app to control our system utilizing an Arduino microcontroller as I have experience working with Arudino microcontrollers. I found MIT App Inventor which functions similar to the LABView program utilized in some courses in the Electrical/Computer Concentration BS path at Valencia. The following is a demonstration of the functionality of an App created in MIT App Inventor for an Arduino controlled system: App Demonstration
Week 3: 1/23/23 - 1/29/23
Kenneth - Updated the website a bit further. Added the weekly meeting spreadsheet as a live excel spreadsheet.
​
Ruben - I began researching how to build circuits to control the water flow with the solenoids, measure the water flow with the flow rate sensor, temperature with the temperature sensors, and pump the aromatherapy with the pumps. Based on the circuit diagrams found, I have updated the power and cost budgets adding additional components such as diodes, transistors, and waterproofing.
Week 4: 1/30/23 - 2/5/23
Kenneth - In order to prove our concept, we feel we need a full size tub. This comes with its own set of challenges. Storage, cost, testing are all issues we're trying to work out at the moment. I am currently searching for a used or possibly very cheap tub or tub alternative to use for the project. In order to build our design, we will have to frame and add plumbing for any vessel we find.
​
Ruben - Based on the conversation with Dr. Ejaz during this week's meeting, we need to have an idea of how everything is going to function from the beginning to end of the process. Also there needs to be a way to keep the water warm or increase the time it takes for the water to cool down. Dr. Ejaz suggested a heating coil wrap around the inner shell of the tub to heat the water. I created a PowerPoint to help illustrate the functionality of the system from start to finish for the next meeting: Smart Tub Slideshow
Week 5: 2/6/23 - 2/12/23
Kenneth - I found a tub! We were very fortunate to find a new-in-box tub​ from a family who could not use it in their renovation as planned. Unfortunately for them, the corner of the tub cracked before they could return it so they were stuck with it. This worked out well for us as it has zero affect on the structural integrity of the tub and will work amazingly well for the $40 we spent. Now that we have the tub, I started drawing up diagrams to help visualize the final product.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
This is the tub from the wall side view. We have chosen an in-line water heater with a pump to circulate and maintain water temperature. The pump will need to be installed higher than the drain and intake that we drill to properly drain. Building code also states that the pump must be installed with an access panel. This will be added to the back side of the framing.
The Faucet will have a temperature sensor and will also receive hoses from the peristaltic pump to mix in essential oils and scents.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
This diagram shows the front wall of the tub. Essentially what you would see while you were in the tub looking at the faucet. In a perfect scenario, the touchscreen would be installed at eye level on a wall in front of the tub, but for our demonstration, we will mount it on the walls we used to frame the tub. To the opposite side, we will build a niche for storing and organizing the oils and fragrances. These will need to be accessed by customers to refill/replace or any other number of reasons. Therefore, it will receive a decorative panel to remain inconspicuous but easily accessible. On the back side of the framed wall, we will install the peristaltic pumps. These will dispense the decided amount of product to the water stream during the fill process.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
This is a close up view of the faucet. The temperature sensor will be attached to the underside of the faucet behind the framed wall. The sensor will feed information to the Arduino PCB for controlling the temperature of water entering the tub. The top of the faucet will receive the tubes from the peristaltic pumps so the mixing of oils into the bath water will be more efficient and cleaner than dispensing them directly into the tub.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
This is a basic diagram of the heating element we are hoping to install. There's not much information on the part yet but this diagram will be useful once we get our hands on the element.
​
Ruben - I updated the Hardware Block diagram to include a Sensor Module, Control Module, Fill Module, and Comfort Module. I also found a water pump/heater combination to use instead of the heating wraps. This will allow us to heat the water after the tub has finished filling. With the purchase of the tub and changing from the heating pads to the pump, I have updated the proposed cost and power budgets. While the power required has increased due to the pump/heater, the cost has decreased from almost $800 to just over $600. I also have begun creating apps using MIT App Inventor to better understand the process and functionality. The software block diagram has also been updated with the pump/heater, using a flow rate sensor instead of water level sensor, closing the drain after the water is hot instead of a set time, and using a solenoid for each waterline instead of one with a mixing valve.
​
​
Week 6: 2/13/23 - 2/19/23
Kenneth - Focused on removing all of the unnecessary features on the website and polishing up the sections suggested by Dr. Ejaz. Added a references tab to make sure we add the information as we utilize different resources.
I purchased the in-line water heater for the tub from Home Depot. The only option to receive it was via shipping and it states it will arrive on or before 3/14/2023. Total cost after tax is $308.45.
The part is pictured below.
​
​
​
​
​
Ruben - I added the power module to the hardware block diagram and researched solutions to controlling the water heater/pump. The solution is a WIFI smart plug rated at 15A. The pump takes 13.5A Max and will turn on/off when the plug turns on/off. With this addition, I created the engineering specifications spreadsheet. I also edited the weekly progress log to better differentiate between the group members.
Week 7: 2/20/23 - 2/26/23
Kenneth - This week I began researching how to make 3D models in AutoCAD for the project. Since neither Ruben nor myself have used a software program like this before, I found a helpful tutorial from freeCodeCamp.org on YouTube. It is a thorough introduction course to AutoCad and also provided links for a free student download, and a PDF of helpful AutoCad shortcuts. I am embedding the video and adding links to all the helpful documents.
​
​
​
​
​
​
AutoCAD Basic Commands Library [1]
​
I also made made a weekly timeline for the project build as well as a Gantt Chart both pictured below.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Ruben - This week I redesigned the process flowchart to increase the flexibility of the system, allowing the user to dispense the aromatherapy after the tub has completed filling. I also removed the touch panel from the hardware block diagram since it would just have the phone app loaded on it. I also began writing the proposal report, completing the abstract and chapter 1. Missing from chapter 1 is the discussion of the survey which will be completed at a later date, the 3D design of the system, and the comparison chart between our project and the Kohler PerfectFill.
Week 8: 2/27/23 - 3/5/23
Kenneth - Worked on Chapter 2 of the report. ​
Created a survey using Google Forms and posted it in a forum to get feedback. The link for the survey is linked below
​
​
Ruben - Completed Chapter 1 related products comparison table/section. Worked on Chapter 2 of the the report.
Week 9/10: 3/6/23 - 3/19/23 (Spring Break)
Kenneth - I updated the weekly timeline to reflect all weeks moving forward from 3/20/2023. I am reposting below. I also added the survey results to Chapter 1 of the proposal report and discussed what those results mean for the projects in the future. I am also writing Chapter 4.
​
​
​
SURVEY RESULTS
​
​
​
​
​
​
​
​
Ruben - I have began ordering parts. The first package has arrived. Some components have longer shipping times will be arriving over the next few weeks. Chapter 2 of the report is also updated according to the meeting notes from last advising session. Chapter 3 is completed and ready for review. Also created a survey results tab and added the results to the page.
Week 11/12: 3/20/23 - 4/2/23
Kenneth - Began ordering parts and checking current inventory. Updated Gannt chart to reflect true weekly timeline. Started the tub framing and getting ready for transport. Adding a rolling subfloor for easier maneuverability. Some pictures of the progress are below.
​
​
​
​
​
​
Ruben - Continued receiving components. Completed references, table of contents, group members, and revisions of report.
Week 13: 4/3/23 - 4/19/23
Kenneth - Went to the the open lab to learn some Auto CAD and create a 3D render to replace the sketch from figure 1. The results are posted below. Began dry fitting the plumbing for the heating unit and drain in the framing of the tub. An oversight on the drain is that drain plumbing is 1 1/2", not 3/4" as originally thought. With no 1 1/2" solenoids available at an affordable cost, we have decided to make the drain a "T" and add two 3/4" solenoids.
I also updated Gantt chart to fit on one page in landscape mode for the report.
​
​
​
​
​
​
​
​
​
​
Ruben - Added report section 2.2.5. Revised Table of Contents, List of Figures, List of Tables, and references. Began working on presentation slideshow.
Senior Design EET 4950