Training Fish to feed Themselves

The object of this invention is to train Goldfish to feed themselves.

Similar projects worth following
The object of this invention is to train fish to feed themselves. I tend to be forgetful, and days tend to bleed into each other. So I forget to feed the fish or think I have already done it. I needed a machine that could feed them on a regular schedule. So as I thought about timers and buttons and whatnot. I realized that it would be boring to just have a machine dole out food on a regular basis. What if it was interactive. What if I created a machine to train fish to feed themselves. I wanted to let the fish prove their intelligence. I wanted the fish to have a goal, get excited and then succeed and feel a sense of accomplishment. LOL okay maybe i went a little to far on that one.

When the the light is on the fish know that the feeder bar is active. The fish then hit the familair lure like feeder bar. the copper wire the bare is made of closes the circuit with the metal bell housing. The Arduino sees that the switch is closed and tells the RGB led to turn off, then directs the servo to go to a pre-programmed position that will push the feeder cap to deliver 1 unit of fish food. The Serial LCD screen beeps and audible sound and displays how many times the switch has been closed in the form of hits. The Minutes and seconds are displayed on the screen to show how long the program has been running. The open logger stores the hit count and the minutes and seconds of the hit for data analysis later on. Once this is all done then the light is turned back on to let the fish know they can hit the feeder bar again.

  • 1 × Serial LCD Screen same
  • 1 × Sparkfun open log easy to use data logger
  • 1 × Arduino uno
  • 1 × Feeder bar home made your choice
  • 1 × WS2812 RGB LED addressable led

View all 11 components

  • Training Fish is easy!

    RoboPandaPDX03/24/2015 at 04:17 0 comments

    With this device and its current coding. I turn the device on once a day for 30 minutes to an hour. After 9 days. We observered that when the goldfish hits the feeder bar it then points its toward the area of the tank that the food drops down into the water. next i will put a barrier in the way to see if this changes how the fish acts after he hits the feeder bar.

View project log

  • 1
    Step 1

    I just did not have the time to draw this out on fritz, so i went old school. I also added the prices i paid for each item. just to give you an idea of the cost of the project.


    Signal Lines: The green lines are all signal wires that hook up to the digital pins. I did not use any analog pins in this build.

    Positive Lines: The red lines are the 5v and 3.3v lines. The Openlog calls for 3.3v so i used the Arduino 3.3 pin to supply the power. The WS2812 calls for 5v, but can run on 3.3v however by doing that I am pushing more ampage through the WS2812. Since I am only using one rgb light at half power, it is fine. If I were to use more than 1 light i would recommend using the 5v line. I will change this on the next Rev. you always want to stick to the power requirements of the hardware as suggested by the manufacturer.

    The Switch: okay so the switch that i used in the diagram, is all over the internet. It is the basic pricipal of an open and closed circuit. At the time of this writing, exactly 2 months after the build was completed. I cant for the life of figure out why i attached it to the reset pin. LOL. but it all works so that's good enough for prototyping right now. I would encourage you to just look into this and make your own switch because i don't think i drew it clearly. I took lots of pics though. have fun! :)

    Servo: the servo is working off the power from the Arduino. so it is not that powerful. I used some 3 in 1 oil to make the button slide easier. the next gen it will have its own power supply of 6 volts and all the amps it can handle.

    Arduino Uno: the Uno I am using has the MC chip that i can program, and then remove to install in a project permanently. When i finally get done with the science side of this project. The feeder will be programmed to come on every few hours for 5 minutes to let the fish hit the feeder bar as many times as they can.

    SparkFun Open Log: Is absolutely amazing. What a great logger! so easy to use. no fuss no muss. right out of the box it starts logging to a txt file that it creates on the sd card. It is programmable in all sorts of ways to better help with data collection. As I become more familiar with the logger i am sure i will be able to streamline my code to get the data i want in the format i need. without any intervention from me in the post processing stages.

    Bell housing: the reason i used a fishing lure type of device was from a story I once heard. I had heard a story about fish hatchery fish. The small fish in the big open pools have a little lure type of device that when they hit it in the water it drops down pellets. This teaches the fish to hit lures when they are released into lakes and streams. LOL. kind of funny to hear that the fishing game is rigged, or maybe its just a story. Either way, i decided to take this approach. It was extremely successful!

    Okay i think that covers all the issues and thoughts i had while going through the hardware portion of the build.

    Here is the code for this project and maybe some more clarity.

View all instructions

Enjoy this project?



RoboPandaPDX wrote 04/03/2015 at 21:15 point

thanks for the tip. I was wondering about that. I will change it to aluminium.

  Are you sure? yes | no

marks47 wrote 03/27/2015 at 23:11 point

Really, really cool.. BUT. You may need to reconsider that copper wire. If it oxidizes enough and produces copper sulfate, your fish will express their discontent by floating to the top.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates