Search models, users, collections, and posts

Automatic fish feeder

Print Profile(1)

All
A1
H2D
X1
P2S
X1 Carbon
H2C
P1P
H2S
X1E
H2D Pro
P1S
A1 mini
X2D
A2L

0.08mm layer, 2 walls, 15% infill
0.08mm layer, 2 walls, 15% infill
Designer
11.1 h
5 plates

Open in Bambu Studio
Boost
4
8
0
0
0
0
Released 

Description

NOTE

I would like to start by saying you will need to know how to code and understand a Arduino

 

Some part's might be buggy i tried my best to get all parts to be a plug and play i believe i have accomplished that. The track is loose at this time i'm not sure on a track tincture but it works fine just a little chunky looking.

in the code i have provided will feed your tank ever 4 day's you can change that as you wish in the code. This design use's flake food not pellet's wen you go to add your food to the hopper crumble your fish food to insure the hoper wont clog.

 

THING'S NEEDED 

3M screws 

Arduino uno 

Standard size servo

Paper clips (for track pins)

Glue (for gear on motor)

Step motor - 28BYJ-48

Motor driver - ULN2003 Motor driver

Bread board 

5V power supply

 

 

Boost Me (for free)

If you found this automatic fish feeder helpful, please consider boosting the project! Your support helps me keep building and improving designs.

  Code blow

 

include <Servo.h>

#include <Stepper.h>


 

#define STEPS_PER_REV 2048


 

Stepper conveyorMotor(STEPS_PER_REV, 8 ,10 ,9 ,11);


 

Servo feedServo;


 

int servoPin = 6;

int angleClosed = 120;

int angleOpen = 105;


 

unsigned long lastFeedTime = 0;

unsigned long feedInterval = 345600000;    /// time set to 4 day's



 

void setup() {

feedServo.attach(servoPin);

feedServo.write(angleClosed);

conveyorMotor.setSpeed(10);


 

lastFeedTime = millis() - feedInterval;

}


 

void loop() {



 

  if (millis() - lastFeedTime >= feedInterval) {


 

    feedServo.write(angleOpen);

    delay(1000);

   

    feedServo.write(angleClosed);

    delay(500);

   

   

    conveyorMotor.step(-850);


 

    shakeBelt();

 

  lastFeedTime = millis();

  }

  }


 

void shakeBelt (){

  for (int i = 0; i < 10; i++)

{

   conveyorMotor.step(100);

   delay(3);

   conveyorMotor.step(-100);

   delay(3);

   }

}



 

 

 

Comment & Rating (0)

(0/1000)

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.