Cat Feeder Project - 1.0
(Concept Design, Electrical Circuit Design, Programming, Testing )
Cat Feeder Project - 1.0
(Concept Design, Electrical Circuit Design, Programming, Testing )
The pet feeder (Cat Feeder) is an automated feeding system enables the user to set specific interval of time to control automatic portion control device in which the owner prescribes the amount of food and then there is the variety that ensures that there is a constant amount of food in the feeding cavity at any time.
I have drafted several changes to the product to improve it by either reducing failure or enhancing it with greater functionality.
Version 1.0 Include three different feeding times which can be defined by the user, error checking mechanism Arduino timer is used without any external time keeping mechanism
Arduino timer is used without any external time keeping mechanism
Figure 1: Top View
Figure 2: Front View
Figure 3: Front View
Figure 4: Top View
Figure 5: Front View
Figure 6: Front View
Figure 7: Front View
Figure 8: Front View
Source Code:- https://github.com/Tech2morrow/Pet_Feeder
Code explanation
File Reference
Functions
Variables
Function Documentation
DisplayRemainingTime()
void DisplayRemainingTime()
GetRotation()
void GetRotation(int & data)
lcd()
LiquidCrystal_I2C lcd(0x27 ,16,2)
loop()
void loop()
remainingTime()
void remainingTime(int & hour, int & minute)
sep()
char sep()
setup()
void setup()
Time_input()
void Time_input (int & input_hr, int & input_min, int & input_sec )
update_clock()
void update_clock(int & hours, int & minutes, int & seconds)
Variable Documentation
byte colPins[COLS] = {5, 4, 3, 2}
const byte COLS = 4
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS)
int flag_blink
int flag_hr
int flag_min
int flag_rot
int flag_sec
char hexaKeys[ROWS][COLS]
Initial value: = { {'1', '2', '3', 'A'},{'4', '5', '6', 'B'},{'7', '8', '9', 'C'},{'*', '0', '#', 'D'}}
int HoursCurrent
int HoursFeeder_1
int HoursFeeder_2
int HoursFeeder_3
long inputInt
String inputString
int MinutesCurrent
int MinutesFeeder_1
int MinutesFeeder_2
int MinutesFeeder_3
elapsedMillis MotorRuntime
int rem_hr
int rem_min
int Rotation_Value
byte rowPins[ROWS] = {9, 8, 7, 6}
const byte ROWS = 4
int SecsCurrent
int SecsFeeder_1
int SecsFeeder_2
int SecsFeeder_3
int signalPin = 11
String str
elapsedMillis TotalRuntime