Close
0%
0%

Hedgehog Feeder

Hedgehogs in the UK are classed as an endangered species. For this reason I have chosen my final year project to be a hedgehog feeder.

Public Chat
Similar projects worth following
The aim of this project is to develop a hedgehog feeder that is able to recognise a hedgehog and feeder it automatically.

Using UNO Arduino, load cell with the HX711.h library, and a stepping motor to control the feeder.

  • 1 × Stepping Motor Motor will turn the paddle on the cereal dispenser
  • 1 × Load Cell Will weigh the animal and determine whether the animal is a hedgehog
  • 1 × Arduino UNO
  • 1 × Cereal Dispenser
  • 1 × LED Fiber Optics / Emitters

View all 8 components

  • First Prototype Build

    Abigail Smith5 days ago 0 comments

    Pretty happy with how the first prototype build has gone.

    Some things to note so far:

    1) Storage box (85L) is too big. I'm glad I went to big rather than too small as it is easier to build, but the next prototype will be in a much smaller storage box.

    2) Paddle in cereal dispenser is not robust enough for Ark Hedgehog food but works fine or finer food, such as meal worms. Manipulation of paddle design is needed. Perhaps a 4 paddle instead of 6.

    3) Need to secure stepper motor to shelf more robustly as it vibrates and make a lot of noise, which would scare the hedgehog away.

    4) Need to cut a hole in the storage box for entrance to feeder.

    5) Need to adapt load cell mount to cater for larger area.

    6) Code is currently not working as it should as food is being dispensed at weights lower than 350g.

    7) Use of an 'if' statement '&&' in code to create weight ranges does not seem to be working as it should.

    8) Need to have a play with delays and how many steps it necessary to give correct portion size.

    // load cell
    #include "HX711.h" 
    #define DOUT  6
    #define CLK  7
    HX711 scale(DOUT, CLK);
    float calibration_factor = 387600;
    
    // hedgehog weight limits
    int sensorMin = 0.350; // 350g
    int sensorMax = 0.750; // 750g
    int sensorMid = 0.450; // 450g
    const int delayBetweenFeeds = 6e+7; //1 minute
    
    //stepper
    #include <Stepper.h>
    const int stepsPerRevolution = 200;
    Stepper myStepper(stepsPerRevolution, 12, 11); //dirPin = 12, stepPin = 11
    int previous = 0;
    
    void setup() {
      Serial.begin(9600);
      //set up load cell
      Serial.println("Press T to tare");
      scale.set_scale(calibration_factor);  //Calibration Factor obtained from first sketch
      scale.tare();             //Reset the scale to 0
    }
    
    void loop() {
      //use load cell to weigh
      Serial.print("Weight: ");
      Serial.print(scale.get_units(), 3);  //2 decimal points
      Serial.println(" kg");
      delay(1000);
      
      //control dispensor with load cell readings and stepper
      if (scale.get_units()>sensorMin){
        Serial.print("Weight: ");
        Serial.print(scale.get_units(), 3);
        Serial.println(" kg");
        myStepper.setSpeed(30); //set RPM at which stepper will rotate when called to step
        Serial.println("stepperclockwise");
        myStepper.step(400);
        delay(10000);
      }
        
      else {
        myStepper.step(0);
      }
    }
    

    This is my code so far. 

  • Load Cell Accuracy

    Abigail Smith7 days ago 0 comments

    In order to gain a better understanding how accurate my load cell was at measuring weights. Firstly, I found the weight of various items (one example was a can of chickpeas) on a commercial weighing scales as seen below.


    I then measured the same item on the load cell and recorded the weight that was displayed on the serial monitor of the Arduino IDE.

    Using this data and data I collected using other items of various weights, I was able to calculate an average standard deviation which I used to create the normal distribution curve as shown below. Apologies, for the low quality images of the serial monitor and graph as I just took a photo of the computer screen.

    This graph will be used in my final report to allow me to comment on the accuracy of the load cells and whether the errors would affect my device.

  • Finally getting the stepper motor to work

    Abigail Smith03/05/2019 at 15:15 0 comments

    I have been having some issues with getting the stepper motor to turn, turns out a capacitor was the answer on the motor 12V source.

    Now I’m flying through it.

  • Load Cell

    Abigail Smith02/26/2019 at 19:16 0 comments

    In order to be able to calibrate my load cell, I needed to make a basic structure that would enable the cell to be loaded and a weight to be taken.

  • Attaching the stepper motor to the paddle

    Abigail Smith02/26/2019 at 19:08 0 comments

    So today, i spent the day attaching the stepping motor to the paddle in the cereal dispenser in the University of Sheffield’s makerspace, otherwise known as the iForge.

    First, I used a laser cutter to cut two 70mm diameter circle from some scrap wood. Using a pillar drill, I drilled four 4.8mm holes into each of the circlular wood pieces. One more hole was drilled in the centre of one piece of circular wood for the stepper motor to be inserted into. 

    Using hot glue, I then attached the handle that I had hacksawed the day before and let it set. 

    The two circular pieces of wood were then bolted together back to back.

  • Where it all started...

    Abigail Smith02/25/2019 at 15:54 0 comments

    This is my first time using a prototyping platform and going through the creative process for a project like this one. Already it has been a massive learning curve and I've got a long way to go.

    Here is a photo from my first week with the Arduino, learning how the code works, playing with some starter projects and trying to get my head around what the Arduino is capable of.

    So I finally got the LCD display working and coded it to say 'Hi Paddington! Ready for food?'. So for a little background if anyone was wondering who Paddington is...
    This little guys is Paddington. He is my sister's African Pygmy Hedgehog. My project will be focused towards wild hedgehogs found in the UK but I reckon I can use the project as an excuse to visit this little guy for 'research'.

  • First steps in attaching the paddle to the stepping motor

    Abigail Smith02/25/2019 at 15:30 0 comments


    First step in attaching the paddle of the cereal dispenser to the stepping motor is to saw off the plastic handle in order to make the attachment easier.

  • Calibrating the HX711 Load Cell

    Abigail Smith02/25/2019 at 09:47 0 comments

    Weight Calibration

    HX711 Load Cell Amplifier Interface with Arduino

    In order to calibrate the load cell, I used the tutorial from:

    https://circuits4you.com/2016/11/25/hx711-arduino-load-cell/

    Really easy to follow, just copy and paste the code and find your calibration factor! This will be the calibration factor you will use throughout the project.

  • Back to basics

    Abigail Smith02/19/2019 at 15:44 0 comments

    After some time off for exam preparation, I back to focusing on the hedgehog feeder. 

    This project is unfamiliar territory for me, so it takes me a while to get back into the swing of things. 

    Currently trying to code my project to weigh the hedgehog and if the weight falls in a specific range, this will turn the stepping motor. Sounds simple but the load cell is not 100% accurate and changes weight slightly even when a constant weight is applied, let alone when a hedgehog is shuffling about on it. 

    Need to do a bit more digging in similar codes...

View all 9 project logs

Enjoy this project?

Share

Discussions

Jarrett wrote 3 days ago point

But why would you want to feed hedgehogs to things? They're all spikey!

  Are you sure? yes | no

Alexander wrote 03/09/2019 at 17:11 point

Paddington is so super duper cute!!! Eeeee!

Otherwise, awesome work so far! Microcontrollers can seem daunting at first, but persistence is key. If you ever get stuck on something and need help, feel free to message me! I'd be more than happy to help.

I'm glad you found a load cell calibration routine -- they do require a bit of calibration, and compensation for temperature,etc. However, if all you are trying to answer is "Is this hedgehog weight?" then what you have is more than accurate enough.

Cheers and good luck!

  Are you sure? yes | no

David Polson wrote 03/08/2019 at 10:31 point

Paddington is so cute :-)

  Are you sure? yes | no

Abigail Smith wrote 02/25/2019 at 09:11 point

That's looks really interesting, thank you!

  Are you sure? yes | no

Sophi Kravitz wrote 02/19/2019 at 16:18 point

Hi Abigail! Have you seen this automated feeder project? https://hackaday.io/project/72964-feeding-experimentation-device-fed-20

It may help in your research :)

  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