You are the Nature is the first step towards connecting yourself to nature. The project monitors your heart rate and controls the speed of the flow of water for your office table’s fountain. The faster your heart beat, the higher the flow of water, the more natural sound and the more relaxing your environment. The device helps you to lower your heart rate without taking much for your attention and time.
My goal was to develop a system that helps us monitor our body’s status without requiring much processing from the user. Being that I have always been fascinated with human’s heart rate and how much data there is, I wanted to build something that does the monitoring for us in the background and shows us the result without giving us any numbers.
But when I got into designing the product, I realized the bigger goal in knowing our heart rate at any time is to monitor, and I thought wouldn’t it be much better if the design could actually do the monitoring in the background for us without getting us involved in the whole process.
I found that our body’s heart rate is hugely impacted by the sound in our environment. But finding a sound that is always playing without annoying the user is really hard, so I thought how about natural sounds. I decided to build a small table fountain that creates more water noise when the heart rate is hard so that it would automatically lower the user’s heart rate by relaxing them.
I did not have a table fountain nor a water pump, so to get started I replaced the pump with a DC Motor as the pump is simply a DC motor underneath and tried designing the circuit that can control the speed of the motor.
I did not have the heart sensor anymore, so I used a potentiometer as the input that controls the speed of the motor.
The DC Motor requires a higher voltage and current than what the Arduino board can offer with its pins, so I needed to design a circuit that would allow me to use a 9V battery to run the DC Motor and control the voltage using Arduino.
I was able to do that by using a TIP120 Transitorthat was controlled by sending a PWM signal to its base and completing the rest of the DC Motor circuit by passing it through the collector and the emitter legs of the circuit. The base signal basically acted as a switch connect the other two legs together at the rate of the PWM signal.
- Jumper wires
- Arduino Micro
- DC motor
- TIP120 transistor
- Rectifier Diode
- 220 Ohms Resistor
- 10K Potentiometer
- 9V Battery
I talk more about the challenges that I faced in the “Insights” section. What I was able to achieve was to control the speed of the dc motor using the potentiometer.
I initially tried using the feather ESP32 for the project so that the connection of the heart rate values would be much easier using the wifi, but after a deep dive into the coding I realized that I needed to use the PWM of the board, and because of the weird story going on with the PWM of the Feather I decided to use the Arduino Micro instead.
The hardest part of the project was designing a circuit that would allow an external 9V source to power up the DC Motor. I was able to find similar examples to it online, but all of the examples did not work. When I was trying to control the speed of the motor, I was only able to turn it off or on.
I tried writing my own PWM code using digital wite and delay and giving different timings for the delay base on the heart rate value, but the process just seemed too complicated and even after that I was still not able to fully control the speed of the motor.
After a bit of calculation, I found that the resistor value that I was initially using was too high (1K Ohm) and did not allow much current to flow into the transistor’s base. To get more current into the base, I changed the resistor to a smaller one (220 Ohm). That did the trick, and I was finally able to fully control the speed of the DC Motor.
I can use the same circuit to run any other device that requires higher voltage and current than what the Arduino can offer.
How to build your own Fountain:
How to control a DC Motor Speed using PWM:
The next step would be to purchase a 12V Liquid Pump and test the code with the pump itself. After that, I need to join this experience with the previous one, that measure the user’s heart rate so that I can replace the potentiometer with real data from a heart rate sensor. The final step would be to find the ideal body for the project that would also look nice on my desk.