Easy-to-Build Pet Feeder

This is an easy to build pet feeder with two timers. Delivers accurate portions each time.

Feb 18, 2018

69911 views

40 respects

Components and supplies

1

Arduino Nano R3

1

RGB Backlight LCD - 16x2

6

Rod Magnets 3mm dismeter, 5mm lenght

1

Real Time Clock

1

Hall sensor UNIPOLAR

1

Apem Push button momentary IP67

6

LED (generic)

1

Hammond Multi ABS housing with flange

1

Small push buttons momentary

1

lcd i2c backpack

1

Continuous Rotation Servo

1

Cereal dispenser

Apps and platforms

1

LCD character generator

Project description

Code

Pet Feed-O-Matic v 1.1 - 20-02-2018

arduino

v 1.1: pressing the Cancel1 or 2 buttons will show a explanation

Downloadable files

Arduino Pet Feed-O-Matic

Arduino based Pet Feeder

Arduino Pet Feed-O-Matic

ZIP files with all the files you need: .ino; .hex and all the libraries used

I used Arduino IDE 1.8.2. BE CAREFUL NOT TO HAVE TWO VERSIONS OF THE SAME LIBRARIES IN YOUR LIBRARIES FOLDER!!

ZIP files with all the files you need: .ino; .hex and all the libraries used

Arduino Pet Feed-O-Matic

Arduino based Pet Feeder

Arduino Pet Feed-O-Matic

ZIP files with all the files you need: .ino; .hex and all the libraries used

I used Arduino IDE 1.8.2. BE CAREFUL NOT TO HAVE TWO VERSIONS OF THE SAME LIBRARIES IN YOUR LIBRARIES FOLDER!!

ZIP files with all the files you need: .ino; .hex and all the libraries used

Comments

Only logged in users can leave comments

fzzzz

2 months ago

Hello, I’m doing this project for school and I’m wondering if it would be possible to do it without a sensor. Like would it still work but not be accurate? If it’s not 100% accurate it’s fine.

fzzzz

2 months ago

Hello, I’m doing this project for school and I’m wondering if it would be possible to do it without a sensor. Like would it still work but not be accurate? If it’s not 100% accurate it’s fine.

Anonymous user

2 years ago

Hello I'm new at this but I think your project can help me. I will replace the cats by horses and the project is the same ! For my project I'd like to replace the servo rotation unit with 2 electro magnet (one magnet per tablet, I have 2 tablets) that can cut individually 2 times a day (with the clock). What I mean is I want to send current to the magnet continually, 2 times a day I will need to close one circuit so the magnet will stop acting and a tablet containing a hay bale will drop in the feeder. Do you think your system can do it ? Can you help me with some hints ? Another question, what is the use of the hall sensor ?

new_engineer

2 years ago

A Hall effect sensor is a device that is used to measure the magnitude of a magnetic field.

Anonymous user

2 years ago

Although i don't have a pet but i have to say the design and implementation of this project is great!

Anonymous user

2 years ago

Can You please help me with compilation this code. I can't verify is many errors on the screen. Can You share full code with all : #include <LiquidCrystal_I2C.h> #include <Button.h> #include <DS3232RTC.h> #include <Time.h> #include <Wire.h> #include <EEPROM.h> Or give me any sugestions how to upload this code to Arduino Uno or mega.

edr1924

2 years ago

Hello Robarco, I will look into it tomorrow, I'll let you know!

edr1924

2 years ago

Just checked, I removed these first 3 lines and then I did compile with IDE 1.8.2 //#include <Arduino.h> //#line 1 //#line 1 "/Users/Erik/Documents/Dropbox/Sketches/Arduino_Pet_Feeder_FINAL_v1_0/Arduino_Pet_Feeder_FINAL_v1_0.ino" I also uploaded the libraries used, please let me know if it does work for you? Sorry for the inconvenience... Erik

Anonymous user

2 years ago

Compilation completed successfully. The problem was in the wrong libraries. Thank You for Your support. Regards

Anonymous user

2 years ago

Thank you for quick response. I've been trying a few days and still no success. Many errors - still, now related to the buttons. I can send copied dialogs but it is a loot. Can you help me with this project? I will be very grateful.

Anonymous user

2 years ago

Arduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Uno" pet_feed_o_matic_v_1_1_____01_11_2018:144: error: no matching function for call to 'Button::Button(int, bool, bool, int)' Button buttonSelect (BUTTON_SELECT_PIN, PULLUP, INVERT, DEBOUNCE_MS); ^ C:pet_feed_o_matic_v_1_1_____20_02_2018\\CODE UP DATED\\arduino_uno_based_pet_feeder_libraries_Z5K3n5gub8\\pet_feed_o_matic_v_1_1_____01_11_2018\\pet_feed_o_matic_v_1_1_____01_11_2018.ino:144:70: note: candidates are: In file included from C:pet_feed_o_matic_v_1_1_____20_02_2018\\CODE UP DATED\\arduino_uno_based_pet_feeder_libraries_Z5K3n5gub8\\pet_feed_o_matic_v_1_1_____01_11_2018\\pet_feed_o_matic_v_1_1_____01_11_2018.ino:89:0: C:\\Arduino\\libraries\\Button/Button.h:14:3: note: Button::Button(uint8_t) Button(uint8_t pin); ^ C:\\Arduino\\libraries\\Button/Button.h:14:3: note: candidate expects 1 argument, 4 provided nt)' ................................

edr1924

2 years ago

Hello Robarco, I just uploaded an updated set of all the files you need and which compiled successfully here. The can find the new ZIP file just under the SCHEMATICS section. But if I look at your error message, I can see the problem is that you have another version of the BUTTON library. Please be sure that the button library I provided is the only one in your library folder. The button.h I use, expect 4 arguments. 'Button::Button(int, bool, bool, int)' The error message says: C:\\Arduino\\libraries\\Button/Button.h:14:3: note: candidate expects 1 argument, 4 provided The button.h you have expects only 1 argument: Button::Button(uint8_t) So delete this libraries and copy again the provided BUTTON folder in your libraries folder C:\\Arduino\\libraries\\ If not, I also included a .hex file which you can use to burn directly into the chip. How to do that needs a google search ;) Hope this will get you further!

Anonymous user

2 years ago

hello sir, in this project can i use any type of hall sensor or i should use the specific hall sensor?

Anonymous user

2 years ago

Do the magnets have to be rotated with the same polarity? The servo is running and the sensor LED is still flashing.

Anonymous user

2 years ago

wow amazing project! how do you attach the LCD protector to your aluminum foil?

Anonymous user

2 years ago

Hi there! Great work Erik! I am wonder is it possible to increase feeding times to 3. I my aplication i need three doses in one day (21 weekly ). I found on your code that RTC DS3231 is used also as alarm source: " // write alarm settings to the RTC chip write_feeding_time1();" On datasheet (DS3231) i fountd that DS3231 got only two alarms. Do you have some advice ind this case? B.R. Pawel

Anonymous user

2 years ago

Nearly perfect. What do you think about an automatic scale for preportioning. i want to try it out for different kinds of food in various sizes. but it should always be the same amount of weight. any idea how to takle that issue? what do you think about more feeding times? i wanted to try 4.

JohnRob

2 years ago

Your project is very professional :) The box looks great. Could you elaborate on the method to foil the box? I don't have a pet to feed but I would love to put that look on my projects. Thanks John

edr1924

2 years ago

Hell George, I'm sorry but I am not able to help with a custom design. I encourage you to learn C++, it is not that difficult and good fun! Good luck and greetings.

edr1924

2 years ago

Thank you! :) I added a 'Front panel' section in the story all the way down so I hope you will find it helpful... Added also the URL to the shop where I bought the foil. (blue highlighted text)

Anonymous user

2 years ago

Hello,my name is George i am from greece and Im 23 yo..i am trying to build something like this but in a far easyer scale,i need some things added that look complicated to me but as it seems u can do this so there are not many things that look complicated when you really know what you do.Can i count in you for some help?I wouldn't ask if i did not need your help.To my eyes you are a professional and am the rookie student (that sometimes skipped the class).I would be really glad if you could help me and I would really appreciate it..thank you in advance..(sorry for the bad english,i am really strugling to type right now im translating through google translate )

MatrixOrbital

2 years ago

