My project idea is a small device that helps beginner fish owners take care of their fish by
- Measures water temperature.
-Measures the turbidity of water.
My project is inspired by:
Aquarium Enthusiasts:
Many aquarium owners struggle to maintain optimal water conditions manually. so my device automates this process, making it easier for both hobbyists and professionals.
Environmental Monitoring Systems:
Similar systems are used in large-scale environmental monitoring (e.g., lakes, rivers, and oceans) to track water quality. My project brings this technology to a smaller, more accessible scale.
GRABCAD to download the electronic components that are mounted into the design.
I used Fusion 360 to design my file which will be printed or cut.
For leaser Part
I started drawing sketches for each side, starting with the bottom, then I started drawing the other sides and making sure that each sketch I drew was fully defined.
After making sure that all the sketches were fully defined, I started extruding them 3mm to match the thickness of the wood sheets.
Base
Base
Lid
Lid
Back
Back
Front
Front
Side a
Side a
Side b
Side b
For 3d Part
I started drawing a sketch over the back. And I gave it dimensions so that its width would be 3m greater than the thickness of the wood on each side.
After drawing a rectangle widthwise, I drew another rectangle lengthwise to give the shape its length.
Next, I drew another rectangle with a width of 9m to make the part that will hang the device from the aquarium.
Now I have all the sketches so I extruded them.
I drew a panel in the middle and used the mirror tool.
Now the shape is ready
I used the felt tool to make the edges of the shape stronger from the inside.
Now the hanger is ready for extraction and printing.
After I extruded the sketches, I had the elements of the project, so i grounded the bottom so it would be easy to connect the rest of the elements and electronics to it, then I started connecting the elements and electronics to it so that the shape of the project gradually began to appear.
For laser cuter
I chose the outer parts and components to be cut and colored them black, and I chose the pattern I drew to be engraved and colored it blue.
I marked the pieces in black, set the power to 65 and the speed to 10, and gave the engraving the color blue, set the power to 50 and the speed to 250
For 3d printing
I used Cura to modify the 3d file to print it on a 3d printer.
I used a 3D printer to print the file I prepared using Cura
I used PLA filament for 3D printer.
I entered the piece
Then I used the mirror tool to duplicate it.
I set layer height 0.1 for high quality.
Because the piece was small and the contact surface area was large and because of its shape I did not need any Suppotr and made the Infill 20%
INPUT :
-Temperature sensor : to measure temperature
-Turbidity sensor : to measure turbidity
Action components
-LCD : Display sensors measurements
-Buzzer : Alarm when turbidity level rises
-LED : Lights up when the temperature rises or falls
Small breadboard: To connect the circuit.
LED: I will use it to lights up when the temperature rises or falls
Buzzer to make a sound
Jumper Wires.
LCD to display sensor measurements
Arduino Uno device controller
Water turbidity sensor to measure turbidity
Water temperature sensor to measure temperature
Circuit and connection
I used fritzing to explain the circuit
Full Circuit
I started connecting the LCD and connected the positive and negative terminals to the positive and negative terminals on the board, then I connected the SDA pin to the A4 pin of the Arduino, and I connected the SCL pin to the A5 pin of the Arduino
Then I connected the turbidity sensor, connected the negative and positive terminals to the negative and positive terminals on the board, then I connected the middle pin to the Arduino A0 pin
Then I connected the LED and the buzzer, connected the negative to the negative, and before connecting the negative of the LED, I connected a resistor so that it would not burn out, and I connected the positive pin of each of them to a different pin on the Arduino.
Then I connected the temperature sensor, connected the negative and positive terminals to the negative and positive terminals on the board, then I connected the middle pin to the Arduino A1 pin
The appropriate power source for my project is 5V because all my components do not need more than that, and the most important reason is that I will operate the Arduino via the power source by connecting Vin pin, and if I connect it to more than 5V it will burn out.
Adaptor 5V :The source of electricity.
I started defining the LCD library because I would need it. I didn't need any other library, so I moved on to the next step.
I searched on Google for how to use the temperature sensor and found this site and found a code as well, so I took what I needed from it after I understood it.
I identified some variables I would need and gave them values that I would use in the equation to measure and convert temperature.
Then I defined some other variables for the pins that I would use and gave them a suitable name for the function.
As for the void setup, I set the begin at (9600) and I started defining the LCD.
Then I defined which pins I would use, what are the OUTPUT pins and what are the INPUT pins, and I made a temperature variable that I took from the site mentioned above.
For void loop, I defined a variable to store the turbidity sensor readings, and I searched on Google for how to operate it as well, and I found this Youtube video
I took the map from the site which I will need to measure and adjust the turbidity.
As for the equation for the temperature sensor, I took it from this site.
I started to determine the places where the words and measurements would appear on the LCD.
The first column is dedicated to water turbidity and the second to water temperature.
I started setting the conditions and started with the first condition, which is if the turbidity level is smaller than 20, the buzzer will not sound, and if the temperature is greater than 20 and less than 27, the LED will not light up, and these are the ideal conditions for fish.
If the temperature is less than 20 degrees, the LED will light up and then turn off, and the screen will show that the water is cold and needs to be warmed up.
If the turbidity level is greater than 10 and less than 50, the buzzer will make a sound, but not loudly, and the screen will show that the water is not that clean and it is preferable to change it, in order to alert the user.
If the temperature is greater than 27 and less than 30, the LED will light up and display that the water is warm, to alert the user.
If the degree of hatred is greater than 85, the buzzer will emit a loud sound to alert the user and the screen will display that the water is not clean and must be cleaned because this is not suitable for fish.
If the temperature rises above 30, the LED will light up to alert the user, and the screen will show that the water is hot and must be cooled because it is dangerous for fish.
I started placing the board on the base.
I had put the power socket in place and it is what the adapter will be connected to.
Then I put the side in place and connected the negative and positive terminals to the board in the vertical lines.
Then I moved on to connect the sensor.
I connected the turbidity sensor first, I connected the positive and negative to the board’s positive and negative
And I connected the last wire to the Arduino pin
Then I connected the Arduino's Vin to the positive pin on the board.
Then I started connecting the temperature sensor. I connected a 10K resistor from the positive terminal to one of the cross-pins on the board.
Then I connected the negative terminal of the sensor to the negative terminal of the board and connected the positive terminal to the same line of the resistor.
Then I connected a wire from the Arduino pin to the same positive line of the sensor and resistor.
Then I connected the negative of the Arduino to the negative of the board.
The buzzer is connected directly to the Arduino via pin 11 to the positive pin, and the negative pin to the negative pin of the Arduino.
I connected the LED with two wires so I could put it in the lid.
Then I connected the negative terminal of the LED to the same line as the 220 resistor that I had previously connected to the negative terminal of the board.
I tested the circuit before connecting the LCD.
Then i started connecting the LCD and connected the positive and negative terminals to the positive and negative terminals on the board.
Then I connected the SDA pin to the A4 pin of the Arduino, and I connected the SCL pin to the A5 pin of the Arduino
Last test before assembling all parts
After assembling all the pieces it is time for the nails.
Device Test
The temperature and turbidity are good
The turbidity is higher than usual, but not too much (the buzzer sound is relatively low)
High temperature and turbidity (LED and buzzer working)
The first problem I faced was drawing the hanger. I didn’t know where to start, so I got help from my Instructor , Ahmed Khaled. He suggested that instead of trying to draw it in a new sketch like I was doing, I should draw it directly on the back. He helped me start drawing it, and I completed the rest.
I separated the front part
I have the wire alone
Then I passed the wire
Then I collected it again
The second problem was when I wanted to pass the sensor wire through the hanger. The wire size was suitable, but its tip wasn’t, so I thought of unscrewing it, passing the wire through, and then reassembling it. The idea worked (I got some help from Dina in reassembling it again 😅)
I faced another problem when connecting the circuit on Fritzing. I did not find all the components at first, so I asked for help. My friends suggested that I search for the name of the component and then type Fritzing. Indeed, I found the component.
Another problem is that when cutting the base for the first time, the nail holes were not strong enough, so they broke. I solved the problem by adding 3m on each side of the square.
If I had more time I would have added a water boiler to heat the tank water based on the sensor readings.