Introduction: The "all in One Box" Aquarium Feeder
Hi i am Brian
For several years now i owning a large 400 liter aquarium.i was always fasinated by fish in all colors and shapes.keeping fish happy wil require a bit effort.like keeping the thank nice and clean.trimming the plants.the once in a week water change. ect...
also fish like to eat :)
But i have a pretty bussy life.Sometimes i am away for the entire week.Water changes can wait.And the plants can survive a skipped trim job.But fishes do need food once a day.And there is no one to do that in the house so i purchased a automatic fish feeder.
But there are drawbacks to the feeder i bought
- 1.it runs on battery power and will not last a week
- 2.it wil drop the amount of food that is required all in one big pile (creating lots off pollution in the tank)
- 3.the capacity of the feeder is to smal for a week supply of food.
- 4.it cost over 50 euro!!
so i brainstormed a design with these specifications:
- big storage capacity,
- not battery powered ,
- give the food slowly instead of all in one go.
- reliability
- non open top (to keep the food fresh longer)
- relatively cheap
- adaptable to different types of food (flakes,pallets)
- have control over the amount of food per feed cycle
- can be made wit parts everyone can easely find
So here is my version on the automatic fish feeder:)
Step 1: Things You Will Need
the images show you what you need.
- you will also need (but is not shown in picture
- soldering iron
- shrink tubes
- lighter
- 5 volt power supply
- usb cable (to program you're arduino)
info on the foamed pvc sheet
This is a material that is very easy to cut whit the stanly knife.i found it at the local hardware store.its 6 mm thick and is 50 cm on 100cm in dimension.if you can't find this you can also use 6mm thick plywood.however you need to apply a layer of varnish to protect it against water
info on the motor
the 28byj-48 stepper motor is used because it have build in gearbox and have (relatively to its size) a high torque
it is found on ebay (or other site's) for around 3 euro's. most of the time the ULN2003 Driver Board is included when you're buying it.
info on the arduino
basically you can use any 5 volt arduino,i used a nano because otherwise it will not fit inside the box
Step 2: Making the Motor Coupling
Take you're silicone cap and cut off a small piece on the narrowest side
press the cap onto the motor axis
make sure it is a snug fit
its better to cut of a small amount of plastic at a time and check if the axis will fit
then put the dribit into the other side of the cap
Step 3: Preparing the Box
glue the plastic sheets off 5x7 cm together
take you're sheets of 7x7 cm and place them in a V shaped way inside the box
NOTE THAT THE LENGHT OF THIS SHEETS DEPENDS ON YOUR DRILLS LENGHT
(SEE PICTURE FOR DETAIL)
then glue the plastic sheets to the box as shown into the picture
Step 4: How to Glue the Peaces in Place
this step shows you ho to glue the plastic sheets into the box
this is (i think) pretty self explaining
make sure you seal all the seems with glue
if i only had a 3d printer this would make this much more professional looking :)
Step 5: Inserting the Drill
drill a hole just above V shape with the drill bit that will be embedded into the box
also go trough the two plastic sheets KEEPING THE DRILBIT STRAIGHT
after the drill is in place make sure you can spin in free whit your hands
if not make the holes a tiny bit bigger
Step 6: Assemble the Drill Bit Assembly
put on you're gloves and start to knead the glue stick (i used a halve portion)
drop a little ball into the large end of the cap and put the drill inside
press firmly
next put the rest of the glue around the drill and the cap
keep the drill and the cap perfectly aligned
cut of the glue while it is still soft to make a flat edge
Step 7: Attaching the Motor to the Box
make a large hole into the backside of the box.
make sure the cap can fit trough the hole you just made
putt the drill bit assembly trough the holes
press the motor axis onto the drillasembly
drill two holes for the motor bolts
fasten in with the m4 nuts and bolts
Step 8: The Motor Driver
now it is time to wire the arduino
on the driver board you will find 4 pins called
- in1---> connect to digital pin d2 on you're arduino
- in2---> connect to digital pin d3 on you're arduino
- in3---> connect to digital pin d4 on you're arduino
- in4---> connect to digital pin d5 on you're arduino
you will also find 4 other pins called
- - solder a black wire to this pin
- + solder a red wire to this pin
- blank -->connect to other blank pin
- blank -->connect to other blank pin
the blank pins are the ones right oft the + and - pin
there was a jumper over these pins but i lost mine.so i soldered them together
Step 9: More Wires
plug the motor into you're shield an presto!! you're motor driver is now finished
now take another (new piece) red and black wire (not the one coming from the motor driver)
- red--->solder to 5v pin on you're arduino
- black-->solder to gnd (ground) pin on you're arduino
now take the red wire from you're arduino and the red wire from the motor driver and twist them together
do the same with the black wire
the brains are done now
Step 10: Install the Software
now plug in you're arduino
install the accelstepper library found here
more info to drive the motor found here
http://42bots.com/tutorials/28byj-48-stepper-motor...
this code is used to test the feeder
#include
#define HALFSTEP 8
// Motor pin definitions
#define motorPin1 3 // IN1 on the ULN2003 driver 1
#define motorPin2 4 // IN2 on the ULN2003 driver 1
#define motorPin3 5 // IN3 on the ULN2003 driver 1
#define motorPin4 6 // IN4 on the ULN2003 driver 1
// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48 AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
void setup() {
stepper1.setMaxSpeed(1200.0); //1200 is maximum speed otherwise the motor will stall stepper1.setAcceleration(200.0); //this i find the best acceleration speed stepper1.setSpeed(200); stepper1.moveTo(100000);//the more step the longer the drill spins
//if the drill spins in the wrong way add a -
//example: stepper1.moveTo(-100000);
}//--(end setup )---
void loop() {
stepper1.run(); }
Step 11: The Last Step
Make a "bridge" over the axis of the motor using leftovers of the foamed pvc sheet
now you have 2 places left and right of your axis.
- in one place you putt the motor driver
- in the other you place the arduino
glue a cover onto everything to shield the wires
make sure the red and black wire is sticking out off the box
DONNE
every time you putt 5 volt on the wires the arduino will start speeding up the motor an deliver food to your beloved
fishes
play around with the settings inside the program to fit your needs .small or large foods,pellets flakes it will all take different settings
Step 12: The Result
Adding a timer to the project will add the functionality to automaticly feed your fish in 30 minutes intervals
the arduino program will run once every time the power is put on
watch the video's to see it all in action
thank you
and sorry for my bad english :)

First Prize in the
Age of Aquariums Contest

Participated in the
Formlabs Contest

Participated in the
Microcontroller Contest
31 Comments
8 years ago on Introduction
Nice!
Have been looking for sth. like this for ages.
Will give it a try, thanks! :)
Reply 8 years ago on Introduction
thank you.
let me know if you make it :)
Question 4 years ago
Hello. first of all thanks for the tutorial! I am stuck at the code part, it seems i get a lot of error messages. can you help? thx
Answer 4 years ago
Please use the first sample code from tis website
http://42bots.com/tutorials/28byj-48-stepper-motor-with-uln2003-driver-and-arduino-uno/
Reply 4 years ago
Thx for the answer. I did tried with that code but nothing happens. The code is compiled correctly, I tried it on two different Arduino Manos and one Arduino Uno. The code uploads but nothing happens, even after several hours....
Reply 4 years ago
Is the wiring corect...??
Answer 4 years ago
Yes .can you send me a private mesage..i wil look at your problem
Question 4 years ago on Step 12
Answer 4 years ago
The code here is shown wrong.
Use the firts sample code in this link
http://42bots.com/tutorials/28byj-48-stepper-motor-with-uln2003-driver-and-arduino-uno/
Answer 4 years ago
Can you clarify your question please ?
5 years ago
Can it be made without arduino
Reply 5 years ago
Hi.
Yes it can ve donne whit anny motor whitch has sufficient torque to rotate the dril..but beware that a slow motion is required..
And you wil have to use a timer whit short intervals otherwise the motor keeps spining for 15 minutes straight..
Feel free to ask more questions.
And if you really want the feeder.i can make you one if you like.
Greets Brian
6 years ago
Do i have to use an aduino or could i just use a motor and a timer??
Reply 6 years ago
You could use a regular dc motor. however you lose the ability to control the amount of food that is dispensend..also timers are devided in 15 minute intervals.so that would mean your motor is turning for 15 minutes .if you want it is help you further through pm .greets brian
7 years ago
I'm wondering if several feeders could be operated simultaneously with one timer. I have multiple tanks in the house and 3 Jacuzzis full of tilapia in the larger aquaponics system outside. Would like to fed them all automatically
8 years ago on Introduction
nice item would it be possible to use a button to control the feeder if so how would it be done?
Reply 7 years ago
im working on a updated version. a keep you posted
7 years ago
i assume this can also be acomplished with the new arduino zero (costs about 5 bucks i believe) and an rtc module? i know nothing of arduino yet, but this seems to be a nice project to start with, since im also starting my own aquarium and a auto-feeding would be great considering i do weekly shifts and feeding time wont be the same every week.
if arduino zero and rtc module can acomplish this, can anyone point me an european (or even portuguese) store with all needed components, such the arduino zero, rtc module, current converter board and motor, please?
the plug timer seems cool, but as someone mentioned, when it triggers ON, it will last quite a bit of time on untill it triggers OFF, and probably will feed too much, correct?
Reply 7 years ago
Hi.
If the timer triggers the feeder the duration the motor turns can be adjusted in the code in the arduino sketch. Currently I have no working version using an rct. The method mentioned in t he instructable was the easiest way to make it work
The code used for the length the motor is turning:
stepper1.setSpeed(200); stepper1.moveTo(100000);//the more step the longer the drill spins
Decrease '10000' for shorter feeding times
8 years ago
nice project but why adding an external timer instead of doing this in arduino code?