This is very well done, great job. If you ever consider updating the front panel to a TFT display to something like this https://www.matrixorbital.com/ftdi-eve/EVE%20FT812/eve2-43g give us a shout, i'm sure we could work something out ;)

afsmith102

2 years ago

Hi there, I'm in the process of making a animal feeder using a similar cereal dispenser as the one you have used in this project. I am, however, experiencing issues with the food getting stuck in the paddle and getting jammed. Any suggestions? Cheers, Abi

Anonymous user

2 years ago

Hello, I was thinking of changing this design slightly. I'm very new to arduino so I was planning on making the project without the menu, but still have 2 times maximum per day, with a 7 hour period between each meal. Would I still need the HALL sensor?

edr1924

2 years ago

Yes of course, the HALL sensor ensures the exact amount of food delivered. It is essential! If you are not so familiar with the Arduino, you should build it 1:1 ?

Anonymous user

2 years ago

hello sir good day!! can you help me sir..I would like to try it, but it doesn't display, but it compiles and there is no error. hope you can help me

hordubal

4 years ago

Do the magnets have to be rotated with the same polarity? The servo is running and the sensor LED is still flashing.

Anonymous user

4 years ago

Nearly perfect. What do you think about an automatic scale for preportioning. i want to try it out for different kinds of food in various sizes. but it should always be the same amount of weight. any idea how to takle that issue? what do you think about more feeding times? i wanted to try 4.

Zoel90

5 years ago

wow amazing project! how do you attach the LCD protector to your aluminum foil?

Galka

5 years ago

Hi there! Great work Erik! I am wonder is it possible to increase feeding times to 3. I my aplication i need three doses in one day (21 weekly ). I found on your code that RTC DS3231 is used also as alarm source: " // write alarm settings to the RTC chip write_feeding_time1();" On datasheet (DS3231) i fountd that DS3231 got only two alarms. Do you have some advice ind this case? B.R. Pawel

new_engineer

5 years ago

hello sir, in this project can i use any type of hall sensor or i should use the specific hall sensor?

Anonymous user

6 years ago

Hello I'm new at this but I think your project can help me. I will replace the cats by horses and the project is the same ! For my project I'd like to replace the servo rotation unit with 2 electro magnet (one magnet per tablet, I have 2 tablets) that can cut individually 2 times a day (with the clock). What I mean is I want to send current to the magnet continually, 2 times a day I will need to close one circuit so the magnet will stop acting and a tablet containing a hay bale will drop in the feeder. Do you think your system can do it ? Can you help me with some hints ? Another question, what is the use of the hall sensor ?

Anonymous user

2 years ago

A Hall effect sensor is a device that is used to measure the magnitude of a magnetic field.

afsmith102

6 years ago

Hi there, I'm in the process of making a animal feeder using a similar cereal dispenser as the one you have used in this project. I am, however, experiencing issues with the food getting stuck in the paddle and getting jammed. Any suggestions? Cheers, Abi

DaKing17

6 years ago

Hello, I was thinking of changing this design slightly. I'm very new to arduino so I was planning on making the project without the menu, but still have 2 times maximum per day, with a 7 hour period between each meal. Would I still need the HALL sensor?

edr1924

2 years ago

Yes of course, the HALL sensor ensures the exact amount of food delivered. It is essential! If you are not so familiar with the Arduino, you should build it 1:1 ?

Robarco

6 years ago

Arduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Uno" pet_feed_o_matic_v_1_1_____01_11_2018:144: error: no matching function for call to 'Button::Button(int, bool, bool, int)' Button buttonSelect (BUTTON_SELECT_PIN, PULLUP, INVERT, DEBOUNCE_MS); ^ C:pet_feed_o_matic_v_1_1_____20_02_2018\\CODE UP DATED\\arduino_uno_based_pet_feeder_libraries_Z5K3n5gub8\\pet_feed_o_matic_v_1_1_____01_11_2018\\pet_feed_o_matic_v_1_1_____01_11_2018.ino:144:70: note: candidates are: In file included from C:pet_feed_o_matic_v_1_1_____20_02_2018\\CODE UP DATED\\arduino_uno_based_pet_feeder_libraries_Z5K3n5gub8\\pet_feed_o_matic_v_1_1_____01_11_2018\\pet_feed_o_matic_v_1_1_____01_11_2018.ino:89:0: C:\\Arduino\\libraries\\Button/Button.h:14:3: note: Button::Button(uint8_t) Button(uint8_t pin); ^ C:\\Arduino\\libraries\\Button/Button.h:14:3: note: candidate expects 1 argument, 4 provided nt)' ................................

