A Fish's Paradise: a Portable, Moving Aquarium for Tiny Fish
by steelwing583 in Circuits > Arduino
73 Views, 1 Favorites, 0 Comments
A Fish's Paradise: a Portable, Moving Aquarium for Tiny Fish
Do you have fish who want to go on road trips too? Are they eager to escape the dull, white walls of your home and see the natural environment that they belong to? Then, this is the perfect project for you, so you can take them everywhere with you!
Not only does this mini aquarium feature two DC water pumps that create moving waves to simulate the natural environment, it also creates rippling water effects that dance across the walls and beyond through the front glass onto the surface, wherever you place it. With two modes (day and night), the colors change from blue to golden to simulate sunlight and moonlight. This is a comforting home for your fish, and a cheap one too.
Supplies
Supplies you'll need to create this aquarium:
- a small, rectangular-prism shaped box (preferably thick cardboard/boxboard) with a clear lid
- 1 Arduino UNO and 1 small breadboard
- 1 L298N dual H-bridge motor driver
- 2 DC water pumps
- 1 SMD RGB module
- 1 9V battery with a connector
- 10 female-male wires
- 4 jumper wires
- 1 10k resistor (for button)
- 1 push button
- ~20 small rocks (optional)
- Transparent duct tape (optional)
- Bubble wrap (optional)
- Glue gun with glue stick
Creating the Aquarium Case
This will become the case in which everything will be installed onto, and where magic will occur! First, grab an utility knife and cut a rectangle of a reasonable size (not too big that there will be no room to install the ceiling light, but not too small that you can't fit your LED module, wires, or DC motors through). This is seen on the right side image above.
The bubble wrap is completely optional, and is only glued to the bottom of the case for aesthetic purposes. I highly recommend doing this, because not only does it act as an extra layer of protection from water damage, it also creates a nice texture and adds color. Of course, later on rocks will be added on top, but it still looks nice with the faint blue outline underneath.
Extra Tips/suggestions for Step 1
- If your case is particularly vulnerable to water (like mine), be sure to duct tape the walls, corners, and edges of the inside to make sure water does not damage the walls!
- If you look closely, you will see that I have cut out a small rectangular piece from the bubble wrap. This is so that I can directly hot glue one of my DC motors the base of the case, rather than onto the bubble wrap which may appear much uglier.
- Add some drops of hot glue to create a bumpy surface, like that of a natural environment!
Building the Electronics
Now, we're going full hands and brains on, and creating the electronics that will ultimately power the entire aquarium. Below are the connections:
DC water pump (base): NEG -> out3*, POS -> out4*
DC water pump (side wall): NEG -> out1*, POS -> out2*
Pushbutton: pin2, 5v, GND (install like a normal pushbutton on mini breadboard)
SMD RGB module: GND -> GND, R -> A0, G -> A1, B -> A2,
L298N: enA* -> 9, enB* -> 3, in1* -> 8, in2* -> 7, in3* -> 5, in4* -> 4
9V battery: VCC*, GND*, 5V* -> GND
Make sure to connect GND to 5V*. If this is not connected, the L298N will not work.
* means pins on the L298N, not Arduino UNO.
The 9V battery will only power the L298N. The entire electronics system is powered by USB to computer.
Programming the Code
There are three components to the code: the switch, activation of the water pumps, and turning on/off the light.
Part 1: Debouncing the pushbutton:
The pushbutton which will be installed at the back of the aquarium is crucial to the functioning of the program, because it will determine what mode will be set: either day mode or night mode.
By debouncing the pushbutton, we are able to account for the extra presses that get registered by accident by the Arduino, which are called bounces. Click here for more information on debouncing.
Part 2: Activating the DC motors
If the state of the program is set to day mode, both DC water pump will power on and generate waves.
If the state of the program is set to night mode, only one DC water pump (the base pump) will turn on. The side wall water pump will be off. This is to allow still water for fish to rest.
Part 3: Turning on the lights:
If the state of the program is set to day mode, the light source will be golden. RGB(246, 236, 7)
If the state of the program is set to night mode, the light source will be ocean blue. RGB(0, 81, 171)
All together, you have a complete program. Upload it to your Arduino, and watch things become active!
Downloads
Installing the Electronics Onto the Case
Download and watch the video below to see a comprehensive display of how the way I installed the electronics onto the box.
Pay attention to the right-most image. I had to create a special cover for my SMD RGB module, because I was afraid that water would splash onto it. You could directly hot glue your module right onto the ceiling, but I recommend making something similar that will cover it to avoid water damage. Just hot glue a clear piece of plastic over the module, and it is ready to be installed onto the ceiling of your aquarium.
Downloads
Creating the Environment
Now is when you can become creative in the way you create the environment.
For mine, I used rocks of various shapes and sizes to create a more natural environment. You can go even further and create a dystopian, post-apocalyptic environment! Explore your creativity.
Sealing the Case.
This step is pretty straightword. Finally, close up the case and hot glue the sides to completely seal the aquarium case. Now, it's time to add water!
Voila, You're Done! Time to Add Fish!
Congratulations! You have completed making your portable aquarium! Time to add your fish, and take them on journeys across the nation. Hope you have enjoyed this journey. Feel free to take things up a step and add extra motors or sensors to the aquarium to make it even more cooler. That's all from me now. See you next time!