Automatic turtle / fish feeder V2

Automatic turtle / fish feeder V2

thingiverse

This device feeds yout puppy if you are on holidays. Its fully automatic and only needs a new load of food all 2 weeks. The mcu is an arduino nano, the stepper is a nema 17 with a drv8825 driver and the display is a nokia 5510 type. https://www.youtube.com/watch?v=Kb2TypSXILU Custom Section Arduino Code #include #include #include #include Adafruit_PCD8544 display = Adafruit_PCD8544(5, 4, 3); #define key_left 8 #define key_right 6 #define key_centre 7 #define stepper_enable 14 #define stepper_reset 15 #define stepper_sleep 16 #define stepper_step 17 #define stepper_dir 18 //Display int disp = 0; int token = 0; byte temp_intervall = 0; byte intervall = 0; int erstes_intervall = 0; unsigned long timeout = 0; unsigned long periodic_int = 0; int manuStepps = 10; //EEPROM // Adresse Speicher // 0 intervall in Stunden // 1 stunden bis nächste Fütterung unsigned long periodic_EEPROM = 3600000; //Erster EEPROM Write nach 1h betrieb byte hours_till_feed = 0; void setup() { display.begin(); display.setContrast(60); delay(100); display.clearDisplay(); display.println("Dave Feeder"); display.display(); delay(1500); pinMode(key_left, INPUT_PULLUP); pinMode(key_right, INPUT_PULLUP); pinMode(key_centre, INPUT_PULLUP); pinMode(stepper_enable, OUTPUT); pinMode(stepper_reset, OUTPUT); pinMode(stepper_sleep, OUTPUT); pinMode(stepper_step, OUTPUT); pinMode(stepper_dir, OUTPUT); digitalWrite(stepper_reset,HIGH); disableStepper(); //EEPROM auslesen intervall = temp_intervall = EEPROM.read(0); timeout = (EEPROM.read(1)*3600000)+millis(); } void loop() { //Welcher Button? if(!token){ if(!digitalRead(key_left)){disp =key_left; display.clearDisplay();display.println("Fuetterung");display.display(); token = 1;} else if(!digitalRead(key_right)){disp =key_right;display.clearDisplay();display.println("Up Run Down"); display.drawLine(0, 11, 84, 11, BLACK);display.println(" "); display.drawLine(18, 0, 18, 11, BLACK); display.drawLine(46, 0, 46, 11, BLACK); display.println("manuell");display.println("Schritte");display.println("fahren");display.display(); token = 1;delay(500); } else if(!digitalRead(key_centre)){disp =key_centre;display.clearDisplay();display.println("Up OK Down");display.drawLine(0, 11, 84, 11, BLACK); display.drawLine(25, 0, 25, 11, BLACK); display.drawLine(46, 0, 46, 11, BLACK);display.println(" ");display.println("SetzeInterval"); display.display();token = 1;delay(500);} } //Button Funktion Ausführen switch (disp) { //Fütterung Ausführen case key_left: if(token){ enableStepper(); delay(20); for(int i = 0 ; i=periodic_EEPROM && intervall) { periodic_EEPROM = millis()+3600000; hours_till_feed = (byte)(((timeout-millis())/3600000)+0.5); EEPROM.write(0,intervall); EEPROM.write(1,hours_till_feed); } } void enableStepper() { digitalWrite(stepper_enable,LOW); digitalWrite(stepper_sleep,HIGH); //digitalWrite(stepper_reset,HIGH); } void disableStepper() { digitalWrite(stepper_enable,HIGH); digitalWrite(stepper_sleep,LOW); //digitalWrite(stepper_reset,LOW); } void stepDelay() { delayMicroseconds(1000); }

Download Model from thingiverse

With this file you will be able to print Automatic turtle / fish feeder V2 with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Automatic turtle / fish feeder V2.