edr1924

2 years ago

Hello Robarco, I just uploaded an updated set of all the files you need and which compiled successfully here. The can find the new ZIP file just under the SCHEMATICS section. But if I look at your error message, I can see the problem is that you have another version of the BUTTON library. Please be sure that the button library I provided is the only one in your library folder. The button.h I use, expect 4 arguments. 'Button::Button(int, bool, bool, int)' The error message says: C:\\Arduino\\libraries\\Button/Button.h:14:3: note: candidate expects 1 argument, 4 provided The button.h you have expects only 1 argument: Button::Button(uint8_t) So delete this libraries and copy again the provided BUTTON folder in your libraries folder C:\\Arduino\\libraries\\ If not, I also included a .hex file which you can use to burn directly into the chip. How to do that needs a google search ;) Hope this will get you further!

Robarco

6 years ago

Can You please help me with compilation this code. I can't verify is many errors on the screen. Can You share full code with all : #include <LiquidCrystal_I2C.h> #include <Button.h> #include <DS3232RTC.h> #include <Time.h> #include <Wire.h> #include <EEPROM.h> Or give me any sugestions how to upload this code to Arduino Uno or mega.

edr1924

2 years ago

Hello Robarco, I will look into it tomorrow, I'll let you know!

edr1924

2 years ago

Just checked, I removed these first 3 lines and then I did compile with IDE 1.8.2 //#include <Arduino.h> //#line 1 //#line 1 "/Users/Erik/Documents/Dropbox/Sketches/Arduino_Pet_Feeder_FINAL_v1_0/Arduino_Pet_Feeder_FINAL_v1_0.ino" I also uploaded the libraries used, please let me know if it does work for you? Sorry for the inconvenience... Erik

Robarco

2 years ago

Compilation completed successfully. The problem was in the wrong libraries. Thank You for Your support. Regards

Robarco

2 years ago

Thank you for quick response. I've been trying a few days and still no success. Many errors - still, now related to the buttons. I can send copied dialogs but it is a loot. Can you help me with this project? I will be very grateful.

Anonymous user

6 years ago

Thanks for the device but can you help me with following line, because I am completely new in this area #line 1 "/Users/Erik/Documents/PlatformIO/Projects/180202-151127-uno/src/Pet_Feeder_1_1_ENG.cpp"

edr1924

2 years ago

Oh yes, that strange line of code. I used PlaformIO as the platform to write and compile the code and it included the path. I think you can safely delete this line.

MatrixOrbital

7 years ago

This is very well done, great job. If you ever consider updating the front panel to a TFT display to something like this https://www.matrixorbital.com/ftdi-eve/EVE%20FT812/eve2-43g give us a shout, i'm sure we could work something out ;)

Anonymous user

7 years ago

Although i don't have a pet but i have to say the design and implementation of this project is great!

JohnRob

7 years ago

Your project is very professional :) The box looks great. Could you elaborate on the method to foil the box? I don't have a pet to feed but I would love to put that look on my projects. Thanks John

SachpazidisGeo

2 years ago

Hello,my name is George i am from greece and Im 23 yo..i am trying to build something like this but in a far easyer scale,i need some things added that look complicated to me but as it seems u can do this so there are not many things that look complicated when you really know what you do.Can i count in you for some help?I wouldn't ask if i did not need your help.To my eyes you are a professional and am the rookie student (that sometimes skipped the class).I would be really glad if you could help me and I would really appreciate it..thank you in advance..(sorry for the bad english,i am really strugling to type right now im translating through google translate )

edr1924

2 years ago

Hell George, I'm sorry but I am not able to help with a custom design. I encourage you to learn C++, it is not that difficult and good fun! Good luck and greetings.

edr1924

2 years ago

Thank you! :) I added a 'Front panel' section in the story all the way down so I hope you will find it helpful... Added also the URL to the shop where I bought the foil. (blue highlighted text)