Introduction
In November 2016, I built an automated Cat Feeder, powered by Amazon Alexa (https://www.hackster.io/darian-johnson/alexa-powered-automated-cat-feeder-9416d4). The first build was very much a prototype: I needed a wooden dowel to hold the servo in place and the sensors were very “binary” in nature (they could not give me precise measurements e.g. – either the hopper was empty or ‘not empty’).
I kept making changes and updates, until I completed a more complete ‘Version 2.0‘ of the Cat Feeder – with the following key changes:
- The Cat Feeder was now encased a better structure – leveraging a plastic two-gallon bucket and assorted rubber PVC pieces.
- An ultrasonic sensor was used to determine the amount of food in the Cat Feeder Hooper.
- Images from an attached camera are analyzed in a Python script to determine how full/empty the cat bowl is (0%, 25%, 50%, 75%, 100%).
- Amazon Dash Replenishment was build into the code – enabling the Cat Feeder to automatically order cat food when the supply was low.
Overview/High-Level Flow
The Cat Feeder is built from a number of components:
- An Alexa skill that controls the device (by translating my user requests into commands that are sent to the physical device via MQTT)
- A dry food dispenser connected to a Raspberry Pi — used to received the messages and control the device
- A camera with image comparison logic to determine if the cat food bowl is full or empty.
- An ultrasonic range sensor — used to measure the food in the hopper.
- A servo — used to turn the paddle wheel and dispense the food
- Amazon Dash Replenishment logic to re-order cat food when my supply was low.