For my final project I want to build a smart cat litter box. I had the idea for quite some time now, so I thought why not use the different things I learn here to realise it.
A picture of my beloved Cats below:
I've made a list of task I want my smart litterbox to fullfill aswell as a small list of optional goals I want to achieve:
In Week 2 I designed a first visualization of how I want my smart litter box to look like:
As you can see, the main material will be wood. I plan on using acrylic for the litter bowl, 3D print the strainer bar and use some light weight material for the streainer itself.
For more information on the applications and implications, the invention, intellectual property and income and the project development iteself, you can look it up here:
Application and implications
Invention, intellectual property and income
Project development
As saig before, at first I designed and visualized my idea in week 2. I did'nt make any changes to teh design until I started working on my final project, thats when I created the motor brackets, reworked the strainer bar and changed my plans for the litter bowl.
In the pictures below you can compare the two versions, but you will see, that not a lot has changed:
After everything was set I started with the woodworking, as the main material of my final will be 18mm plywood.
Most of the large wooden panels were cut an a circular saw, everything else was created using the cnc machine.
I will show you some images and videos of the construction of the main body and the litter bowl:
After the main construction was assabled I started printing the strainer bar, the motor brackets, the mount for the ultrasonic sensor and the atachment for the servo-motor to look the door.
Everything fittet well except for the motor brackets, somehow the fusion model was smaller than my original nema 17 motor, so I used a heatgun to carefully bend material in shape.
Some images of 3D printed parts below:
For my final project I had to create a completly new board. It consists of a ATmega328p and a lot of different extension modules.
My design was this:
Due to me being dumb I forgot to set two pins on my pcb. One is the Chip-Select pin for the RTC-module to function and the other is the serial clock (SCK) pin for the sd-card module. I updated my design and uploaded the newversion into my download sections, so that if anyone wants to rebuild this, they don't have the problem that I had.
My finished board looked like this:
Parts | Type |
ATmega328p | TQFP |
Crystal | 16MHZ |
Resistor | 1 KΩ |
LED | Green |
Capacitor | 100nF |
Capacitor | 15pF |
Button | - |
After my pcb was finhishe I assambled the rest of my smart litterbox. I attached the motor brackets via woodscrews at the bag and via two component epoxy glue to the acrylic front. I used a light weight mesh as the main material of the strainer, attached to two m6 threaded rods, which were screwed nto the strainer bar.
I used two hinges to mount the entrance door and used the laser cutter to create both waste bins.
I then wraped all the cables in wire sleeves and routed the cables to the electrinocs box at the back of my litterbox.
Then I went on to the programming.
The main task of my programm is to coordinate the different modules and manage the data.
It will constantly check if a cat has entered the litterbox by using the ultrasonic sensor. If a cat is detected the load cell will measure the weight and save the data to the sd card, along with the timestamp of the RTC module.
Then it wait's for the cat to leave. If this happens, the system will, as saftey feature, check for 30 seconds, if there is realy no cat inside. If after 30 seconds no cat was detected,the servo motor will turn 90° and locking the entrance door. Note that this loking is also a saftey feature, because the cat cant enter while locked, but can allways leave, if the system check somehow failed.
After the door is locked both Z-Steppers will move the strainer bar to the lower position. Then the strainer stepper motor rotates the strainer through the litter three times in a row.
When finished the strainer will move in the 90° waiting position and the strainer bar will be lifted into the highest position.
The Servo will once again turn and unlock the door, resetting the litterbox.
At every step the bluetooth module will send out data via serial communication, but at the moment there is no app using the data. I used a bluetooth serial app to check if everything works as expected.
The full code is linked down below in the download seciton.
Here is the finished litterbox:
After the code was finished I uploaded it and went on testing and it WORKED!!!: